Matlab - Igualar dos vectores

 
Vista:
sin imagen de perfil

Igualar dos vectores

Publicado por henry (2 intervenciones) el 11/02/2017 17:35:44
Buen dia, estoy haciendo un programa que halle unas constantes, para ello necesito igualar dos polinomios, el deseado y el característico.

hallé los coeficientes de los dos polinomios lo que resultó en dos vectores uno numérico y otro simbólico. mi pregunta es cómo puedo igualar las posiciones de los dos vectores para luego hallar las constantes usando solve.

he intentado haciendo:
1
e1='Pc(1)==Pd(1)'

pero no funciona, si tienen otra idea de como hacerlo se los agradeceria.

Gracias.
1
2
3
4
5
6
7
8
Pd=(s^2+2*Zd*wn*s+wn^2)*((s+10*Zd*wn)^2);
Pd=coeffs(Pd,s)
 
 
K =[k1 k2 k3 k4]; %contantes que voy a hallar
 
Pc=simplify(det((s*I)-(A-(B*K))))
Pc=coeffs(Pc,s)
Captura
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
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 8.086
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Igualar dos vectores

Publicado por JOSE JEREMIAS CABALLERO (5779 intervenciones) el 12/02/2017 03:20:24
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
clear all
syms s
Zd=rand; wn=rand;
A=rand(4,4); B=rand(4,1);
Pd=(s^2+2*Zd*wn*s+wn^2)*((s+10*Zd*wn)^2);
Pd=vpa(coeffs(Pd,s),4)
syms k1 k2 k3 k4
I=rand(4);
K =[k1 k2 k3 k4]; %contantes que voy a hallar
Pc=simplify(det(s*I-A+B*K));
Pc=vpa(coeffs(Pc,s),4)
ec1=Pc(1)-Pd(1);
ec2=Pc(2)-Pd(2);
ec3=Pc(3)-Pd(3);
ec4=Pc(4)-Pd(4);
ec5=Pc(5)-Pd(5);
 
[k1,k2,k3,k4] = solve([ec1, ec2,ec3,ec4], [k1,k2,k3,k4])

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
>> comparacion_de_polinomios
 
Pd =
 
[ 3.456, 6.999, 11.69, 6.239, 1.0]
 
 
Pc =
 
[ 0.09361*k2 - 0.01005*k1 - 0.09127*k3 + 0.05426*k4 - 0.09471, 0.04563*k3 - 0.02047*k2 - 0.05392*k1 + 0.1966*k4 - 0.01902, 0.04781*k1 - 0.03421*k2 + 0.08198*k3 - 0.07147*k4 + 0.06604, 0.002117*k1 - 0.001775*k2 + 0.00979*k3 - 0.005663*k4 - 0.02705, -0.001038]
 
 
k1 =
 
-1026.7990552454060616501721480426
 
 
k2 =
 
939.80210165087006944128254341121
 
 
k3 =
 
834.83583720619668324830100197539
 
 
k4 =
 
-341.72828705632863555265118319006


Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab


http://matlabcaballero.blogspot.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Igualar dos vectores

Publicado por henry (2 intervenciones) el 12/02/2017 04:05:55
Muchas gracias, aplique los cambios y funcionó perfecto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar