For loop with subs

6 次查看(过去 30 天)
Ali Tawfik
Ali Tawfik 2019-7-14
回答: TADA 2019-7-14
Hi All,
I have been trying to to have three different matrix based on the values of y , z, however, it's strange, the output matrix of mat is not 1*3 its 4*9 ?
Why can not I have three different matrices (1*3)?
syms l1 l2 real;
x=[2,3,4];
mat=[1 2 3;l1 2 l1];
mat=subs(mat,{l2})
for i=1:3
y=x(i)+1;
z=[1 2 3;4 5 y];
subs(mat,{l1,l2},{y,z})
end
  2 个评论
Walter Roberson
Walter Roberson 2019-7-14
Why would you expect the result of substituting into a 2 x 3 matrix to ever be smaller than 2 x 3?
Ali Tawfik
Ali Tawfik 2019-7-14
Hi Walter,
Thanks for your reply.
I did not say I expect matrix smaller than 2* 3, I said, I would expect the same size, however, the output result is different and bigger ?
So could you please help me ?
Thanks

请先登录,再进行评论。

回答(1 个)

TADA
TADA 2019-7-14
You are setting a 2x3 matrix into l2, which duplicates mat for all possible substitutions
2x3 times 2x3 = 4x9

类别

Help CenterFile Exchange 中查找有关 Programming 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by