搜档网
当前位置:搜档网 › 实验三 基于MATLAB的根轨迹绘制与性能分析

实验三 基于MATLAB的根轨迹绘制与性能分析

实验三  基于MATLAB的根轨迹绘制与性能分析
实验三  基于MATLAB的根轨迹绘制与性能分析

实验三 基于MATLAB 的根轨迹绘制与性能分析

【一、实验目的】

1、绘制控制系统的根轨迹图,研究分析系统参数对根轨迹图的影响;

2、能够用MATLAB 的计算方法来确定系统参数使系统获得期望的性能。

【二、实验内容和原理】

1、控制系统系统根轨迹

1)根轨迹:开环系统传递函数的某一个参数变化时,闭环系统特征方程的根在复平面上变化的轨迹。

系统的结构图如下:

闭环传递函数为:)

()(1)

()(s H s G s G s +=Φ开环传递函数为:)

()()(s H s G s G k =将 写成以下标准型,得:)(s G k ∏∏==++?=n

j j

m

i i g k p s z s k s G 11)()()(为开环零极点。轨迹增益;

传递系数,或称为式中:j i g p z k ,根-

2)用MATLAB 绘制根轨迹时,num 和den 两个向量都必须写成s 的降幂形式。绘制根轨迹的指令为:rlocus(num,den),增益向量g k 是自动生成的,因而用MATLAB 绘制根轨迹时,完全取决于数组num 和den 。引入左端向量,即

[r,k]= rlocus(num,den),绘制命令plot(r, '')。绘制区域设置成平方纵横比的命令:v=[-a a -b b];axis(‘square ’)。

2、[4-1]已知系统开环传递函数为

)

