Matlab higher order Bode error

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

Your code:
G=tf([1], [1 1 1]);
bode(G)
runs without error for me in R2016b, and produces the appropriate plot.
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
Hi Anil,
It’s time for you to Contact Support.

Sign in to comment.

Answers (1)

Joshua Long
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

1 Comment

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

Sign in to comment.

Categories

Asked:

on 24 Oct 2016

Commented:

on 27 Oct 2016

Community Treasure Hunt

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

Start Hunting!