fsolve problem with syms var
2 views (last 30 days)
shahin hashemi on 23 Dec 2017
i write cod that i want to solve it with fsolve commend
at the end, my equations just contain double parameters but in the middle of my function i must consider some symbolic parameters that i remove them after some calculations
but when i run my function i got error : FSOLVE requires all values returned by functions to be of data type double and point the line i define my symbolic variable but i mention again that my final equation doesnt contain any of those symbolic var
is there any way to my problem
Walter Roberson on 23 Dec 2017
Edited: Walter Roberson on 23 Dec 2017
It is not possible to do what you are asking to do.
I already told you what you need to do to solve this: you need to run your code symbolically, and then use matlabFunction to convert the resulting symbolic expressions to function handles.
More Answers (1)
Matt J on 24 Dec 2017
Edited: Matt J on 24 Dec 2017
but i mention again that my final equation doesnt contain any of those symbolic var
But your final F is generated from calculations with these variables, so they inherit their symbolic type. At no point in your code, do you do anything to convert from symbolic to double. When I run your function on some sample input, I obtain
So, as you can see, your output is still of type sym.
but i remove them after some calculations with "collect" and "coeffs" commend
Nope. The output of these commands are still of type sym. I explained to you here (and you thanked me emphatically) that the commmand double() was the way to convert from sym to double.