请问eval嵌套后为什么会出现生成的矩阵维数不同现象。
12 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
百家乐网站|网址【微8785092】
le 25 Mai 2023
Réponse apportée : 百家乐网站|网址【微8785092】
le 25 Mai 2023
C=[];
S1=1;
S2=2;
S3=3;
S4=4;
for i=1:4
eval(['c',num2str(i),'=',num2str(eval(['S',num2str(i)'])^2)']);
eval(['C=[C c',num2str(i),']']);
end
运行后显示:错误使用 horzcat,要串联的数组的维度不一致。如果改成:
C=[];
for i=1:4
eval(['c',num2str(i),'=',num2str(i)']);
eval(['C=[C c',num2str(i),']']);
end
就没有问题了。
这个程序是用于将读取的数据进行运算后生成结果的行向量,用于下一步运算,因此必须按照第一个程序那样边写,S1/2/3/4是我为了测试程序随便给出的数值,实际是读取数据文件中的值得到,然后进行运算。这个平方的运算也是随便给出的,用于测试程序。
问题简化一下就是:eval函数里怎么写一个函数运算,这个函数的结果需要根据i的循环赋给Ci,同时它的自变量为Si,都与i相关。同时保证ci为一个行向量的元素,将所有ci合成为一个行向量C
0 commentaires
Réponse acceptée
百家乐网站|网址【微8785092】
le 25 Mai 2023
C=[];
S1=1;
S2=2;
S3=3;
S4=4;
for i=1:4
eval(['c',num2str(i),'=',num2str(eval(['S',num2str(i),'^2']))]);
eval(['C=[C c',num2str(i),']']);
end
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!