MATLAB Answers


How to create a matrix of Matlab Functions out of a symbolic matrix?

Asked by Jose Antonio Aliaga on 11 Jun 2019
Latest activity Answered by madhan ravi
on 11 Jun 2019
Hello. I've got a huge 6x6 symbolic matrix M that can't be just pasted/inlined on a function to substitute values because of its size. I've had some bad experiences with the function subs(), being extremely slow. The recommended alternative is to convert the symbolic expression into a Matlab Function through matlabFunction() and then substitute from it. Given that, I tried:
M = % Huge sym 6x6 matrix
for i = 1:6
for j = 1:6
fM{i,j} = matlabFunction(M(i,j));
Which throws:
Unable to perform assignment because brace indexing is not supported for variables of this type.
I tried many variants but none of them worked. I feel like I'm very far from the solution, if there's any.
Thank you,


Try adding:
fM = cell(6); % before the loop
Note: fM line is missing ")"
[comment moved to answer]
I agree, most likely fM already existed as a non-cell.
That's it Madhan, it works beautifully. Thank you.

Sign in to comment.