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

BoDE图的mAtlAB程序

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的.

function [magout,phase,w] = bode(a,b,c,d,iu,w)%BODE Bode frequency response of LTI models.%% BODE(SYS) draws the Bode plot of the LTI model SYS (created with% either TF, ZPK, SS, or FRD). The frequency range and number of % points

比较好的方式是你在调用bode函数时不要让它绘图,而是直接返回数据,例如:[mag,phase,w] = bode(sys);如果画出图再想从图中提取信息,虽然也能做到,但要

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

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

figuresubplot(211)semilogx(f,m)subplot(212)semilogx(f,p)

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

%G(s)=10/s(0.5s+1)(0.1s+1) H=tf([10],[0.05 0.6 0.1 0]); bode(H)

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);

1、打开Matlab软件的SimulinkLibrary;如图所示: 2、按FileNewModel,建立新的Model界面 3、绘出传递函数,其中,输入输出点,采用Inport和Outport即可 4、按如下路径点击AnalysisControlDesignLinearAnalysis… 5、弹出如下界面: 6、在AnalysisI/Os中选择“Rootlevelinportsandoutports” 7、在PlotResult中选“NewBode”,执行Linearize,即可得到:

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