Matlab - convertir de simbólico a numérico con solve

 
Vista:

convertir de simbólico a numérico con solve

Publicado por pramos (1 intervención) el 08/12/2014 18:24:51
Hola gente, soy nueva en esto y estoy con un problema que creo que es una pavada resolverlo, pero doy vueltas y vueltas y no logro encontrarle solución, espero puedan ayudarme, desde ya mil gracias por preocuparse en resolverlo.
Lo que quiero hacer es ir cambiando los valores de un vector mediante un for para luego ponerlo en un Solve y a partir de ahí seguir haciendo otros cálculos.
Les paso un pequeño fragmento del código que estaba haciendo y que tiene el problema.;

close all
clear all
clc

%se pide: seguimiento asintótico de referencias y perturbaciones constantes
%respuesta a la referencia con SOBREVALOR Ysob<5%
%respuesta a la referencia con SUBVALOR Ysub<10%
%Tiempo de establecimiento al 2% en la respuesta a la referencia Te2%<6seg
%r(t)=1 a t=0seg,
%perturbación escalón de salida do(t)=0.2 en t=8seg
%perturbación escalón de entrada di(t)=0.5 en t=14seg

syms p1 p2 lo l1 l2 s

bo=[-1 3];ao=[1 6 9];
%porcentaje del Te 2%
porc=0.02;
te=5;
Mp=0.05;

% VER DESPUÉS S1=solve('log(Mp)=-(pi*psi)/(sqrt(1-psi^2))')

% VER DESPUÉS S2=solve('S1.psi*wn*te=log(porc)')

psi=0.69;
wn=1.13;
Alc_dinamica=[1 2*psi*wn wn^2]


a=1:1:5;
color={'b','k','r','m','g'};
i=1;

%acá separé la función solve para ver si podía encontrar la solución separada, sé que hay otra forma + resumida ;-)
y=solve('3*po=h','po')
u=solve('3*lo-po+3*p1=g')
z=solve('lo+3+p1=f')

for ii=1:1 %pongo en 1 para hacer + corto el loop

%distintos polos para ver mejor respuesta
comp=[1 a(ii)];

%Q1=expand((s^2+3*s)*(l1*s+lo)+(-s+3)*po)

Q2=conv(Alc_dinamica,comp)

f=Q2(2)
g=Q2(3)
h=Q2(4)


end
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder