Matlab中for
循环的一般语法是:
for j = 1 to 5
%body
end
我希望有一个变量,其值在运行时计算,具体取决于用于控制for
循环运行次数的用户输入。
所以我希望:
m = input('Some Message');
n = ....% Some Calculations using user input 'm'
for j = 1 to n
%body
end
我尝试了这个,但收到了错误 -
Undefined function 'to' for input arguments of type 'char'.
Matlab将变量n
视为字符而不是变量。
答案 0 :(得分:4)
错误消息似乎非常易读。这不是有效的Matlab语法。你会像这样编写一个n循环的for循环
m = input('Some Message: ');
if strcmp(m, 'foo')
n = 7;
else
n = 5;
end
for j = 1:n
fprintf('%d\n', j);
end
答案 1 :(得分:3)
实际上,您是否尝试过这种语法:
for j=1:n
%body
end
我在docs中没有看到“to”这个词。所以你上面的for循环语法不是有效的Matlab语法。另一件需要考虑的事情是,n被解释为一个字符,而不是一个数字。