MATLAB: Symbolic subs vectorized form

substitutionsymbolicSymbolic Math Toolboxvectorized

Hi there,
what does work is:
syms a b
vals = [4 5];
subs(a + b, [a, b], vals);
This returns 9 as expected.
What I'm trying to do is
syms a b
vals = [4 5; 6 7];
subs(a + b, [a, b], vals);
With the expected result of 9; 13.
Some technical framework:
The result does not need to be symbolic, if this does matter, I'm using vpa(subs(…)) anyway. The problem is: I have a symbolic solution of a large equation, where I want to replace parameters to gain the numeric value of the solution. The (symbolic) solution is also long and complicated, so that substituition in a loop lasts quite long.
Is there a way to define a vector with known parameters to pass it to subs/vpa (?) so that the numerical evaluation takes place only once?

Best Answer

  • Ok... found the solution now. It is listed in the help
    under the section
    Substitute Multiple Scalars with Arrays
    sorry for noise.