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?

 采纳的回答

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 个评论

thanks thanks thanks thanks thanks thanks thanks thanks thanks thanks

请先登录,再进行评论。

更多回答(1 个)

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

1 个评论

how to make transfer function of exp(-s/fref). impossible?

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by