Undefined function or method 'matrix' for input arguments of type 'double'.
4 次查看(过去 30 天)
显示 更早的评论
Hi there!
I have a problem when trying to solve a system of equations inside a loop like this:
for j=1:iter
syms a positive b positive %a^2=sin(theta1); b^2=cos(theta2)
[solucion_a, solucion_b]=solve(L1*a^2-H-L2*sqrt(1-b^4)+cos(omega*t), L1*sqrt(1-a^4)-V+L2*b^2+sin(omega*t),a,b);
solucion_a=char(solucion_a);
solucion_a=eval(solucion_a);
end
Every single data is correct, except for V. When I do
V=Maximo_valor_V
where Maximo_valor_V is a number previously calculated, everything works propoerly. However, if I do
V=Maximo_valor_V/iter*j
where iter is a number and j comes from the statement of the loop, it occurs this error:
??? Error using ==> eval
Undefined function or method 'matrix' for input arguments of type 'double'.
Error in ==> Sist_Ecuaciones_valido at 90
solucion_a=eval(solucion_a);
In both cases, the data V is given inside the loop. Please, may anyone help me out?
Thanks, Mario
0 个评论
采纳的回答
Walter Roberson
2013-4-1
Do not eval() a symbolic expression. eval() is only for MATLAB code, and symbolic expressions are MuPAD rather than MATLAB.
You should research subs()
0 个评论
更多回答(1 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!