I have a question about matlab bodeplot. I want to draw bodeplot this function .
(1-s/fref) / s * exp (-s/fref);
I made script as follow .
syms s;
fref = 1e6;
num = sym2poly(1-s/fref);
den = sym2poly(s);
ACC1 = tf(num,den);
num = sym2poly(exp(-s/fref));
den = sym2poly(s);
ACC2 = tf(num,den);
ACC3 = ACC1*ACC2;
bode(ACC3,{0.00001,10e13});
but, script have a error. matlap indicate this sentence as a error. ( ??? Error using ==> sym.sym2poly at 31 Not a polynomial. )
In this way, how i should solve the error?

 Respuesta aceptada

David Sanchez
David Sanchez el 15 de Oct. de 2013

1 voto

I forgot to add the solution to your question. Here it is:
% G(s) = (1-s/fref) / s*exp (-s/fref);
G = tf( [-1/fref 1],[1 0],'InputDelay', 1/fref);
bode(G,{0.00001,10e13});
or just
bode(G)
for a more general plot

1 comentario

Wook Hong
Wook Hong el 15 de Oct. de 2013
thanks thanks thanks thanks thanks thanks thanks thanks thanks thanks

Iniciar sesión para comentar.

Más respuestas (1)

David Sanchez
David Sanchez el 15 de Oct. de 2013

0 votos

exp(-s/fref)
is not a polynomial, you can not use sym2pol in that case
num = sym2poly(exp(-s/fref)); % -> not valid

1 comentario

Wook Hong
Wook Hong el 15 de Oct. de 2013
how to make transfer function of exp(-s/fref). impossible?

Iniciar sesión para comentar.

Categorías

Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.

Preguntada:

el 15 de Oct. de 2013

Comentada:

el 15 de Oct. de 2013

Community Treasure Hunt

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

Start Hunting!

Translated by