Matlab - Problema con explot en Matlab

 
Vista:

Problema con explot en Matlab

Publicado por Jose Santos (3 intervenciones) el 08/05/2014 20:47:49
Buenas estoy intentando utilziar la función Matlab pero me dá error: "Error using ezplot (line 70)
Input must be a string expression, function name, function handle, or INLINE object.".

La operación es la siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
s=tf('s')
Gr=0.762+0.0434/s;
G=2.5/(50*s^3+112.5*s^2+25.5*s+1);
tfin=20;
Go=series(Gr,G)
Gw=feedback(Go,1)
 
 
syms s
[numGr,denGr]=tfdata(Gr);
Gr_sym=poly2sym(numGr{1,1},'s')/poly2sym(denGr{1,1},'s')
[numG,denG]=tfdata(G);
G_sym=poly2sym(numG{1,1},'s')/poly2sym(denG{1,1},'s')
Go_sym=Gr_sym*G_sym
Gw_sym=Go_sym/(1+Go_sym)
gw_sym=ilaplace(Gw_sym);
figure
ezplot(Gw,[0 tfin]);
title('Pulse characteristics of the closed loop’)
axis auto

Agradecería mucho un poquito de ayuda :)
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 Jorge De Los Santos
Val: 30
Ha disminuido su posición en 12 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Problema con explot en Matlab

Publicado por Jorge De Los Santos (213 intervenciones) el 08/05/2014 21:50:54
Hola José...

El detalle está en que estás intentando graficar una expresión de la clase función de transferencia usando ezplot, cuando los argumentos para ezplot debe ser una expresión de tipo simbólico, quiero creer que en lugar Gw has querido colocar Gw_sym.

Saludos.
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

Problema con explot en Matlab

Publicado por Jose (3 intervenciones) el 08/05/2014 23:44:38
Gracias por responder, pero aun no me sale, si uso gw_sym me da otro error.

Te pongo el código entero con el gw_sym que me has indicado para ver si puedes echarle un vistazo.

Muchisimas gracias!

s=tf('s')
Gr=0.762+0.0434/s;
G=2.5/(50*s^3+112.5*s^2+25.5*s+1);
tfin=20;
Go=series(Gr,G)
Gw=feedback(Go,1)
figure
impulse(Gw);
%Symbolic variables
syms s
[numGr,denGr]=tfdata(Gr);
Gr_sym=poly2sym(numGr{1,1},'s')/poly2sym(denGr{1,1},'s')
[numG,denG]=tfdata(G);
G_sym=poly2sym(numG{1,1},'s')/poly2sym(denG{1,1},'s')
Go_sym=Gr_sym*G_sym
Gw_sym=Go_sym/(1+Go_sym)
%Calculation of the impulse frequency of the inverse Laplace transform
gw_sym=ilaplace(Gw_sym);
figure
ezplot(gw_sym,[0 tfin]);
title('Pulse characteristics of the Closed Loop:’)
axis auto
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
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Problema con explot en Matlab

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 11/05/2014 13:33:55
Estimado usuario.
Gracias por compartir su código.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
clear all
close all
s=tf('s')
Gr=0.762+0.0434/s;
G=2.5/(50*s^3+112.5*s^2+25.5*s+1);
Go=series(Gr,G)
gw=feedback(Go,1)
 
 
syms s
[numGr,denGr]=tfdata(Gr);
Gr_sym=poly2sym(numGr{1,1},'s')/poly2sym(denGr{1,1},'s')
[numG,denG]=tfdata(G);
G_sym=poly2sym(numG{1,1},'s')/poly2sym(denG{1,1},'s')
Go_sym=Gr_sym*G_sym
Gw_sym=Go_sym/(1+Go_sym)
gw_sym=ilaplace(Gw_sym);
step(gw);
title('Pulse characteristics of the closed loop')
axis auto


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
31
32
33
34
35
36
37
38
>> graficar_funcion_de_tranferencia
 
Transfer function:
s
 
 
Transfer function:
        1.905 s + 0.1085
---------------------------------
50 s^4 + 112.5 s^3 + 25.5 s^2 + s
 
 
Transfer function:
                1.905 s + 0.1085
------------------------------------------------
50 s^4 + 112.5 s^3 + 25.5 s^2 + 2.905 s + 0.1085
 
 
Gr_sym =
 
((381*s)/500 + 217/5000)/s
 
 
G_sym =
 
5/(2*(50*s^3 + (225*s^2)/2 + (51*s)/2 + 1))
 
 
Go_sym =
 
(5*((381*s)/500 + 217/5000))/(2*s*(50*s^3 + (225*s^2)/2 + (51*s)/2 + 1))
 
 
Gw_sym =
 
(5*((381*s)/500 + 217/5000))/(2*s*((5*((381*s)/500 + 217/5000))/(2*s*(50*s^3 + (225*s^2)/2 + (51*s)/2 + 1)) + 1)*(50*s^3 + (225*s^2)/2 + (51*s)/2 + 1))
 
>>







Saludos .
JOSE JEREMÍAS CABALLERO
Asesoría online y Presencial en Matlab
programador en matlab
Servicios de programación matlab
[email protected]

Estimados usuarios de Matlab, el correo es para servicios de programación, toda ayuda gratuita es vía foro.


http://matlabcaballero.blogspot.com

http://www.lawebdelprogramador.com/foros/Matlab/1371532-FORMA_DE_APRENDER_MATLAB.html
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

Problema con explot en Matlab

Publicado por Jose (3 intervenciones) el 11/05/2014 22:49:58
Muchas gracias por su ayuda :)
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