自动控制原理实验五利用matlab绘制系统根轨迹

自动控制原理实验五利用matlab绘制系统根轨迹
自动控制原理实验五利用matlab绘制系统根轨迹

实验五利用MATLAB绘制系统根轨迹

一、实验目的

(1)熟练掌握使用MATLAB绘制控制系统零极点图和根轨迹图的方法;

(2)熟练使用根轨迹设计工具SISO;

(2)学会分析控制系统根轨迹的一般规律;

(3)利用根轨迹图进行系统性能分析;

(4)研究闭环零、极点对系统性能的影响。

二、实验原理及内容

1、根轨迹与稳定性

当系统开环增益从变化时,若根轨迹不会越过虚轴进入s右半平面,那么系统对所有的K值都是稳定的;若根轨迹越过虚轴进入s右半平面,那么根轨迹与虚轴交点处的K值,就是临界开环增益。应用根轨迹法,可以迅速确定系统在某一开环增益或某一参数下的闭环零、极点位置,从而得到相应的闭环传递函数。

2、根轨迹与系统性能的定性分析

1)稳定性。如果闭环极点全部位于s左半平面,则系统一定是稳定的,即稳定性只与闭环极点的位置有关,而与闭环零点位置无关。

2)运动形式。如果闭环系统无零点,且闭环极点为实数极点,则时间响应一定是单调的;如果闭环极点均为复数极点,则时间响应一般是振荡的。

3)超调量。超调量主要取决于闭环复数主导极点的衰减率,并与其它闭环零、极点接近坐标原点的程度有关。

4)调节时间。调节时间主要取决于最靠近虚轴的闭环复数极点的实部绝对值;如果实数极点距虚轴最近,并且它附近没有实数零点,则调节时间主要取决于该实数极点的模值。

5)实数零、极点影响。零点减小闭环系统的阻尼,从而使系统的峰值时间提前,超调量增大;极点增大闭环系统的阻尼,使系统的峰值时间滞后,超调量减小。而且这种影响将其接近坐标原点的程度而加强。

【自我实践5-1】

在实验内容(2)中控制系统的根轨迹上分区段取点,构造闭环系统传递函数,分别绘制其对应系统的阶跃响应曲线,并比较分析。

1:阻尼比=,k=

2:阻尼比=,k=

3:阻尼比= k=

4:阻尼比=,k=0,385

5:阻尼比=(无此阻尼,取),k=

将数据填入实验数据记录表中。 阻尼比

闭环极点p

开环增益K

自然频率n

超调量%

调节时间t s = + 1e+03 = +

= + =1 + 0 =

+

194

\

3、基于SISO 设计工具的系统根轨迹设计

用根轨迹法进行系统校正过程中,分析补偿增益和附加实数(或复数)零极点之间匹配的规律。

在MATLAB 命令窗口中输入命令【rltool 】,然后回车,或者输入【rltool (sys )】函数命令,就可打开系统根轨迹的图形界面。

【综合实践】绘制180°根轨迹。

请绘制: (1)12()(1)(1)g

K G s T s T s =

++;(2)12(1)()(1)(1)

g K as G s T s T s +=

++;

(3)12()(1)(1)(1)

g

K G s T s T s ps =

+++的根轨迹,其中T 1=,T 2=2,a=,p=1,分析附

加零点、极点对根轨迹的影响;固定T 值,分别改变a 和p 的值看附加零、极点位置的变化对根轨迹形状的影响。将结果填入下表。

传递函数

根轨迹图

零、极点分布的影响分析 12()(1)(1)

g

K G s T s T s =

++

1、 添加开环零点使得系

统根轨迹主要分支左移;添加开环极点使得分支右移;

2、 通过调节开环极点的位置可以得出结论:开环极点离虚轴越近,极点作用越强根轨迹向右的偏移越多;

3、 通过调节开环零点的位置可以得出结论:开环零点离虚轴越近,零点作用越强,根轨迹向左的偏移越多

12(1)()(1)(1)

g K as G s T s T s +=

++

12(

)(1)(1)(1)

g

K G

s T

s T s ps =

+++

分别绘制(1)12(1)()(1)(1)

g K as G s T s T s +=

++;(2)12()(1)(1)(1)

g

K G s T s T s ps =

+++

的0°根轨迹,比较其与180°根轨迹不同。其中T 1=,T 2=2,a=,p=1。 (1)0°根轨迹: 180°根轨迹:

(2)0°根轨迹: 180°根轨迹:

对于上面的180°和0°根轨迹,求系统临界稳定时的K g 值,求K g =5时系统极点的位置(在根轨迹上的小红块上点击鼠标右键显示极点坐标值,该小红块可以用鼠标拖动);分析此时系统的阶跃动态响应和Bode 图。

界稳定K g 值

K g =闭环系统零极点

阶跃响应曲线

分析说明(与180°比较)

传递函数(1)

0°根轨迹

零点:-10 极点:-5,

曲线对称 零度阶跃响应刚好是180度响应的相反数

180°根轨迹

零点:-10 极点:-5,

传递函数(2)

0°根轨迹

零点:无 极点: +

曲线对称 零度阶跃响应刚好是180度响应的相反数

180°根轨迹

零点:无 极点: +

(注:K g 可取其它值,再求出对应的闭环零、极点响应曲线)

伯德图的绘制:

传递函数

伯德图

12(1)()(1)(1)

g K as G s T s T s +=

++;

12()(1)(1)(1)

g

K G s T s T s ps =

+++

三、思考题

1) 附加开环零点总对系统的稳定性是否有利

不一定,引入负的零点会使系统更加稳定,但是引入一个负的零点可能会破坏系统的稳定性

2) 附加开环极点总对系统的稳定性是否不利 不一定,引入负的极点会使系统更加稳定,但是引入一个负的极点可能会破坏系统的稳定性

