Octave 将多个答案组合成八度的变量

Octave 将多个答案组合成八度的变量,octave,Octave,考虑: 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 =

考虑:

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
只有一个值

所以我试着:

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
它被做成一根绳子

所以我试着:

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

一定有办法处理多个答案。。。但是怎么问呢?

这个问题最初是关于MATLAB的,而它是关于倍频程的

正如@excaza在评论中所写,这个问题的答案是:

[a, b, c] = textscan('5,6,7', '%d%d%d', 'Delimiter', ','){:};
我为MATLAB编写的第一个答案是:

您需要在textscan中定义三个单独的输出:

如果希望输出为数字而不是文本,可以使用%d:


为什么需要它们作为单独的变量?[a,b,c]是如何在MATLAB中获得多个变量作为输出的,正如您在几乎所有的MATLAB文档页面中所看到的那样。但是,正如您在文档中清楚看到的,texscan不支持将多个分离的变量作为输出。请使用包含三个值的数组的单个变量。使用“%f”或“%d”而不是“%s”进行分析可能会有所帮助。你想要的是数字,而不是字符串。很有效,但当OP有一千个或一百万个数字时,你是如何扩展它的?这不是问题,但为了总体考虑,首先,我回答了这个问题。。。但是你说得对,我也同意,而且已经投票了。。您和其他人对仅处理一个变量的问题的评论。但有时,出于某些原因,我确实需要单独的变量,如果它最多3或4个,而不是数千个…,所以对我来说这听起来很合理…嗯,你可以用b1作为第一个数字,b2作为第二个数字,等等。这里有单独的变量。清晰地阅读,不凌乱你的工作空间,易于使用。是的,这就是我同意你的原因。但是,如果我有一个共享的大代码,例如,它已经有一些参数或变量,我想使用它,所以有时是需要的。@Adiel感谢你的回答,我使用的是Octave而不是Matlab,结果它处理这个问题的方式不同。谢谢你的好意。ans={[1,1]=5}ans=。。。等等。谢谢,我已经回答完这个问题和地点了