mdsk.net
当前位置:首页 >> mAtlAB中画BoDE图的程序 >>

mAtlAB中画BoDE图的程序

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

function H=f_bode(a,eta,b,gamma,w,Gc)%分数阶线性系统的bode图程序%a,b,eta,gamma均为整数,w实值矢量,Gc权重,输出H是frd模型,例如:%a=3;b=1;eta=3;gamma=2;freq = logspace(1,2);w = 0.05*(freq);f_bode(a,eta,b,gamma,w)%a=3;

clear all %卸载变量 clc %清屏幕 s=tf('s') g=26/(s*(s+5)*(s^2/79^2+s*0.4/79+1));%构造开环传函 sys=feedback(g,1);%单位负反馈下的闭环传函 bode(sys);%画闭环伯德图---------------------------------------分割线 上面的程序是按照反馈是单位负反馈的形式写的,如果你的反馈式子比较复杂只需改一下feedback函数即可 g= feedback(g1,g2,sign) g1是前向,g2是反馈.sign=-1或缺省是负反馈, sign=1是正反馈.我写的程序是matlab6.5的.

R=10000; B=3950; T2=273.15+25; syms T1; f=R*exp(B*(1/T1-1/T2)); ezplot(f,[273.15+30:273.15+50]); title('温度曲线'); xlabel('温度T1'); ylabel('电阻R'); T1=[273.15+30:0.1:273.15+50]; result=subs(f,'T1',

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

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

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

您好,我来为您解答:首先要检查: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希望我的回答对你有帮助.

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

画一个1/(2s+3)P=bodeoptions;P.FreqUnits='Hz';num=[1];den=[2 3];G=tr(num,den);bodeplot(G,P);在帮助中搜bodeplot,有更详细的介绍

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