3) 对实际系统,如何通过附加零点和极点来改善系统性能举例说明。

对传递函数12(1)()(1)(1)

g K as G s T s T s +=

++;通过增加一阶惯性环节来增加系统的

极点,通过增加一阶微分环节来增加系统零点,即可增加系统的稳定性。

4) 如何绘制系统等效根轨迹

绘制根轨迹主要通过引入开环传递函数G 等效,在G 等效将参数变量置于常规根轨迹所对应的开环传递函数G 中K 的位置上,然后按照常规根轨迹的作图法进行作图。 四、实验能力要求

(1)熟练掌握使用MATLAB 绘制控制系统零极点图和根轨迹图的方法。

(2)通过根轨迹图能够确定有用的参数,比如:分离点坐标及相应参数、临界开环增益点及相应参数、任意一点对应的开环增益K 值和闭环极点。

(3)利用根轨迹图进行系统性能分析,以阻尼比为依据分区段比较不同闭环极点对应系统性能的变化。能够确定系统稳定的开环增益范围。

(4)了解闭环零、极点对系统性能的影响。

(5)学会使用根轨迹设计工具校验系统的动态性能和稳态性能。

Matlab实验报告3

实验三函数的可视化与Matlab作图 一、按要求绘制如下曲线(面): 1. 在[0,4pi]上画sin(x),cos(x)在同一图像中,其中cos(x)图像用红色小圆圈,并在函数图上标注“y=sin(x)”,”y=cos(x)”,X轴,Y轴,标题为“正弦余弦函数图像。”答:>> clear >> clf, x=linspace(0,4*pi,200);y1=sin(x);y2=cos(x); plot(x,y1,'k-',x,y2,'ro') >> title('正弦余弦函数图像。') >> legend('y=sin(x)','y=cos(x)') >> ylabel('\it{Y轴}'); >> xlabel('\it{X轴}'); 2.任意绘制彗星曲线图。 答:>> clf; >> x=[1:10]; y=[5 6 3 4 8 1 10 3 5 6]; >> z=0:0.1:100; x=sin(z);y=cos(z).*10; >> %三维彗星图 comet3(x,y,z) >> %二维彗星图

t = -pi:pi/200:pi; comet(t,tan(sin(t))-sin(tan(t)))

3.在多窗口中绘制y=sin(t)*sin(t);y1=sin(3*t+2.5);y2=sin(5*t+5)并加以标注。答:>> clf; t=0:0.1:4*pi; subplot(3,1,1),plot(sin(t).*sin(t)),legend('y=sin(t)*sin(t)') subplot(3,1,2),plot(sin(3*t+2.5)),legend('y1=sin(3*t+2.5)') subplot(3,1,3),plot(sin(5*t+5)),legend('y2=sin(5*t+5)') 4.自拟题目绘制三维线图。 绘制以下方程y1=sin(t),y2=cos(t),x=t在t=[0,2π] 对应的三维曲线。 >> clf; >> t=0:pi/10:2*pi; >> y1=sin(t);y2=cos(t); >> plot3(y1,y2,t);grid on; >> xlabel('Dependent Variable Y1'); >> ylabel('Dependent Variable Y2'); >> zlabel('Dependent Variable X'); >> title('Sin and Cos Curve');

MATLAB实验报告50059

实验一MATLAB操作基础 实验目的和要求: 1、熟悉MATLAB的操作环境及基本操作方法。 2、掌握MATLAB的搜索路径及设置方法。 3、熟悉MATLAB帮助信息的查阅方法 实验内容: 1、建立自己的工作目录,再设置自己的工作目录设置到MA TLAB搜索路径下,再试 验用help命令能否查询到自己的工作目录。 2、在MA TLAB的操作环境下验证课本;例1-1至例1-4,总结MATLAB的特点。 例1-1

例1-2 例1-3 例1-4

3、利用帮助功能查询inv、plot、max、round等函数的功能。 4、完成下列操作: (1)在matlab命令窗口输入以下命令: x=0:pi/10:2*pi; y=sin(x); (2)在工作空间窗口选择变量y,再在工作空间窗口选择回绘图菜单命令或在工具栏中单击绘图命令按钮,绘制变量y的图形,并分析图形的含义。

5、访问mathworks公司的主页,查询有关MATLAB的产品信息。 主要教学环节的组织: 教师讲授实验目的、开发环境界面、演示实验过程,然后同学上机练习。 思考题: 1、如何启动与退出MA TLAB集成环境? 启动: (1)在windows桌面,单击任务栏上的开始按钮,选择‘所有程序’菜单项,然后选择MA TLAB程序组中的MA TLABR2008b程序选项,即可启动 MATLAB系统。 (2)在MA TLAB的安装路径中找到MA TLAB系统启动程序matlab.exe,然后运行它。 (3)在桌面上建立快捷方式后。双击快捷方式图标,启动MA TLAB。 退出: (1)在MA TLAB主窗口file菜单中选择exitMATLAB命令。 (2)在MA TLAB命令窗口中输入exit或quit命令。 (3)单击MATLAB主窗口的关闭按钮。 2、简述MATLAB的主要功能。 MATLAB是一种应用于科学计算领域的数学软件,它主要包括数值计算和符 号计算功能、绘图功能、编程语言功能以及应用工具箱的扩展功能。 3、如果一个MATLAB命令包含的字符很多,需要分成多行输入,该如何处理?

MATLAB实验报告第三章

