matlab中批量赋值与声明变量(eval函数)

eval函数是执行字符串代表的语句,就可以通过for构造字符串来批量赋值变量。

R=[1 2 3;
    4 5 6;
    7 8 9];
for i=1:3
    eval(['T',num2str(i),'=','R(i,:)',';']);
end
T1
T2
T3

而如果是想批量声明变量,如符号变量,可以直接用for循环:

for i=1:100
    x(i)=sym (['x',num2str(i)]);
end

如果是需要用i来调用变量,则可以加一个矩阵:

for i=1:100
    x(i)=sym (['x',num2str(i)]);
end

你可能感兴趣的:(matlab,杂录)