The inbuilt code "bode " is not working

6 views (last 30 days)
I was trying to run the bode.
but it showed this.
Error using DynamicSystem/bode (line 96)
Incorrect number of parameters supplied for 'Controllib:plots:strBodeDiagram'. Expected 0 but found 1.
Error in VOUT_VIN_bode (line 42)
bode(sys)
This is my code: (The project name is VOUT_VIN_bode)
[SL: snipped the code for the bode method of DynamicSystem objects. Please do not post MathWorks function files. I also formatted the code above as code instead of text.]
MATLAB Version: 9.8.0.1396136 (R2020a) Update 3
Java Version: Java 1.8.0_202-b08 with Oracle Corporation Java HotSpot(TM) 64-Bit Server VM mixed mode
How can i fix it???
Can anyone help me to resolve this?
Thank you
  4 Comments
Walter Roberson
Walter Roberson on 27 May 2021
You probably have a function on your path that is interfering with one of the functions used by bodeplot() [which is called by bode()] . It would take a bunch of debugging to figure out exactly where the problem was. Using
dbstop if caught error
would help.
But before you do that, experiment with
restoredefaultpath; rehash toolboxcache
if the code works after that, then definitely something on your MATLAB path is interfering.
jimmygc lin
jimmygc lin on 28 May 2021
Edited: jimmygc lin on 28 May 2021
I run this restoredefaultpath; rehash toolboxcache it didn't work.
after that i run dbstop if caught error And then run my code.
this code is in (matlab\toolbox\shared\controlib\general\+ctrlMsgUtils\message.m)
and then i click continue
this code is in (matlab\toolbox\shared\controlib\general\+ctrlMsgUtils\message.m)
and then i click continue
this code is in (matlab\toolbox\shared\controlib\engine\@DynamicSystem\bodeplot.m)
and then i click continue
this code is in (matlab\toolbox\matlab\helptools\+helpUtils\+csh\helpviewFactory.m)
and then i click continue
this code is in (matlab\toolbox\shared\controlib\engine\@DynamicSystem\bode.m)
and then

Sign in to comment.

Accepted Answer

Star Strider
Star Strider on 27 May 2021
The same code works here, and runs without error, with either bode or bodeplot.
I switched from bode to bodeplot because bodeplot has more options. I also deleted the bode function code here.
L1 = 91.54e-6;
L2 = 91.36e-6;
RL1 = 0.16 ;
RL2 = 0.15 ;
C1 = 0.042996e-6;
C2 = 0.043091e-6;
Rc1 = 0 ;
Rc2 = 0 ;
Lp = 10e-6;
Ls = 10e-6;
RLp = 0 ;
RLs = 0 ;
Cp = 0.35059e-6;
Cs = 0.35059e-6;
Rcp = 0 ;
Rcs = 0 ;
Vin = 3;
w = 2*pi*85e3;
R = 30;
M=8.9e-6;
k = 1/(L1*L2-M^2);
% iLp iLs Vcp Vcs Vc1 Vc2 iL1 iL2
A = [-(RLp+Rcp)/Lp 0 -1/Lp 0 0 0 Rcp/Lp 0
0 -(R+RLs+Rcs)/Ls 0 -1/Ls 0 0 0 Rcs/Ls
1/Cp 0 0 0 0 0 -1/Cp 0
0 1/Cs 0 0 0 0 0 -1/Cs
0 0 0 0 0 0 1/C1 0
0 0 0 0 0 0 0 1/C2
k*L2*Rcp -k*M*Rcs k*L2 -k*M -k*L2 k*M -k*L2*(RL1+Rc1+Rcp) k*M*(RL2+Rc2+Rcs)
-k*M*Rcp k*L1*Rcs -k*M k*L1 k*M -k*L1 k*M*(RL1+Rc1+Rcp) -k*L1*(RL2+Rc2+Rcs)];
B = [1/Lp 0 0 0 0 0 0 0]';
C = [0 R 0 0 0 0 0 0];
D=[0];
A
A = 8×8
1.0e+07 * 0 0 -0.0100 0 0 0 0 0 0 -0.3000 0 -0.0100 0 0 0 0 0.2852 0 0 0 0 0 -0.2852 0 0 0.2852 0 0 0 0 0 -0.2852 0 0 0 0 0 0 2.3258 0 0 0 0 0 0 0 0 2.3207 0 0 0.0011 -0.0001 -0.0011 0.0001 -0.0002 0.0000 0 0 -0.0001 0.0011 0.0001 -0.0011 0.0000 -0.0002
B
B = 8×1
1.0e+05 * 1.0000 0 0 0 0 0 0 0
C
C = 1×8
0 30 0 0 0 0 0 0
D
D = 0
figure(1)
hold on;
sys = ss(A,B,C,D)
sys = A = x1 x2 x3 x4 x5 x6 x7 x8 x1 0 0 -1e+05 0 0 0 0 0 x2 0 -3e+06 0 -1e+05 0 0 0 0 x3 2.852e+06 0 0 0 0 0 -2.852e+06 0 x4 0 2.852e+06 0 0 0 0 0 -2.852e+06 x5 0 0 0 0 0 0 2.326e+07 0 x6 0 0 0 0 0 0 0 2.321e+07 x7 0 0 1.103e+04 -1074 -1.103e+04 1074 -1765 161.2 x8 0 0 -1074 1.105e+04 1074 -1.105e+04 171.9 -1658 B = u1 x1 1e+05 x2 0 x3 0 x4 0 x5 0 x6 0 x7 0 x8 0 C = x1 x2 x3 x4 x5 x6 x7 x8 y1 0 30 0 0 0 0 0 0 D = u1 y1 0 Continuous-time state-space model.
opts = bodeoptions;
opts.Grid = 'on';
bodeplot(sys, opts) % ---------------This is the (line 42)
I do not advise copying the code for bode or any other MATLAB functions and including them with your own code, since they likely have other dependencies that they may not be able to easily locate from the directories that run your code. Run them as functions from the directories where they were installed. If the code you posted is the code that threw the error, this could be the problem.
.
  9 Comments

Sign in to comment.

More Answers (0)

Categories

Find more on Get Started with Control System Toolbox in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!