Matlab higher order Bode error

2 次查看(过去 30 天)
ANIL ALAN
ANIL ALAN 2016-10-24
评论: ANIL ALAN 2016-10-27
Hey,
I searched the site for this problem, people asked same questions, however I couldn't find any working answer for my problem.
The problem is, when I try to draw a Bode plot of second or higher order such as,
>> G=tf([1], [1 1 1]);
>> bode(G)
I get an error message saying
Error using +
Matrix dimensions must agree.
Error in freqgrid>psum (line 387)
p = [zeros(1,l2-l1) p1] + [zeros(1,l1-l2)
p2];
Error in freqgrid>LocalAddPhaseExtrema
(line 349)
rhs1 =
psum(conv(d1,d2),2*[psum(conv(polyder(d2),d1),-conv(polyder(d1),d2))
0]);
Error in freqgrid (line 138)
w = LocalAddPhaseExtrema(w,z{1},p{1});
Error in ltipack.ltidata/freqresp (line
45)
w = freqgrid(z,p,Ts,Grade,Focus);
Error in resppack.ltisource/magphaseresp
(line 34)
[mag,phase,w,FocusInfo] =
freqresp(SysData(ct),grade,wspec,true);
Error in wavepack.waveform/draw (line 25)
feval(this.DataFcn{:});
Error in wrfc.plot/draw (line 17)
draw(wf)
Error in
wrfc.plot/init_listeners>LocalRefreshPlot
(line 79)
draw(this)
Warning: Error occurred while evaluating
listener callback.
> In DynamicSystem/bodeplot (line 140)
In DynamicSystem/bode (line 95)
"Bode" command works for first order transfer functions though.
Can you explain what is the problem ?
Thanks in advance
  3 个评论
ANIL ALAN
ANIL ALAN 2016-10-25
Hi Star Strider,
Actually that is the main problem, because it is a simple command and should work, but it doesn't ! I tried this on R2015a and R2015b on same computer but kept giving the error. When I used a friend's PC it worked like your try. Is something wrong with any of PC settings ?
Anıl

请先登录,再进行评论。

回答(1 个)

Joshua Long
Joshua Long 2016-10-26
编辑:Joshua Long 2016-10-26
This error can occur if the "draw.m" function used to draw the Bode plot is corrupted or if a defined function is getting higher priority over the default system defined function.
To resolve this issue please execute the following commands in you MATLAB command prompt and restart MATLAB:
>> rehash toolboxcache
>> restoredefaultpath
>> savepath
  1 个评论
ANIL ALAN
ANIL ALAN 2016-10-27
Hi,
Thank you for the answer.
When I run the command
restoredefaultpath
it gives the warning
Warning: Duplicate directory name:
C:\Program
Files\MATLAB\R2015b\toolbox\stateflow\stateflow
> In restoredefaultpath (line 52)
And nothing changed. What is the meaning, please ? And what should I do next ?
Anıl

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Get Started with Control System Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by