【问题标题】:Matlab script for reading a text file is not compatible with Octave用于读取文本文件的 Matlab 脚本与 Octave 不兼容
【发布时间】:2020-02-11 20:57:17
【问题描述】:

要从文本文件导入数据,我使用 MATLAB 中的脚本。我想在 Octave 中运行相同的脚本,但随后出现错误。

我要阅读的文本文件的摘录如下所示:

Rotation angle  Measured distance
-0,342  0,000
-1,440  0,000
-10,422 0,000
-11,574 0,000
-21,060 0,000
-21,528 0,000
-30,402 0,000

以下代码正在读取文本文件:

filename = 'C:\Users\marci\Desktop\Stackoverflow\S4P1_Logfile_160419_1345.txt';   
delimiter = '\t';
startRow = 3;
formatSpec = '%s%s%[^\n\r]';
fileID = fopen(filename,'r');
dataArray = textscan(fileID, formatSpec, 'Delimiter', delimiter, 'TextType', 'string', 'HeaderLines' ,startRow-1, 'ReturnOnError', false, 'EndOfLine', '\r\n');
fclose(fileID);

这是我在 Octave 中收到的错误消息。

error: textscan: unrecognized option 'texttype'
error: called from
    test at line 35 column 11

有人知道如何解决这个错误吗?

【问题讨论】:

  • 您是否尝试过仅删除该选项?只写 dataArray = textscan(fileID, formatSpec, 'Delimiter', delimiter, 'HeaderLines' ,startRow-1, 'ReturnOnError', false, 'EndOfLine', '\r\n');

标签: matlab octave


【解决方案1】:

texttype 不是 Octave 中 textscan 的公认属性之一,请参阅 https://octave.sourceforge.io/octave/function/textscan.html

通过查看MATLAB documentation for textscan,看起来texttype 并没有做太多事情:

我建议将其从函数调用中完全删除。它应该可以工作。

【讨论】:

  • 正如你所建议的,我从函数调用中删除了“TextType”和“string”,现在它正在工作。感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-08-18
  • 2019-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-07
相关资源
最近更新 更多