Using subs on contents of a cell

26 views (last 30 days)
iamShreyans on 12 Nov 2019
Edited: iamShreyans on 17 Nov 2019
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
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.
[X2,Y2,symX,symY] = normalize(X,Y); %#ok
Error in sym/subs (line 145)

Ajay Pattassery on 15 Nov 2019
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.

1 Comment

iamShreyans on 17 Nov 2019