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

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

 Akzeptierte Antwort

Walter Roberson
Walter Roberson am 1 Apr. 2013

0 Stimmen

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

Weitere Antworten (1)

Community Treasure Hunt

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

Start Hunting!

Translated by