东南大学自控实验五:MatlabSimulink仿真实验 - 副本

时间:2024.4.20

实验五 Matlab/Simulink仿真实验

一、     实验目的:

1.学习系统数学模型的多种表达方法,并会用函数相互转换。

2.学习模型串并联及反馈连接后的系统传递函数。

3.掌握系统BODE图,根轨迹图及奈奎斯特曲线的绘制方法。并利用其对系统进行分析。

4.掌握系统时域仿真的方法,并利用其对系统进行分析。

二、预习要求:

    借阅相关Matlab/Simulink参考书,熟悉能解决题目问题的相关Matlab函数。

三、实验内容及结果:

1.已知H(s)=,求H(s)的零极点表达式和状态空间表达式。

程序为:

> num=[0.05,1];

>> den=[0.02,0.3,1];

零极点:

>> s=tf(num,den);

>> [z,p,k]=tf2zp(num,den)

z =

   -20

p =

   -10

    -5

k =

2.5000

状态空间:

>> [r,p,k]=residue(num,den)

r =

   -5.0000

    7.5000

p =

   -10

    -5

k =

     []

>> [A,B,C,D]=tf2ss(num,den)

A =

   -15   -50

     1     0

B =

     1

     0

C =

    2.5000   50.0000

D =

     0

零极点表达式:

状态空间矩阵:

2.已知

(1)    求两模型串联后的系统传递函数。

(2)  求两模型并联后的系统传递函数。

(3)  求两模型在负反馈连接下的系统传递函数。

程序为:

num1=[1,5];

>> den1=[1,3,2,0];

>> s1=tf(num1,den1)

Transfer function:

      s + 5

-----------------

s^3 + 3 s^2 + 2 s

>> num2=[1];

>> num3=[1,1];

>> s2=tf(num2,num3)

Transfer function:

  1

-----

s + 1

串联:

>> series(s1,s2)

Transfer function:

          s + 5

-------------------------           

s^4 + 4 s^3 + 5 s^2 + 2 s   

并联:

parallel(s1,s2)

Transfer function:

  s^3 + 4 s^2 + 8 s + 5

-------------------------              

s^4 + 4 s^3 + 5 s^2 + 2 s

负反馈:

>> feedback(s1,s2)

Transfer function:

        s^2 + 6 s + 5

-----------------------------

s^4 + 4 s^3 + 5 s^2 + 3 s + 5

两模型串联后的系统传递函数:

两模型并联后的系统传递函数:

两模型在负反馈连接下的系统传递函数:

3.作出上题中H1(s)的BODE图,并求出幅值裕度与相位裕度。

程序为(接2题):

>> bode(s1),grid on

从图上竖直的两组数据(图上的四个点)可以看出:

传递函数的幅值裕度为9.58;相位裕度为20度。

4.给定系统开环传递函数为,绘制系统的根轨迹图与奈奎斯特曲线,并求出系统稳定时的增益K的范围。

程序为:

>>num4=[1];

>> num5=[1,4,9,10];

>> s3=tf(num4,num5)

Transfer function:

          1

----------------------

s^3 + 4 s^2 + 9 s + 10

>> rlocus(s3)

根轨迹图:

通过根轨迹图可以看出,系统稳定的K 的范围是0<K<26。

奈奎斯特曲线:

5.对内容4中的系统,当K=10和40时,分别作出闭环系统的阶跃响应曲线,要求用Simulink实现。

   (1)K=10时:

  

由阶跃响应曲线可以看出系统是稳定的。

(2)K=40时:

由阶跃响应曲线可以看出此时系统发散,不稳定。


第二篇:Matlab仿真及其应用66


温州大学物理与电子信息工程学院

 Matlab仿真及其应用 实验报告

 


实验名称:实验三 Matlab基本编程操作

实验目的:

1、 熟悉Matlab的脚本编写

2、 熟悉Matlab的函数编写

3、 书写Matlab的变量使用

4、 熟悉Matlab的程序控制结构

实验内容:

1. 分别选用if或switch结构实现函数表示

2. 根据近似计算指数,当与指数函数的误差小于0.01时停止,分别用for和while 结构实现。

3. 迭代计算,给出可能的收敛值,并给出不同收敛对应的处置范围。

4. 在第3题的代码中增加try和catch控制块,以避免出现的情况

5. 从键盘输入数值,迭代计算


实验结果及分析:

1、分别选用if或switch结构实现函数表示

新建M-file

编写程序

function y=function1(x,a)

        if x<=-a

            y=-1;

        elseif -a<x&&x<a

                y=x/a;

            else

                y=1;

            end

保存后在命令窗口键入y=function1(1,5)

运行结果:

Switch实现:

function y=function1(x,a)

 switch x

   case x<=-a

            y=-1;

   case    -a<x&&x<a

                y=x/a;

     otherwise  

               y=1;

            end

保存后在命令窗口键入y=function1(1,5)

运行结果:

>> y=function1(1,5)

y =

    0.2000

2、根据近似计算指数,当与指数函数的误差小于0.01时停止,分别用for和while 结构实现。

