1

考虑以下代码:

data = textscan(fid,'%s%d%d%d%d%f%d%f%f%f%d','Delimiter',',','HeaderLines',28)

我想按如下方式换行:

data = textscan(fid,'%s%d%d%d%d%f%d...
%f%f%f%d','Delimiter',',','HeaderLines',28)

Matlab 不允许这样做,并因为%符号而使第二行成为注释。

我尝试了以下方法:

data = textscan(fid,'%s%d%d%d%d%f%d%...
f%f%f%d','Delimiter',',','HeaderLines',28)

但是现在第二行仍然在第一行之后被注释掉f

如何在%涉及符号的情况下进行续行?

4

2 回答 2

4

您应该使用方括号 ( []) 来分解字符串,如下所示:

data = textscan(fid,['%s%d%d%d%d%f%d%f' ...
'%f%f%d'], 'Delimiter',',','HeaderLines',28)
于 2012-12-10T13:08:30.637 回答
1

顺便说一句,一个经常被忽视的 MATLAB 语法是...行继续标记还打开了行尾的注释,即

x = [ 1, 2, 3, ... This is a comment
      4, 5, 6 ]; %
assert(isequal(x, 1:6))
于 2012-12-10T16:39:57.833 回答