Undefined function or method 'matrix' for input arguments of type 'double'.

1 view (last 30 days)
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

Accepted Answer

Walter Roberson
Walter Roberson on 1 Apr 2013
Do not eval() a symbolic expression. eval() is only for MATLAB code, and symbolic expressions are MuPAD rather than MATLAB.
You should research subs()

More Answers (1)

Mario
Mario on 2 Apr 2013
Thanks a lot. That was quite helpful!!

Community Treasure Hunt

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

Start Hunting!