Error using subs function of Symbolic Math toolbox

I am using the following code to generate data to use in Non linear Least Square Estimation
syms a b S
f=@(a,b,S) a+a*b + b*S;
Data =[ ];
for i = 1:10
Data =[Data ; [i, subs(f, [a,b,S], [1,2,i])] ];
end
Error using subs
Expected input number 1, S, to be one of these types:

sym

Instead its type was function_handle.

Error in sym/subs (line 69)
validateattributes(F, {'sym'}, {}, 'subs', 'S', 1);
When I run these I get the following error.
Expected input number 1, S, to be one of
these types:
sym
Instead its type was function_handle.
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 sym before using subs but this sill doesn't seem to work.
My MATLAB version is 2019b

 Accepted Answer

Use Torsten's suggestion, or
syms a b S
f(a,b,S) = a+a*b + b*S;
Data =[ ];
for i = 1:10
Data =[Data ; [i, f(1,2,i)] ];
end
Data
Data = 
Or more simply
Data = [1:10; f(1,2,1:10)].'
Data = 
Is it certain that sym objects and math is needed here at all?

More Answers (0)

Asked:

on 29 Dec 2021

Answered:

on 29 Dec 2021

Community Treasure Hunt

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

Start Hunting!