Using subs on contents of a cell
2 次查看(过去 30 天)
显示 更早的评论
I have a cell 'I' which is defined as,
I = {I1,I2};
where, I1 and I2 are syms variables
At some point later, I wish to substitute the values of both I1 and I2 with a sym 4x4 matrix named I_val. For this, I wrote the following code,
I = subs(I,[I1,I2],[I_val,I_val]);
But I'm getting the following error,
Error using subs
Expected input number 1, S, to be one of these types:
sym
Instead its type was cell.
Error in sym/subs (line 60)
validateattributes(F, {'sym'}, {}, 'subs', 'S', 1);
I don't understand which at which part I'm making mistake. I even tried by converting cell 'I' to a sym before using subs but this sill doesn't seem to work
I = subs(cell2sym(I),[I1,I2],[I_val,I_val]); %Converting cell 'I' to sym
%The error that I'm getting
Error using sym/subs>normalize (line 226)
Inconsistency between sizes of second and third arguments.
Error in sym/subs>mupadsubs (line 157)
[X2,Y2,symX,symY] = normalize(X,Y); %#ok
Error in sym/subs (line 145)
G = mupadsubs(F,X,Y);
0 个评论
采纳的回答
Ajay Pattassery
2019-11-15
You can substitute I1 with I_val and I2 with I_val seperately.
I = subs(cell2sym(I),I1,I_val);
But once you do substitution with I1, the I matrix will be resized automatically since your I_val is of different dimension comapred to I1. Hence you need to look at the resultant I matrix and need to change I_val to get required result.
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!