mdsk.net
当前位置:首页 >> mAtlAB用gui画BoDE图 >>

mAtlAB用gui画BoDE图

您好,我来为您解答:首先要检查:axes控件的Units属性改为normalizedsel=get(hObject,'Value');a=str2num(get(handles.edit1,'string'));b=str2num(get(handles.edit2,'string'));sys=tf(a,b);axes(handles.axes1);cla;switch sel case 2 step(sys); case 3 bode(sys); case 4 rlocus(sys); case 5 nyquist(sys);end希望我的回答对你有帮助.

看看这个例子:k=100;w=logspace(-1,1,100);wn=5;kosai=[0.1:0.2:2.0]; num=[wn^2];for ii=kosai den=[1 2*ii*wn wn^2];[mag,pha,w1]=bode(num,den,w); hold on;subplot(2,1,1);semilogx(w1,mag);subplot(2,1,2);semilogx(w1,pha);hold off;end

只要知道传函就可以绘制bode图了.用bode(g)就行了.eg.g = tf([1 0.1 7.5],[1 0.12 9 0 0]);bode(g)直接运行就可以了.最后,这与开环闭环没有关系.

用传递函数搭建你的simulink框图 用simulink control design工具箱,设置你模型的输入输出端口,然后画bode图.下图是截图,MATLAB版本不一样可能也没有这个analysis菜单页面,但是在control design.一整个过程涉及到建模和工具箱的基本用法,也不是一两句就能说清楚.可以先看一个getting start的例子.

直接bode(sys)就可以了啊.比如:num=[1 3 5];den=[2 5 7 8 3];sys=tf(num,den);bode(sys);grid on;

bodeplot load iddata1 sys1 = n4sid(z1, 2) % discrete-time IDSS model of order 2 sys2 = n4sid(z1, 6) w = linspace(8,10*pi,256); h = bodeplot(sys1,sys2,w);

步骤一:在matlab主界面中输入命令:ctrlpref;步骤二:系统会打开控制系统工具箱的设置页面;步骤三:把Unit单位改成Hz就好了 最后,祝你成功,我也尝试了很久才弄到的这种方法,那个财富币给的太少了,要不是我人好,才懒得打这么多字,才5财富,fuck.

>> num=[7.8134556574924e-004 1.5290519877676e-001]; den=[7.82e-004 1]; H=tf(num,den); bode(H)>> hold on;>> num=[1.576e010 0 0]; den=[1 1.775e005 1.579e010 2.804e012 2.494e014]; H=tf(num,den); bode(H)

clear all;clc;s=tf('s');g0=传递函数figure;margin(g0);grid on;

rlocus(GS) bode(GS)

网站首页 | 网站地图
All rights reserved Powered by www.mdsk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com