Matlab higher order Bode error
5 views (last 30 days)
Show older comments
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 Comments
Answers (1)
Joshua Long
on 26 Oct 2016
Edited: Joshua Long
on 26 Oct 2016
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
See Also
Categories
Find more on Plot Customization in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!