Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

New to MATLAB?

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

Asked by Mario

Mario

on 1 Apr 2013
Accepted Answer by Walter Roberson

Walter Roberson

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 Comments

Mario

Mario

Products

No products are associated with this question.

2 Answers

Answer by Walter Roberson

Walter Roberson

on 1 Apr 2013
Accepted answer

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 Comments

Walter Roberson

Walter Roberson

Answer by Mario

Mario

on 2 Apr 2013

Thanks a lot. That was quite helpful!!

0 Comments

Mario

Mario

Contact us