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?

 채택된 답변

David Sanchez
David Sanchez 2013년 10월 15일

1 개 추천

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

Wook Hong
Wook Hong 2013년 10월 15일
thanks thanks thanks thanks thanks thanks thanks thanks thanks thanks

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

David Sanchez
David Sanchez 2013년 10월 15일

0 개 추천

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

댓글 수: 1

Wook Hong
Wook Hong 2013년 10월 15일
how to make transfer function of exp(-s/fref). impossible?

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

질문:

2013년 10월 15일

댓글:

2013년 10월 15일

Community Treasure Hunt

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

Start Hunting!

Translated by