For loop with subs

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 个评论

Why would you expect the result of substituting into a 2 x 3 matrix to ever be smaller than 2 x 3?
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

0 个投票

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

类别

帮助中心File Exchange 中查找有关 Programming 的更多信息

提问:

2019-7-14

回答:

2019-7-14

Community Treasure Hunt

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

Start Hunting!

Translated by