M3-1 (1)ts=0;te=5;dt=0.01; >>sys=tf([2,1],[1,3,2]); >> t=ts:dt:te; >> x=exp(-3*t).*heaviside(t); >> y=lsim(sys,x,t); >>plot(t,y); >>xlabel('time(sec)'); >>ylabel('y(t)'); 系统的零状态响应 (2)y 的数值解为: M3-2,在图示电路中(1)建立该系统的微分方程;(2)用inpulse 函数求系统的单位冲击响应; (3)用step 函数求系统的单位阶跃响应。 解:(1)有图可知,方程的微分方程为:LC/R*Y(t)’’+C*Y(t)’+Y(t)/R=X(t) 带入数据得 1/6*Y(t)’’+1/2*Y(t)’+Y(t)=X(t) (2)>>ts=0;te=5;dt=0.01; >>sys=tf([1],[1/6,1/2,1]); >> t=ts:dt:te; >> y=impulse(sys,t); >>plot(t,y); >>xlabel('Time(sec)') >>ylabel('h(t)') 00.51 1.52 2.5 3 3.5 4 4.55 time(sec)y (t )

系统的冲击响应 (3)>>ts=0;te=5;dt=0.01; >>sys=tf([1],[1/6,1/2,1]); >> t=ts:dt:te; >> y=step(sys,t); >>plot(t,y); >>xlabel('Time(sec)') >>ylabel('d(t)') M3_3求下列二阶系统的单位阶跃响应。 (1)y ’’(t)+0.2y ’(t)+y(t)=x(t) >>ylabel('d(t)') >>ts=0;te=10;dt=0.01; >>sys=tf([1],[1,0.2,1]); >> t=ts:dt:te; >> y=step(sys,t); >>plot(t,y) Time(sec)h (t )Time(sec)d (t )

matlab实验报告3详解

实验四、LTI系统的响应 课程名称: MATLAB应用技术专业班级:通信1422 学生学号: 1430119231 学生姓名:周妍智 所属院部:电子信息工程系指导教师:徐树梅 2015 —— 2016 学年第二学期

实验项目名称: LTI 系统的响应 实验学时: 16 学生姓名: 周妍智 实验地点: 微机11 实验日期: 2016.4.17 实验成绩: 批改教师: 徐树梅 批改时间: 一、 实验目的 1. 熟悉连续时间系统的单位冲激响应、阶跃响应的意义及求解方法 2. 熟悉连续(离散)时间系统在任意信号激励下响应的求解方法 3. 熟悉应用MATLAB 实现求解系统响应的方法 二、 实验原理 1.连续时间系统 对于连续的LTI 系统,当系统输入为f (t ),输出为y (t ),则输入与输出之间满足如下的线性常系数微分方程: () ()0 ()()n m i j i j i j a y t b f t ===∑∑,当系统输入为单位冲激信号δ(t )时产生 的零状态响应称为系统的单位冲激响应,用h(t)表示。若输入为单位阶跃信号ε(t )时,系统产生的零状态响应则称为系统的单位阶跃响应,记为g(t),如下图所示。 系统的单位冲激响应h (t )包含了系统的固有特性,它是由系统本身的结构及参数所决定的,与系统的输入无关。我们只要知道了系统的冲激响应,即可求得系统在不同激励下产生的响应。因此,求解系统的冲激响应h(t )对我们进行连续系统的分析具有非常重要的意义。 在MATLAB 中有专门用于求解连续系统冲激响应和阶跃响应, 并绘制其时域波形的函数impulse( ) 和step( )。如果系统输入为f (t ),冲激响应为h(t),系统的零状态响应为y (t ),则有:()()()y t h t f t =*。 若已知系统的输入信号及初始状态,我们便可以用微分方程的经典时域求解方法,求出系统的响应。但是对于高阶系统,手工计算这一问题的过程非常困难和繁琐。 在MATLAB 中,应用lsim( )函数很容易就能对上述微分方程所描述的系统的响应进行仿真,求出系统在任意激励信号作用下的响应。lsim( )函数不仅能够求出连续系统在指定的任意时间范围内系统响应的数值解,而且还能同时绘制出系统响应的时域波形图。 以上各函数的调用格式如下: ⑴ impulse( ) 函数 函数impulse( )将绘制出由向量a 和b 所表示的连续系统在指定时间范围内的单位冲激响应h (t )的时域波形图,并能求出指定时间范围内冲激响应的数值解。

matlab实验报告

实验一小球做自由落体运动内容:一小球竖直方向做自由落体,并无损做往返运动。程序: theta=0:0.01:2*pi x=cos(theta) y=sin(theta) l=1 v=1 while l<10 for t=1:10 y=y+(-1)^l*v*t plot(x,y,[-1,1],[-56,2],'.') axis equal pause(0.1) end l=l+1 end 结果:

-50 -40 -30 -20 -10 收获:通过运用小球自由落体规律,及(-1)^n 来实现无损往 返运动! 实验二 旋转五角星 内容:一个五角星在圆内匀速旋转 程序:x=[2 2 2 2 2 2] y=[0 4/5*pi 8/5*pi 2/5*pi 6/5*pi 0] y1=2*sin(y) x1=2*cos(y) theta=0:4/5*pi:4*pi

x2=2*cos(theta) y2=2*sin(theta) plot(x,y,x1,y1,x2,y2) axis equal theta1=theta+pi/10 x2=2*cos(theta1) y2=2*sin(theta1) plot(x2,y2) axis equal theta=0:4/5*pi:4*pi for rot=pi/10:pi/10:2*pi x=2*cos(theta+rot) y=2*sin(theta+rot) plot(x,y) pause(0.1) end 结果:

-2 -1.5-1-0.500.51 1.52 -2-1.5-1-0.500.511.5 2 收获:通过theta1=theta+pi/10,我们可以实现五角星在圆内匀速 旋转! 实验三 转动的自行车 内容:一辆自行车在圆内匀速转动 程序:x=-4:0.08:4; y=sqrt(16-x.^2); theta1=-pi/2:0.01*pi:3*pi/2; x3=0.5*cos(theta1); y3=0.5*sin(theta1); theta=-pi/2+0.02*pi for k=1:100

MATLAB程序设计教程(第二版)第三章实验报告下载