用for 结构实现:

用for结构:

function y=function3(x)

y=1;t=1;a=x;m=y+x;

for i=1:inf

if (m-y)>=0.00001

    y=y+a/function1(t);

    a=a*x;

    t=t+1;

    m=y+a/function1(t);

else

    break;

end

end

end

function y=function1(n)

    y=1;

    for i=1:1:n

        y=y*i;

    end

end

运行结果:

用while 结构实现:

function y=function1(x)

          y=1;i=1;a=1;

        while abs(a*(x/(i+1)-1))>0.00001|i<10

             a=1;

        for i=1:1:i

            a=a*x;

            a=a/i;

        end

            y=y+a;

              i=i+1;

        end

运行结果:

3、迭代计算,给出可能的收敛值,并给出不同收敛对应的处置范围。

function y=function3(x)

 x0=x/2;

 x1=3/(x0+2);

 while abs(x0-x1)>=0.00001

x0=x1;

    x1=3/(x0+2);

    x1

end

4、在第3题的代码中增加try和catch控制块,以避免出现的情况

function y=function4(x)

 x0=x/2;

 x1=3/(x0+2);

 while abs(x0-x1)>=0.00001

x0=x1;

    x1=3/(x0+2);

    try

        x0=-2;

    catch

        disp('error');

    end

end

5、 从键盘输入数值,迭代计算

function function5()

x=input('input a number:');

 x0=x/2;

 x1=3/(x0+2);

 while abs(x0-x1)>=0.00001

x0=x1;

    x1=3/(x0+2);

    x1

end

运行结果

>> function5()

input a number:5

x1 =

    1.1250

x1 =

    0.9600

x1 =

    1.0135

x1 =

    0.9955

x1 =

    1.0015

x1 =

    0.9995

x1 =

    1.0002

x1 =

    0.9999

x1 =

    1.0000

x1 =

    1.0000

x1 =

    1.0000

评定成绩:

更多相关推荐:
4AUnit4Icanplaybasketball 课堂实录

4AUnit1Icanplaybasketballperiod1执教海门市三厂小学薛琳瑛Step1WarmingupampPrereadingTClassbeginsGoodafternoonboysandgi...

四年级英语上册Unit4Icanplaybasketball第一课时教案

Unit4Icanplaybasketball第一课时Storytime教学内容义务教育教科书英语四年级上册Unit4Icanplaybasketball第一课时Storytime一教学重点1能听懂会说会读会写...

4AUnit4 I can play basketball 第一课时

凤凰小学备课笔记母案

Unit 4 I can play basketball

白云学校20xx20xx学年度第一学期四年级英语教案Unit4Icanplaybasketball教材学情分析本单元主要学习如何询问他人是否会做某项运动要求学生会说一些体育运动及一些表示动作的单词basketb...

Module 6 unit2 I can do it very well教学设计及反思

Module6unit2Icandoitverywell教学设计及反思五年级二班张丽一教学目标学会can表达能力的用在肯定疑问及否定形式并能谈论自己能与不能做的事情评价自己和他人培养学生学会评价事物二教学重点C...

英语作文 play basketball

ExperienceabasketballexperiencealifeIlikebasketballbecausebasketballlikesourlivesisfullofcompetitionwhentheplayersa...

4A Unit4 I can play basketball 教学反思1

4AUnit4Icanplaybasketball教学反思回顾这节课我收获颇多找到了一些课堂有效的教学方式同时我也有一些困惑发现了一些值得改进思考的地方本节课是新教材4A的第四单元Icanplaybasketb...

译林版四上Unit4 I can play basketball. (Period3)公开课教案

课题4AUnit4IcanplaybasketballPeriod3Teachingaimsandlearningobjectives教学目标1能通过Cartoontime的趣味阅读体会Bobby的滑稽可笑之处...

七年级英语Unit6 Do you like bananas教学反思

Unit6Doyoulikebananas第一课时的教学反思宣州区寒亭中心初中朱方兰本单元内容主要围绕谈论对食物的喜好展开并以like为例进一步学习实义动词在一般现在时中的用法是上一个单元的延伸本节课是这一单元...

七年级英语上册unit6 Do you like bananas?教学案例及反思

七年级英语上册unit6Doyoulikebananas教学案例及反思一任务型教学活动1任务型教学活动是这样一种教学活动教师根据课程的总体目标结合教学内容创造性地设计贴近学生实际的教学目标并依据设定的教学目标采...

七上英语Unit6_Do_you_like_bananas教学反思

Unit6Doyoulikebananas第一课时的教学反思洪山中心校李贞本单元内容主要围绕谈论对食物的喜好展开并以like为例进一步学习实义动词在一般现在时中的用法是上一个单元的延伸本节课是这一单元的第一课时...

Unit 6 Do you like bananas 教学反思

Unit6DoyoulikebananasSectionA教学反思在新的教学理念下一堂成功的英语课不仅仅是一堂教学任务得到切实落实的英语课更应该是一堂学生积极参与自主探索发挥想象愉快合作的英语课而我们也知道教学...

i can play basketball教学反思(8篇)