8()(2+=s s K s G (1)绘制系统的根轨迹;

(2)增加开环零点1-=z 后,绘制系统的根轨迹并且进行分析。

【三、实验条件】

PC计算机1台、MATLAB6.X1套

【四、实验过程】

①根据所给系统的传递函数,采用MATLAB编程;

②在MATLAB界面下调试程序,并检查是否运行正确。

③程序:

(1)

num=[1];

den=[1,8,0,0];

rlocus(num,den);

axis('spuare')

grid on

title('Root-locus plot of G(s)=k/s^2(s+8)') xlabel('Re')

ylabel('Im')

(2)

num=[0,0,1,1];

den=[1,8,0,0];

rlocus(num,den);

axis('spuare')

grid on

title('Root-locus plot of G(s)=k(s+1)/s^2(s+8)') xlabel('Re')

ylabel('Im')

【五、实验结果】

程序结果:

(1)

(2)

【六、实验结果分析、讨论】

1、通过仿真结果图观察可知增加零点将使复平面上的根轨迹左移,有利于提高稳定性,减少调节时间,从而改善系统的瞬态性能指标。此外,可以将标记线移到根轨迹某一点上看到对应的K的值。

【七、实验结论】

通过MATLAB编程可以绘制系统的根轨迹图,有利于分析系统的各种性能指标。

《MATLAB与数值分析》第一次上机实验报告

电子科技大学电子工程学院标准实验报告(实验)课程名称MATLAB与数值分析 学生姓名:李培睿 学号:2013020904026 指导教师:程建

一、实验名称 《MATLAB与数值分析》第一次上机实验 二、实验目的 1. 熟练掌握矩阵的生成、加、减、乘、除、转置、行列式、逆、范数等运算 操作。(用.m文件和Matlab函数编写一个对给定矩阵进行运算操作的程序) 2. 熟练掌握算术符号操作和基本运算操作,包括矩阵合并、向量合并、符号 转换、展开符号表达式、符号因式分解、符号表达式的化简、代数方程的符号解析解、特征多项式、函数的反函数、函数计算器、微积分、常微分方程的符号解、符号函数的画图等。(用.m文件编写进行符号因式分解和函数求反的程序) 3. 掌握Matlab函数的编写规范。 4、掌握Matlab常用的绘图处理操作,包括:基本平面图、图形注释命令、 三维曲线和面的填充、三维等高线等。(用.m文件编写在一个图形窗口上绘制正弦和余弦函数的图形,并给出充分的图形注释) 5. 熟练操作MATLAB软件平台,能利用M文件完成MATLAB的程序设计。 三、实验内容 1. 编程实现以下数列的图像,用户能输入不同的初始值以及系数。并以x, y为坐标显示图像 x(n+1) = a*x(n)-b*(y(n)-x(n)^2); y(n+1) = b*x(n)+a*(y(n)-x(n)^2) 2. 编程实现奥运5环图,允许用户输入环的直径。 3. 实现对输入任意长度向量元素的冒泡排序的升序排列。不允许使用sort 函数。 四、实验数据及结果分析 题目一: ①在Editor窗口编写函数代码如下:

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.sodocs.net/doc/072181157.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图'); 显示截图:

Matlab程序设计实验报告

实验七Matlab 程序设计 实验目的: 1、掌握建立和执行M 文件的方法; 2、掌握实现选择结构的方法; 3、掌握实现循环结构的方法。 实验内容: 1. 编写用 5 次多项式拟合函数y=sin(x), x [0, 2 ]的脚本M 文件,要求绘图观察拟合的效果。 function shiyan1 x=0:0.5:2*pi y=sin(x) p=polyfit(x,y,5) x1=0:0.2:2*pi y1=polyval(p,x1) plot(x,y, 'b' ,x1,y1, '*r' x =

Columns 1 through 9 0 0.5000 1.0000 1.5000 2.0000 2.5000 3.0000 3.5000 4.0000 Columns 10 through 13 4.5000 5.0000 5.5000 6.0000 y = Columns 1 through 9 0 0.4794 0.8415 0.9975 0.9093 0.5985 0.1411 -0.3508 -0.7568 Columns 10 through 13 -0.9775 -0.9589 -0.7055 -0.2794 p = -0.0056 0.0881 -0.3967 0.2671 0.8902 0.0029 x1 = Columns 1 through 10 0 0.2000 0.4000 0.6000 0.8000 1.0000 1.2000 1.4000 1.6000 1.8000 Columns 11 through 20

2. 2.2000 2.4000 2.6000 2.8000 3.0000 3.2000 3.4000 3.6000 1.8001 Columns 21 through 30 4.0 4.2000 4.4000 4.6000 4.8000 5.0000 5.2000 5.4000 5.6000 5.8000 Columns 31 through 32 6.0 6.2000 y1 = Columns 1 through 10 0.29 0.1886 0.3786 0.5585 0.7172 0.8461 0.9391 0.9926 1.0048 0.9761 Columns 11 through 20 0.9083 0.8048 0.6701 0.5098 0.3301 0.1381 -0.0590 -0.2538 -0.4389 -0.6073 Columns 21 through 30 -0.7524 -0.8685 -0.9505 -0.9949 -0.9991 -0.9626 -0.8863 -0.7732 -0.6288 -0.4606 Columns 31 through 32

广州大学学生实验报告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实验报告三答案详解

安徽财经大学金融证券实验室实验报告 实验课程名称《金融》TLABMA 金融学院部课系开

级班 学号 姓名 师导指教日年月 1.

2 一、期权定价分析 1.black-scholes方程求解

例1:假设欧式股票期权,六个月后到期,执行价格90元,现价为102元,无股利支付, 股价年化波动率为55%,无风险利率为8%,计算期权价格。 解:clear Price=102; >>Strike=90; >>Rate=0.08; >>Time=6/12; >>V olatility=0.55; [CallDelta,PutDelta]=blsprice(Price,Strike,Rate,Time,V olatility) 计算结果: CallDelta= 23.5648 PutDelta= 8.0358 2.期权价格与波动率关系分析 Price=102; >>Strike=90; >>Rate=0.08; >>Time=6/12; V olatility=0.08:0.01:0.5; >>N=length(V olatility) Call=zeros(1,N); Put=zeros(1,N); for i=1:N [Call(i),Put(i)]=blsprice(Price,Strike,Rate,Time,V olatility(i)); N= 43 end plot(Call,'b--'); hold on plot(Put,'b'); xlabel('V olatility') ylabel('price') legend('Call','Put')

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 数学实验报告 指导老师: 班级: 小组成员: 时间: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 实验报告 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的变化,记录运算

相关主题