大学社区网收集整理https://www.360docs.net/doc/0f2545930.html, 评分 日期湖南商学院北津学院实验报告 课程名称MATLAB科学计算编程语言 实验名称MATLAB程序设计 专业班级信科1121班 姓名xxx 学号xxx 实验日期2012年11月5日 2012—2013学年度第一学期 一、实验目的 1.掌握利用if语句、switch语句实现选择结构的方法。 2.掌握利用for语句、while语句实现循环结构的方法。 3.熟悉利用向量运算来代替循环操作的方法并理解MATLAB程序设计的特点 4.掌握定义和调用MATLAB函数的方法。

二、实验环境 系统windows7旗舰版 处理器Intel(R)Core(TM)i7-3610M CPU @ 2.30GHz 安装内存 4.00GB (3.07GB 可用)系统类型64位操作系统运行环境 MATLAB 5.3 三、实验基本原理 利用上课所学知识解决以下问题: 1.从键盘输入一个3位数的整数,将它反向输出。如输入639,输出936。 2.输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。其中90~100分为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。 要求: (1)分别用if 语句和switch 语句实现。 (2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。3.输入20个数,求其中最大数和最小数。要求分别用循环结构和调用MATLAB 的max 函数、min 函数来实现。 4.23.0ln )3.0sin(23.03.0a a e e y a a +++?=?,当a 取-3.0、-2.9、-2.8、…、2.8、2.9、 3.0时,求各点的函数值。要求分别用顺序结构和循环结构实现。 5.当n 分别取100、1000、10000时,求下列各式的值: (1)) 6...(n 1...31211122222π=+++++(2)) 2...()12)(12()2)(2(...756653443122π =??? ?????+?????????××????????××????????××n n n n 要求分别用循环结构和向量运算(使用sum 函数)来实现。 6.建立5×6矩阵,要求输出矩阵第n 行元素。当n 值超过矩阵的行数时,自动转为输出矩阵最后一行元素,并给出出错信息。 7已知,o999 ) 20()30()40(f f f y += (1)当)5ln(10)(2 ++=n n n f 时,y 的值是多小。 (2)当+×+×+×=433221)(n f …+)1(+×n n 时,y 的值是多小。 8.先用函数的递归调用定义一个函数文件求 ∑=n i m i 1,然后调用该函数文件求

参考答案Matlab实验报告

实验一 Matlab基础知识 一、实验目的: 1.熟悉启动和退出Matlab的方法。 2.熟悉Matlab命令窗口的组成。 3.掌握建立矩阵的方法。 4.掌握Matlab各种表达式的书写规则以及常用函数的使 用。 二、实验内容: 1.求[100,999]之间能被21整除的数的个数。(rem) 2.建立一个字符串向量,删除其中的大写字母。(find) 3.输入矩阵,并找出其中大于或等于5的元素。(find) 4.不采用循环的形式求出和式 63 1 2i i= ∑ 的数值解。(sum) 三、实验步骤: ●求[100,199]之间能被21整除的数的个数。(rem) 1.开始→程序→Matlab 2.输入命令: ?m=100:999; ?p=rem(m,21); ?q=sum(p==0) ans=43 ●建立一个字符串向量,删除其中的大写字母。(find) 1.输入命令:

?k=input('’,’s’); Eie48458DHUEI4778 ?f=find(k>=’A’&k<=’Z’); f=9 10 11 12 13 ?k(f)=[ ] K=eie484584778 ●输入矩阵,并找出其中大于或等于5的元素。(find) 1.输入命令: ?h=[4 8 10;3 6 9; 5 7 3]; ?[i,j]=find(h>=5) i=3 j=1 1 2 2 2 3 2 1 3 2 3 ●不采用循环的形式求出和式的数值解。(sum) 1.输入命令: ?w=1:63; ?q=sum(2.^w) q=1.8447e+019

实验二 Matlab 基本程序 一、 实验目的: 1. 熟悉Matlab 的环境与工作空间。 2. 熟悉M 文件与M 函数的编写与应用。 3. 熟悉Matlab 的控制语句。 4. 掌握if,switch,for 等语句的使用。 二、 实验内容: 1. 根据y=1+1/3+1/5+……+1/(2n-1),编程求:y<5时最大n 值以及对应的y 值。 2. 编程完成,对输入的函数的百分制成绩进行等绩转换,90~100为优,80~89为良,70~79为中,60~69为及格。 3. 编写M 函数文件表示函数 ,并分别求x=12和56时的函数值。 4. 编程求分段函数 2226;03 56;0532 1;x x x x y x x x x x x x +-<≠=-+≤<≠≠-+且且及其它,并求输入x=[-5.0,-3.0,1.0,2.0,2.5,3.0,3.5]时的输出y 。 三、 实验步骤: 根据y=1+1/3+1/5+……+1/(2n-1),编程求:y<5时最大n 值以及对应的y 值。 1. 打开Matlab ,新建M 文件 2. 输入命令: 51022-+x

MATLAB实验报告实例

MATLAB课程设计 院(系)数学与计算机学院 专业信息与计算科学 班级 学生姓名 学号 指导老师赵军产 提交日期

实验内容: 1. Taylor逼近的直观演示用Taylor 多项式逼近y = sin x. 已知正弦函数的Taylor 逼近式为 ∑= - - -- =≈ n k k k k x x P x 1 1 2 1 !)1 2( )1 ( ) ( sin. 实验目的: 利用Taylor多项式逼近y = sin x,并用图形直观的演示。 实验结果报告(含基本步骤、主要程序清单、运行结果及异常情况记录等): 1.将k从1取到5,得到相应的P = x-1/6*x^3+1/120*x^5-1/5040*x^7+1/362880*x^9; 2.用MATLAB进行Taylor逼近,取x的范围是(- 3.2,3.2);程序清单如下: syms x; y = sin(x); p = x - (x^3)/6 + (x^5)/120 - (x^7)/5040 + (x^9)/362880 x1 = -3.2:0.01:3.2; ya = sin(x1); y1 = subs(p,x,x1); plot(x1,ya,'-',x1,y1)

4.程序运行正常。 思考与深入: 取y = sin x 的Taylor 多项式为P 的逼近效果很良好,基本接近y = sin x 的图像,不过随着k 的取值变多,逼近的效果会越来越好。 实验内容: 2. 数据插值 在(,)[8,8][8,8]x y =-?-区域内绘制下面曲面的图形: 222 2 sin( )x y z x y += + 并比较线性、立方及样条插值的结果。 .

matlab实验报告

Matlab实验报告 实验二图像处理 一、实验目的 (1)通过应用MA TLAB语言编程实现对图像的处理,进一步熟悉MATLAB软件的编程及应用; (2)通过实验进一步掌握图像处理的基本技术和方法。 二、实验内容及代码 ㈠.应用MA TLAB语言编写显示一幅灰度图像、二值图像、索引图像及彩色图像的程序,并进行相互之间的转换 首先,在matlab页面中的current directory下打开存放图像的文件夹。 1.显示各种图像 ⑴显示彩色图像: ①代码:>> mousetif=imread('tif.TIF'); >> image(mousetif) 显示截图: ②代码:>> mousetif=imread('tif.TIF'); >> imshow(mousetif) 显示截图:

③代码:mousetif=imread('tif.TIF'); subimage(mousetif) 显示截图: 显示截图:

⑵显示二值图像 ①代码:>> I=imread('单色bmp.bmp'); >> imagesc(I,[0 2]) 显示截图: ②代码:>> I=imread('单色bmp.bmp');

>> imshow(I,2) 显示截图: ③代码:>> I=imread('单色bmp.bmp'); >> subimage(I) 显示截图:

⑶显示灰度图像 ①代码:>> I1=imread('256bmp.bmp'); >> imagesc(I1,[0,256]) 显示截图: 代码:>> I1=imread('256bmp.bmp'); >> colormap(gray); >> subplot(1,2,1); >> imagesc(I1,[0,256]); >> title('灰度级为[0 256]的mouse.bmp图'); >> subplot(1,2,2); >> imagesc(I1,[0,64]); >> colormap(gray); >> title('灰度级为[0 64]的mouse.bmp图'); 显示截图:

广州大学学生实验报告1 matlab 程序设计

广州大学学生实验报告 开课学院及实验室:机械与电气工程学院计算机楼 301室2014 年10 月30 日

2、MATLAB指令窗的基本操作 MATLAB指令窗给用户提供了最直接的交互界面,可用于输入和执行指令、显示指令运行结果、调试MATLAB程序等常用的MATLAB仿真计算功能。本实验掌握以下在指令窗执行的基本操作,达到熟悉使用指令窗的目的: (1)最简单的计算器使用方法:在MATLAB指令窗中,可按计算器的方式进行一般的数学计算,MATLAB的运算符的含义大致与常见的运算规则一致; (2)在指令窗中输入和生成矩阵:与一般的计算器不同,在MATLAB中可直接输入和生成矩阵。实际上,矩阵是MATLAB工作的基本元素。 (3)数值表述方法:在MATLAB中的大部分数值的表述方式与平常是相同的,需要注意的是在表示比较大的数时,MATLAB默认采用科学计数法显示; (4)变量命名规则:对于MATLAB变量命名规则,需要注意以下几点: a、变量名、函数名对字母大小写敏感 b、变量名的第一个字母必须是英文字母,后续可以是字母、数字、下划线 c、变量的有效时限:在变量定义赋值之后,会作为内存变量保存并显示在Workspace Browser中。因此,凡是显示在Workspace Browser中的变量 都是“有效”的,其后可以被调用,否则不能被调用。 d、对于像 等常用的数学常量,MATLAB定义了预定义变量与其对应,在使用时需多加留意。 e、复数和复数矩阵的表示方法。 (5)其他操作的操作要旨和操作技巧的运用。 3、计算结果的图形表示 计算结果可视化是MATLAB的主要组成部分,借助图形表现数据是十分常用的“数据表达手段”,尤其当数据量相当庞大时,因为图形可以表现数据内在联系和宏观特征。关于MATLAB绘图的基本方法在后续章节中详细讲述,本实验主要通过示例了解MATLAB绘图的基本功能。 4、Current Directory、路径设置器和文件管理 理解当前目录Current Directory和搜索路径的作用是正确使用MATLAB的关键环节。当前目录指的是当前MA TLAB工作的目录,MATLAB运行指令需要打开或者保存的文件,都首先在目录中查找或保存。搜索路径则是MATLAB工作时,需查找相应的文件、函数或变量所在的相关文件夹所在的路径。 在理解当前目录Current Directory和搜索路径的作用的基础上,也要掌握当前目录Current Directory和搜索路径的设置方法,这是正确使用MA TLAB 的必要步骤。 为了理解MATLAB当前目录Current Directory和搜索路径的作用,可以大致了解一下当用户从指令窗送入一个名为cow的指令后,MATLAB的“运作次序”: (1)MATLAB在内存中检查,看cow是不是变量;如果不是,进行下一步; (2)检查cow是不是内建函数;如果不是进行下一步; (3)在当前目录下,检查是否有名为cow的M文件存在;如果不是,进行下一步; (4)在MA TLAB搜索路径的其他目录下,检查是否有名为cow的M文件存在。

MATLAB原理应用实验报告第三章(符号运算)

《MATLAB原理及应用》实验报告 第三章MATLAB的符号运算 一.实验目的 1、掌握符号对象的命名方法 2、掌握符号表达式的基本运算 3、掌握符号级数的求法 二.实验设备 计算机、MATLAB软件 三.实验内容 1.确定符号表达式的变量 为了简化符号对象的操作和计算,MATLAB为用户提过了findsym命令。 r=findsym(S)确定符号表达式或者矩阵S中自由符号变量 r=findsym(S,n)确定符号表达式或者矩阵S中靠近x最近的n个独立符号变量。【实验3-1】使用MA TLAB的命令确定符号表达式的变量。 在MATLAB的命令窗口中输入下例内容: >> syms a x y z t 确定下面简单符号表达式中的符号变量信息: >>findsym(sin(pi*t)) ans = t 确定下面简单符号表达式中的符号变量信息: >>findsym(x+i*y-j*z) ans = x, y, z 确定下面简单符号表达式中的符号变量信息: >>findsym(a+y,1) ans = y 2.符号表达式元算 1.符号表达式的四则运算 表达式的四则运算与数字运算一样,用+、-、/、运算符实现,其运算结果依然是一个符号表达式。

【实验3-2】 在MATLAB的命令窗口中输入下例内容: >>f=sym('2*x^2+3*x-5');%定义符号表达式 g=sym('x^2-x+7'); f+g ans = 3*x^2+2*x+2 ans = 3*x^2+2*x+2 >> f^g ans = (2*x^2+3*x-5)^(x^2-x+7) 3.符号表达式的提取分子和分母运算 如果符号表达式是一个有理分式或可以展开为有理分式,可以可利用numden函数来提取符号表达式的分子或分母。期一般调用格式为[n,d]=numden函数来提取符号表达式 该函数提取的符号表达式s的分子和分母,分别将它们存放在n和d中。 【实验3-3】 在MA TLAB的命令窗口中输入下例内容: >> f= sym('a*x/(b+x)'); >> [n,d]=numden(f) n = a*x d = b+x numden函数在提取各部分之前,将符号表达式有利化后返回所得分子和分母 >> g=sym('(x^2+3)/(2*x-1)+3*x/(x+1)'); >> [n,d]=numden(g) n = x^3+7*x^2+3 d = (2*x-1)*(x+1) 如果符号表达式是一个符号矩阵,numden返回两个新矩阵n和d,其中n 是分子矩阵,d是分母矩阵。 >> h=sym('[3/2,(2*x+1)/3;a/x+a/y,x+4]') h = [ 3/2, (2*x+1)/3] [ a/x+a/y, x+4] >> [n,d]=numden(h) n = [ 3, 2*x+1] [ a*(y+x), x+4] d = [ 2, 3]

matlab实验报告

MATLAB 实验报告 1、在区间[-1,1]上分别取n=10、20用两组选中节点对龙格函数22511)(x x f += 作多项式插值及三次样条插值,对每个n 值,分别画出插值函数及f(x)的图形. 解: n=10 在matlab 命令窗口中键入: >>x=-1:0.2:1; y=1./(1+25*x.^2); y1=interp1(x,y,'pchip'); y2=interp1(x,y,'spline'); plot(x,y1,'o',x,y1,'-',x,y2,'*',x,y2,'-.'),grid legend('样本点','三次插值','三次样条插值') 回车得出: n=20 在matlab 命令窗口中键入: >> x=-1:0.1:1; y=1./(1+25*x.^2); y1=interp1(x,y,'pchip'); y2=interp1(x,y,'spline'); plot(x,y1,'o',x,y1,'-',x,y2,'*',x,y2,'-.'),grid legend('样本点','三次插值','三次样条插值')legend('样本点','三次插值','三次样条插值') 回车得出:

由结果可见,用两种方法画出的曲线在样本点之间取值并无太大差异,曲线亦基本上一致。 2、对于给定函数22511)(x x f +=在区间[-1,1]上取)10,,1,0(2.01 =+-=i i x i ,试求3次曲线拟合,试画出拟合曲线并打印出方程。 解:在matlab 命令窗口中键入: >> x=-1:0.2:1;y=1./(25*x.^2+1); p=polyfit(x,y,3) 回车得出: p = -0.0000 -0.5752 0.0000 0.4841 即拟合的多项式为:4814.05752.02 +-=x y 键入: x1=-1:0.1:1;y1=polyval(p,x1); plot(x,y,'*',x1,y1),grid legend('样本点','拟合曲线p3(x)') 回车得出:

Matlab实验指导书(含答案)汇总

实验一:Matlab操作环境熟悉 一、实验目的 1.初步了解Matlab操作环境。 2.学习使用图形函数计算器命令funtool及其环境。 二、实验内容 熟悉Matlab操作环境,认识命令窗口、内存工作区窗口、历史命令窗口;学会使用format命令调整命令窗口的数据显示格式;学会使用变量和矩阵的输入,并进行简单的计算;学会使用who和whos命令查看内存变量信息;学会使用图形函数计算器funtool,并进行下列计算: 1.单函数运算操作。 求下列函数的符号导数 (1) y=sin(x); (2) y=(1+x)^3*(2-x); 求下列函数的符号积分 (1) y=cos(x); (2) y=1/(1+x^2); (3) y=1/sqrt(1-x^2); (4) y=(x-1)/(x+1)/(x+2); 求反函数 (1) y=(x-1)/(2*x+3); (2) y=exp(x); (3) y=log(x+sqrt(1+x^2)); 代数式的化简 (1) (x+1)*(x-1)*(x-2)/(x-3)/(x-4); (2) sin(x)^2+cos(x)^2; (3) x+sin(x)+2*x-3*cos(x)+4*x*sin(x); 2.函数与参数的运算操作。 从y=x^2通过参数的选择去观察下列函数的图形变化 (1) y1=(x+1)^2 (2) y2=(x+2)^2 (3) y3=2*x^2 (4) y4=x^2+2 (5) y5=x^4 (6) y6=x^2/2 3.两个函数之间的操作 求和 (1) sin(x)+cos(x) (2) 1+x+x^2+x^3+x^4+x^5 乘积 (1) exp(-x)*sin(x)

matlab实验报告

Matlab实验报告 ——定积分的近似计算 学生姓名: 学号: 专业:数学与应用数学专业

数学实验报告 实验序号:1001114030 日期:2012年10月20日 班级应一姓名陈璐学号1001114030 实验名称:定积分的近似运算 问题背景描述: 利用牛顿—莱布尼茨公式虽然可以精确地计算定积分的值,但它仅适合于被积分函数的原函数能用初等函数表达出来的情形。如果这点办不到或不容易办到, 这就有必要考虑近似计算的方法。在定积分的很多应用问题中,被积函数甚至没 有解析表达式,可能只是一条实验记录曲线,或者是一组离散的采样值,这时只 能应用近似方法去计算相应的定积分。 实验目的: 本实验将主要研究定积分的三种近似计算算法:矩形法、梯形法、抛物线发。对于定积分的近似数值计算,Matlab有专门函数可用。 实验原理与数学模型: 1.sum(a):求数组a的和。 2.format long:长格式,即屏幕显示15位有效数字。 3.double():若输入的是字符则转化为相应的ASCII码;若输入的是整型数之则转化为 相应的实型数值。 4.quad():抛物线法求数值积分。格式:quad(fun,a,b)。此处的fun是函数,并且

为数值形式,所以使用*、/、^等运算时要在其前加上小数点。 5.trapz():梯形法求数值积分。格式:trapz(x,y)。其中x为带有步长的积分区间;y为数 值形式的运算。 6.fprintf(文件地址,格式,写入的变量):把数据写入指定文件。 7.syms 变量1变量2……:定义变量为符号。 8.sym('表达式'):将表达式定义为符号。 9.int(f,v,a,b):求f关于v积分,积分区间由a到b。 10.subs(f,'x',a):将a的值赋给符号表达式f中的x,并计算出值。若简单地使用subs (f),则将f的所有符号变量用可能的数值代入,并计算出值。 实验所用软件及版本:Matlab 7.0.1

MATLAB实验报告一二三模板

2015秋2013级《MATLAB程序设计》实验报告 实验一班级:软件131 姓名:付云雷学号:132872 一、实验目的: 1、了解MATLAB程序设计的开发环境,熟悉命令窗口、工作区窗口、历史命令等窗口的使用。 2、掌握MATLAB常用命令的使用。 3、掌握MATLAB帮助系统的使用。 4、熟悉利用MATLAB进行简单数学计算以及绘图的操作方法。 二、实验内容: 1、启动MATLAB软件,熟悉MATLAB的基本工作桌面,了解各个窗口的功能与使用。 图1 MATLAB工作桌面 2、MATLAB的常用命令与系统帮助: (1)系统帮助 help:用来查询已知命令的用法。例如已知inv是用来计算逆矩阵,键入help inv即可得知有关inv命令的用法。 lookfor:用来寻找未知的命令。例如要寻找计算反矩阵的命令,可键入lookfor inverse,MATLAB即会列出所有和关键字inverse相关的指令。找到所需

的命令後,即可用help进一步找出其用法。 (2)数据显示格式: 常用命令:说明 format short 显示小数点后4位(缺省值) format long 显示15位 format bank 显示小数点后2位 format + 显示+,-,0 format short e 5位科学记数法 format long e 15位科学记数法 format rat 最接近的有理数显示 (3)命令行编辑:键盘上的各种箭头和控制键提供了命令的重调、编辑功能。 具体用法如下: ↑----重调前一行(可重复使用调用更早的) ↓----重调后一行 →----前移一字符 ←----后移一字符 home----前移到行首 end----移动到行末 esc----清除一行 del----清除当前字符 backspace----清除前一字符 (4)MATLAB工作区常用命令: who--------显示当前工作区中所有用户变量名 whos--------显示当前工作区中所有用户变量名及大小、字节数和类型 disp(x) -----显示变量X的内容 clear -----清除工作区中用户定义的所有变量 save文件名-----保存工作区中用户定义的所有变量到指定文件中 load文件名-----载入指定文件中的数据 3、在命令窗口执行命令完成以下运算,观察workspace的变化,记录运算

matlab7.0x课后习题答案

1、利用基本矩阵产生3*3和15*8的单位矩阵、全1矩阵、全0矩阵、均匀分布随机阵([-1,1]之间)、正态分布随机阵(均值为1,方差为4)。 解: A1=eye(3); A2=ones(3); A3=zeros(3); A4=2*rand(3)-1; A5=2*randn(3)+1; B1=eye(15,8); B2=ones(15,8); B3=zeros(15,8); B4=2*rand(15,8)-1; B5=2*randn(15,8)+1; 结果:由于数据是随机产生的,所以在没有给出运行结果。 2、利用diag等函数产生下列矩阵: a=[0 0 8;0 -7 5;2 3 0] b=[2 0 4;0 5 0;7 0 8] 然后利用reshape函数将它们变换成行向量。 解: 产生a的程序: b=diag([8 -7 2]); c=b+diag([5 3],-1); a=fliplr(c) 产生b的程序: s=[2 2 8]; t=[4 3 7]; v=diag(s); p=diag(t)+fliplr(v); b=fliplr(p) 运行结果: a = 0 0 8 0 -7 5 2 3 0 b = 2 0 4 0 5 0 7 0 8 利用reshape函数将它们变换成行向量:reshape(a,1,9) ans = 0 0 2 0 -7 3 8 5 0 3、产生一均匀分布在(-5,5)之间的随机阵(50*2),要求精确到小数点后一位。 解: A=5-round(100*rand(50,2))/10 部分数据结果: A = 2.4000 4.2000 -0.1000 2.7000 -4.6000 -3.3000

matlab实验报告

专业仿真课程设计题目: 学院: 专业班级: 学号: 学生姓名: 指导教师: 设计时间:

专业仿真课程设计题目 主要研究内容: 从所拍摄的多个目标物中检测三角形物,给出三角形物几何中心、三个边长以及边长的方向、面积。 设计要求: (1)提交能够实现题目要求、并通过演示验收的可执行文件。 (2)提交课程设计报告(包括程序清单)。 (3)通过答辩,答辩成绩满分20分,其中个人设计部分10分,非个人设计部分10分。 (4)软件设计要求:有一个人机交互界面,模块化设计,在模块之间通过BMP文件或者文本文件传送数据,可以查看中间结果。 (5)5个人一组,组长协调分工,每个组员一定要有具体任务,以便考核。预期达到的目标: 1、能够通过相关文献查阅、文献综述和总结,给出问题求解的多种可行方案。 2、能够综合运用测控技术与仪器专业理论和技术手段,设计实验方案、分析实验结果,得出有效的结论。 3、能够借助MATLAB仿真软件,进一步掌握高等数学、复变函数与积分变换等相关数学和自然科学知识以及测控技术与仪器专业的基本理论知识,能够结合本专业“自动控制原理”、“数字信号处理”、“误差理论”等相关课程,采用MATLAB软件对复杂工程问题建立模型并进行预测与模拟; 4、能够与团队中其他学科成员合作开展工作,能够与其他队员很好地沟通和交流意见,能够通过口头或书面方式表达自己的设计思路,具有一定的表达能力和人际交往能力。

目录 第一章课程设计相关知识综述 1.1 MATLAB相关知识叙述 1.1.1 MATLAB基本知识介绍 1.1.2 MATLAB的优势特点 1.1.3 MATLAB的发展历程 1.2 MATLAB工具箱与函数 1.2.1 MATLAB图像处理工具箱 1.2.2 课程设计所用图像处理函数介绍第二章课程设计内容和要求 2.1 课程设计主要研究内容 2.2 课程设计要求 2.3 课程设计预期目标 第三章设计过程 3.1 设计方案 3.2 设计步骤及流程图 3.3 程序清单及相关注释 3.4 实验结果分析 3.5 结论 第四章团队情况 第五章总结 第六章参考文献

matlab实验报告

MATLAB 数学实验报告 指导老师: 班级: 小组成员: 时间:201_/_/_

Matlab第二次实验报告 小组成员: 1题目:实验四,MATLAB选择结构与应用实验 目的:掌握if选择结构与程序流程控制,重点掌握break,return,pause语句的应用。 问题:问题1:验证“哥德巴赫猜想”,即:任何一个正偶数(n>=6)均可表示为两个质数的和。要求编制一个函数程序,输入一个正偶数,返回两个质数的和。 问题分析:由用户输入一个大于6的偶数,由input语句实现。由if判断语句判断是否输入的数据符合条件。再引用质数判断函数来找出两个质数,再向屏幕输出两个质数即可。 编程:function [z1,z2]=gede(n); n=input('please input n')

if n<6 disp('data error'); return end if mod(n,2)==0 for i=2:n/2 k=0; for j=2:sqrt(i) if mod(i,j)==0 k=k+1; end end for j=2:sqrt(n-i) if mod(n-i,j)==0 k=k+1; end end if k==0 fprintf('two numbers are') fprintf('%.0f,%.0f',i,n-i) break end

end end 结果分析: 如上图,用户输入了大于6的偶数返回两个质数5和31,通过不断试验,即可验证哥德巴赫猜想。 纪录:if判断语句与for循环语句联合嵌套使用可使程序结构更加明晰,更快的解决问题。 2题目:实验四,MATLAB选择结构与应用实验 目的:用matlab联系生活实际,解决一些生活中常见的实际问题。

Matlab实验报告

MATLAB软件上机实验设计报告

姓名: 班级: 学号: 第一章 2.设A=1.2,B=-4.6,C=8.0, D=3.5,E=-4.0 计算: T=arctan 2πA + E 2πBC D =1.1371 3.设x=45°,计算: 35 72 5 =2.8158 4.设a=5.67,b=7.811,计算: e (a +b )log 10(a +b ) =6.3351e+05 5.计算y= x -6(x+1 x )+(x ?3.2)2/(x +7.7)3在x=3时的值。 6.已知圆的半径为15,求其直径,圆周及面积。 7.已知某三角形的三个边的边长分别为8.5,14.6和18.4,求该三角形面积。 提示: Area= 其中:s=(a+b+c)/2,a 、b 、c 分别为三角形三边边长。 第二章 1.设矩阵 A= 311212123 B= 11?1 2?101?11 求(1)2A+B (2)4A 2-3B 2 (3)AB (4)BA (5)AB-BA 2.设三阶矩阵A 、B ,满足A ?1BA=6A+BA, 其中

A=1 3 00 01 4 001 7 求矩阵B。 3.设(2E-C?1B)A T=C?1,其中E是4阶单位矩阵,A T是4阶矩阵A的转置。其中 B=12 01 ?3?2 2?3 00 00 12 01 C= 12 01 01 20 00 00 12 01 求矩阵A。 4.设二阶矩阵A、B、X,满足X-2A=B-X, 其中 A= 2?1 ?12 B=0?2 20 求矩阵X。 5.求解线性方程组 2x1?3x2+2x4=8 x1+5x2+2x3+x4=2 3x1?x2+x3?x4=7 4x1+x2+2x3+2x4=12 6.求解一元六次方程3x6+12x5+4x4+7x3+8x+1=0的根。 7.求多项式3x6+12x5+4x4+7x3+8x+1=0被(x-3)(x3+5x)除后的结果。 第三章 1.求极限 lim x→0+(cos?(x))π=exp(-π/2) 2.求极限 lim x→∞3sinx+x2cos1 x 3.求极限 lim x→?∞4x2+x?1+ 2 =1 4.求极限 lim x→0 y→0 (x2+y2)x2y2=1 5.已知 y=tg2x+x+2x 求y′ 6.已知

相关文档
最新文档