考虑:
textscan('5,6,7', '%s', 'Delimiter',','){1}{1:3}
ans = 55
ans = 66
ans = 77
出色!现在我希望这三个答案在不同的变量中,或者我可以用一些结构来做。
所以我试试:
X = textscan('55,66,77', '%s', 'Delimiter',','){1}{1:3}
X = 55
只有一个值。
所以我试试:
X = [textscan('55,66,77', '%s', 'Delimiter',','){1}{1:3}] '
X = 556677
它把它变成了一个字符串。
所以我试试:
X Y Z = textscan('55,66,77', '%s', 'Delimiter',','){1}{1:3}
^
syntax error
必须有某种方法来处理多个答案......但是如何处理?
答案 0 :(得分:2)
这个问题最初被错误地问及关于MATLAB的问题,而关于Octave。
正如@excaza在评论中所写的那样,问题的答案是:
[a, b, c] = textscan('5,6,7', '%d%d%d', 'Delimiter', ','){:};
我为MATLAB使用而写的第一个答案是:
您需要在textscan
:
a = textscan('5,6,7', '%s%s%s', 'Delimiter', ',');
[b, c, d] = a{:}
b =
'5'
c =
'6'
d =
'7'
如果您希望输出为数字而不是文本,则可以使用%d
:
a = textscan('5,6,7', '%d%d%d', 'Delimiter', ',');
[b, c, d] = a{:}
b =
5
c =
6
d =
7