Nonscalar arrays of function handles are not allowed; use cell arrays instead.
5 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Tevel Hedi
el 9 de Abr. de 2022
syms o p
fun1=o+p;
fun2=o*p+5;
eq1=matlabFunction(fun1);
eq2=matlabFunction(fun2);
bbb=fsolve(@(o,p) [eq1;eq2],[0,1]);
What am I doing wrong?
0 comentarios
Respuesta aceptada
Steven Lord
el 9 de Abr. de 2022
You need to evaluate the function handles in your fsolve call. Alternately you could skip converting the symbolic expressions into function handles and use solve.
syms o p
fun1=o+p;
fun2=o*p+5;
eq1=matlabFunction(fun1);
eq2=matlabFunction(fun2);
bbb=fsolve(@(op) [eq1(op(1), op(2));eq2(op(1), op(2))],[0,1]) % or
bbb2 = solve(eq1, eq2, o, p)
vpa(bbb2.o, 5)
vpa(bbb2.p, 5)
0 comentarios
Más respuestas (2)
David Hill
el 9 de Abr. de 2022
Why use symbolic and convert?
fun=@(x)[x(1)+x(2);x(1)*x(2)+5];
x=fsolve(fun,[0,1]);
Ver también
Categorías
Más información sobre Symbolic Math Toolbox en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!