⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dmybodebb.m

📁 详细介绍了Mathlab的使用方法与技巧
💻 M
字号:
%if dfadeback==2
%      dmybodebb
%   else
%   if bodeabcd==1
   dwindbodeb=figure('color',[.1,.7,.8],'position',[0.1*winw,0.1*winh,0.8*winw,0.8*winh],...
       'name','开环离散系统闭环Bode图分析','numbertitle','off','menubar','figure',...
       'resize','off');
 %end
 %if bodeabcd==0;
 %   figure(dwindbodeb)
 %end
% bodeabcd=0;
dn=length(da);
for i=1:dn
   de(i,i)=1;
end  
dsysb=dss(da,db,dc,dd,de,dhT);       
ddpb=pole(dsysb);
dii=find(abs(ddpb)>=1);dn1=length(dii);
[mag,phase,dw]=bode(dsysb);
%subplot(2,1,1);
%subplot(2,1,1);plot(dw,mag(:,:,3));
grid on;hold on
%subplot(2,1,2);plot(dw,phase(:,:,3));
bode(dsysb);hold on
grid on;hold on
%if bodeabcd==1
ylabel('相位/deg                       幅值/db');
%legend('离散系统闭环Bode图之幅值图',2);
%end
%subplot(2,1,2);
%semilogx(w,phase);hold on
%grid on;
%if bodeabcd==1
%legend('系统闭环Bode图之相位图',1); 
%end
%rr1=size(bnum);
%rr2=size(bden);
%finderr=0;
%判断是否为比例环节
%if ((rr1(1,2)==1)&(rr2(1,2)==1)),
%   finderr=1;
%   strtext=[' 这是比例环节,零频值A(0)=' num2str(knum/kden) ' 复现频率Wm ,谐振频率Wr ,载止频率Wb 趋向于无穷!谐振峰值Mr =1 '];
%   title(strtext);
%   mybode123
%else,
%判断是否为积分环节
%findjf1=0;
%findjf2=0;
%for i=1:1:rr1(1,2)-1
%   if knum(1,i)==0,
%   else,findjf1=1;break;
%   end
%end
%if kden(1,rr2(1,2))==0,
%   for i=1:1:rr2(1,2)-2
%     if kden(1,i)==0,
%     else,findjf2=1;break;
%     end
%   end
%else,
%   findjf2=1;
%end
%if (findjf1==0&findjf2==0),
%   finderr=1;
%   strtext=[' 这是积分环节,零频值A(0)=无穷大,无谐振峰值Mr, 复现频率Wm ,谐振频率Wr ,载止频率Wb 无意义,斜率为-20db/dec'];
%   title(strtext);
%   mybode123
%end
%end
%if finderr==0,
%求频率响应函数
%[z p]=tf2zp(bnum,bden);
%ii=find(real(p)>0);n1=length(ii);
%if (n1<=0),%系统稳定
%  syms x w;
%  l1=poly2sym(knum,'s');l2=poly2sym(kden,'s');
%  fu=symop(l1,'/',l2);gu='j*w';gu1='-abs(w)';gu2='imag(w)/real(w)';gu3='atan(w)';gu4='abs(w)';
%  fun1=compose(fu,gu,'s','w');
%  fun2=compose(l2,gu,'s','w');
%  fun2=compose(gu1,fun1);
%  fun3=compose(gu2,fun1);
%  fun4=compose(gu3,fun3);
%  fun5=compose(gu4,fun1);
%  cmagfun=subs(fun2,'x','w');
%  cphasefun=subs(fun4,'x','w');
%  cphasefun=subs(cphasefun,'x','w');
%  cphasefun=subs(cphasefun,'x','w');
%  magfun=fun5;
%  phasefun=fun4;
%  magfun1=numeric(subs(fun2,'0','w'));
%  if numeric(subs(fun2,'0','w'))==0
%     mybode1234
%  else,
%     mybode123
%     a0=numeric(subs(magfun,'0','w'));
%  [numlength1 numlength2]=size(bnum);
%  [denlength1 denlength2]=size(bden);
%  l3=['('];
%  for i=1:numlength2-1
%     l3=[l3 num2str(bnum(1,i)) '*(j*x)^' num2str(numlength2-i) '+'];
%  end;
%  l3=[l3 num2str(bnum(1,numlength2)) ')'];
%  l4=['('];
%  for i=1:denlength2-1
%     l4=[l4 num2str(bden(1,i)) '*(j*x)^' num2str(denlength2-i) '+'];
%  end;
%  l4=[l4 num2str(bden(1,denlength2)) ')'];
%  l5=[l3 '/' l4];
%  cmagfun=['-1*abs(' l5 ')'];
%  wbmagfun=['abs(' l5 ')-0.707*' num2str(a0)];
%  wmmagfun=['abs((abs(' l5 ')-' num2str(a0) ')/' num2str(a0) ')-0.02'];
%&&&&&&&&&&&&&
%uicontrol(windbode,'style','push','string','零频值A(0)',...
%       'position',[0.06,0.01,0.11,0.05],'units','normalized',...
%      'callback','mybodepre_a0');
%uicontrol(windbode,'style','push','string','复现频率Wm',...
%       'position',[0.23,0.01,0.11,0.05],'units','normalized',...
%      'callback','mybodepre_wm');
%uicontrol(windbode,'style','push','string','谐振频率Wr及谐振峰值Mr',...
%       'position',[0.4,0.01,0.2,0.05],'units','normalized',...
%      'callback','mybodepre_mr');
%uicontrol(windbode,'style','push','string','载止频率Wb',...
%       'position',[0.66,0.01,0.11,0.05],'units','normalized',...
%      'callback','mybodepre_wb');
%uicontrol(windbode,'style','push','string','结束',...
%       'position',[0.83,0.01,0.11,0.05],'units','normalized',...
%       'callback','closebode');
%    end
%else,
%   strtext=['系统不稳定,系统指标 A(0) , Wm , Wr , Mr , Wb 无法计算'];title(strtext);%系统不稳定
%   mybode1234
%end
%  end
%else
%   abcdefg=0;
%   mfksys=tf(knum,kden);
%   ltiview('bode',mfksys)
%end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -