MATLAB实验三

合集下载

Matlab实验三 绘制根轨迹

Matlab实验三 绘制根轨迹
Matlab
for
Principles of Automatic Control
实验三 绘制根轨迹 1: 绘制根轨迹 2: 参量分析
① 绘制根轨迹 rlocus(sys)
Gk
(s)
K *(s 1) (s 2)(s 3)
rlocus(num, den)
rlocus(sys,k)
②参量分析(根轨迹图上一顿乱点即可)
K1
(s a )nm
1
根轨迹渐进线的方程是新的根轨迹方程。
Байду номын сангаас
• 例: 绘制根轨迹及其渐近线
G(s)
K1
s(s 1)(s 2)
⑥讨论增加零点对根轨迹的影响 试试-2至-4之间的零点
G(s)
K1
s(s 1)(s 2)
r=rlocus(sys)
Gk
(s)
K *(s 1) (s 2)(s 3)
r=rlocus(num, den)
[r,k]=rlocus(sys)
[r,k]=rlocus(num, den)
③测量出根轨迹增益和对应闭环极点坐标,
在窗口显示
Gk
(s)
K *(s 1) (s 2)(s 3)
[k,poles] = rlocfind(sys)
[k,poles] = rlocfind(sys,p) P为已知的要研究的闭环极点。
④绘制零、极点以及在窗口显示零极点
pzmap(sys)
Gk
(s)
K *(s 1) (s 2)(s 3)
[p,z]=pzmap(sys) 求解零极点的好方法
⑤绘制根轨迹渐近线
一般人我不告诉他:
当根轨迹渐进线与实轴的交点已求出后, 可得到方程,这是根轨迹渐进线的方程。

MATLAB实验三参考答案

MATLAB实验三参考答案

how =collect(x)
4、求下列函数的极限(写出命令) (1) lim
cos x e x 0 x4

x2 2
syms x; limit('(cos(x)-exp(-1/2*x^2))/(x^4)',x,0) -1/12 (2) lim
2 x ln 2 x 1 x 0 1 cos x
syms n; S=symsum(1/((3*n-2)*(3*n+1)),n,1,inf) 8、试求出函数 f ( x )
sin x 的麦克劳林幂级数展开式的前 9 项,并求出关于 x=2 x 3x 2
2
的 Taylor 幂级数展开式的前 5 项。(命令 taylor 或者 taylortool)
河南财经政法大学数学与信息科学学院 1
实验报告
结果: EXPR =(x^2+x*exp(-t)+1)*(x+exp(-t)) expr1 =x^3+2*exp(-t)*x^2+(1+exp(-t)^2)*x+exp(-t) expr2 =x*exp(-t)^2+(2*x^2+1)*exp(-t)+(x^2+1)*x 3、factor(因式分解),simple(简化运算,对表达式尝试多种不同的算法进行简化,并以最 简化形式给出,How 中记录的为简化过程中使用的方法, )指令的使用 syms a x; f1=x^4-5*x^3+x^2+5*x-6; factor(f1) x^4-5*x^3+x^2+5*x-6 f2=x^2-a^2; factor(f2) (x-a)*(x+a) f3=2*sin(x)^2-cos(x)^2 [y , how]=simple(f3) y 为 f 的最优化简形式,How 中记录的为简化过程中使用的方法 y =-3*cos(x)^2+2 how =simplify [y , how]=simple(f1) y =x^4-5*x^3+x^2+5*x-6

(打印)实验三 MATLAB计算的可视化

(打印)实验三 MATLAB计算的可视化

实验三MATLAB计算的可视化一、实验目的1.掌握绘制二维图形的常用函数。

2.掌握绘图三维图形的常用函数。

3.掌握绘制图形的辅助操作。

二、实验内容1.二维曲线绘图基本指令演示。

本例运作后,再试验plot(t), plot(Y), plot(Y,t) ,以观察产生图形的不同。

t=(0:pi/50:2*pi)';k=0.4:0.1:1;Y=cos(t)*k;plot(t,Y)plot指令基本操作演示plot(t)图形:plot(Y)图形:plot(Y ,t)图形:2.⎥⎦⎤⎢⎣⎡++21sin 35.0x x cosx ,在x=0~2π区间取101点,绘制函数的曲线。

实验程序如下:实验图形:3.已知y1=x2,y2=cos(2x),y3=y1 y2,完成下列操作:(1)在同一坐标系下用不同的颜色和线型绘制三条曲线。

实验程序:实验图形:(2)以子图形式绘制三条曲线。

实验图形:(3)分别用条形图、阶梯图、杆图和填充图绘制三条曲线。

实验程序:实验图形:在条形图代码的基础上修改得到以下图形:梯形图杆图填充图4.已知 y=⎪⎪⎩⎪⎪⎨⎧>++≤+0,1ln(210,22x x x x e x π 在-5≤x ≤5区间绘制函数曲线 实验程序:实验图形:总结:本次实验使用了plot(t), plot(Y), plot(Y,t) 等绘图函数,还通过修改绘图参数,改变了图形的形状、颜色。

通过修改参数:bar 、hist 、stem 、filld 等来改变绘图种类。

MATLAB(实验三)

MATLAB(实验三)

实验三1.利用 rand 函数编写一个新的函数 rand2,该函数能够产-之间的随机数,其中 n 为任意正数。

该函数以 rand 生[],n n函数为子函数。

解:function x=rand2(a,b,n)x=round(rand(a,b)*2*n-n);2.依据第五章创建的结构体,使用该结构体对一个班级的学生成绩进行管理,如计算总分、平均分、排列名次等。

解:student=struct('name',{'Hunter','Allen','Henry'},'number',{'1801','1803','1827'},'score',{[65 89 59],[48 63 75],[74 55 88]})student(1)Hunter_sum=sum(student(1).score)Hunter_mean=mean(student(1).score)student(2)Allen_sum=sum(student(2).score)Allen_mean=mean(student(2).score)student(3)Henry_sum=sum(student(3).score)Henry_mean=mean(student(3).score)score_sum=[ Hunter_sum,Allen_sum,Henry_sum];sort(score_sum,'descend')3.编写程序判断输入的年份是否为闰年并计算这一天是一年当中的第几天(包括当天)。

其中要求把判断闰年和计算天数的程序分别编写为两个函数文件leapyear.m和countday.m,并在主程序中输入要计算的年、月、日,实现对这两个函数的调用,输出信息说明该年是否是闰年和该天是一年的第几天。

MATLAB实验3

MATLAB实验3

实验三函数式M文件和MA TLAB绘图一、实验目的:1、掌握基本的绘图命令2、掌握各种图形注释方法3、掌握三维图形的绘制方法4、了解一些特殊图形的绘制5、了解图形的高级控制技巧二、相关知识1基本的绘图命令1)、常用绘图命令常用的统计图函数:在MA TLAB 7中,使用plot函数进行二维曲线图的绘制>> x=0:0.1:10;>> y1=sin(x);>> y2=cos(x-2.5);>> y3=sqrt(x);>> plot(x,y1,x,y2,x,y3)3)、极坐标图形的绘制MA TLAB提供了polar(x1,x2,s)函数来在极坐标下绘制图形:(参数1角度,参数2极半径,参数3颜色和线性)>> x= 0:0.01:10;>> y1=sin(x);>> y2 = cos(x-2.5);>> polar(y1,y2,'-r+')4)、多个图形的绘制方法subplot函数可以实现多个图形的绘制:>>x = 0:.1:20;>>subplot(2,2,1)>>plot(x,sin(x));>>subplot(2,2,2);>>plot(x,cos(x))5)、曲线的色彩、线型和数据点型基本的绘图命令都支持使用字符串来给不同的曲线定义不同的线型,颜色和数据点型。

plot(x,sin(x),'-rd')图形注释对图形进行注释的方式A 图形注释“工具栏。

B 图形调色板中的注释工具C insert 菜单中的“注释”命令D 直接使用注释命令Annotation 函数Xlabel ,ylabel ,zlabel 函数 Title 函数 Colorbar 函数 Legend 函数实验内容: 一、 基础练习1、跟我练输入x,y 的值,并将它们的值互换后输出 x=input('Input x please:\n');y=input('Input y please:\n'); echo on z=x; x=y; y=z; disp(x); disp(y);echo off2、练习请求键盘输入命令keyboard ,处理完毕后,键入return ,程序将继续运行 求一元二次方程ax2 +bx+c=0的根。

Matlab实验三答案

Matlab实验三答案

Matlab实验三答案实验三 MATLAB语⾔的程序设计⼀、实验⽬的:1、熟悉MATLAB程序编辑与设计环境2、掌握各种编程语句语法规则及程序设计⽅法3、函数⽂件的编写和设计4、了解和熟悉跨空间变量传递和赋值⼆、实验基本知识:1、程序流程控制语句for循环结构语法:for i=初值:增量:终值语句1……语句nend说明:1.i=初值:终值,则增量为1。

2.初值、增量、终值可正可负,可以是整数,也可以是⼩数,只须符合数学逻辑。

while 循环结构语法:while 逻辑表达式循环体语句end说明:1、whiIe结构依据逻辑表达式的值判断是否执⾏循环体语勾。

若表达式的值为真,执⾏循环体语句⼀次、在反复执⾏时,每次都要进⾏判断。

若表达式的值为假,则程序执⾏end之后的语句。

2、为了避免因逻辑上的失误,⽽陷⼊死循环,建议在循环体语句的适当位置加break语句、以便程序能正常执⾏。

(执⾏循环体的次数不确定;每⼀次执⾏循环体后,⼀定会改变while 后⾯所跟关系式的值。

)3、while循环也可以嵌套、其结构如下:while逻辑表达式1循环体语句1while逻辑表达式2循环体语句2end循环体语句3endelse if 表达式2(可选)语句2else(可选)语句3endend说明:1.if结构是⼀个条件分⽀语句,若满⾜表达式的条件,则往下执⾏;若不满⾜,则跳出if结构。

2.else if表达式2与else为可选项,这两条语句可依据具体情况取舍。

3.注意:每⼀个if都对应⼀个end,即有⼏个if,记就应有⼏个end。

switch-case结构语法:switch表达式case常量表达式1语句组1case常量表达式2语句组2……otherwise语句组nend说明:1.switch后⾯的表达式可以是任何类型,如数字、字符串等。

2.当表达式的值与case后⾯常量表达式的值相等时,就执⾏这个case后⾯的语句组如果所有的常量表达式的值都与这个表达式的值不相等时,则执⾏otherwise后的执⾏语句。

matlab实验三报告

matlab实验三报告

实验三MATLAB数值运算实验者:祝松年级:机设092 学号:09405701002一、实验目的掌握 MATLAB 的数值运算及其运算中所用到的函数,掌握结构数组和细胞数组的操作。

二、实验内容:(1)多项式运算。

(2)多项式插值和拟合。

(3)数值微积分。

(4)结构数组和细胞数组。

三、实验步骤:1. 多项式运算(1) 多项式表示。

在 MATLAB 中,多项式表示成向量的形式。

如:9s在 MATLAB 中表示为+s34^+>>S=[ 1 3 -5 0 9](2) 多项式的加减法相当于向量的加减法,但须注意阶次要相同。

如不同,低阶的要补 0 。

如多项式 2 s 2 + 3 s + 9 与多项式 s 4 + 3 s 3 − 5 s 2 + 4 s + 7 相加。

>>S1=[0 0 2 3 11 ]>>S2=[1 3 -5 4 7 ]>>S3=S1+S2(3) 多项式的乘、除法分别用函数 conv 和 deconv 实现>>S1=[ 2 3 11 ]>>S2=[1 3 -5 4 7 ] >>S3=conv(S1,S2)>>S4=deconv(S3,S1)(4) 多项式求根用函数 roots>> S1=[ 2 4 2 ]>> roots(S1)(5) 多项式求值用函数 polyval>>S1=[ 2 4 1 -3 ]>>polyval(S1,3) % 计算 x = 3 时多项式的值>>x = 1:10>>y=ployval(S1,x) % 计算 x 向量对应的值得到 y 向量练习:求(s^2+1)(s+3)(s+1)/s^3+2s+1的“商”及“余”多项式。

2、结构数组与细胞数组(1) 结构数组的创建。

>> student.number='20050731001';>> ='Jack';>> student(2).number='20050731002';>>student(2).name ='Lucy';或者用 struct 函数创建。

MATLAB实验报告3

MATLAB实验报告3

MATLAB实验报告3MATLAB实验报告3一、实验目的1.掌握MATLAB程序的调试方法;2.掌握MATLAB中的矩阵操作;3.熟悉MATLAB中处理图像的基本操作。

二、实验内容1.用MATLAB调试程序;2.用MATLAB进行矩阵运算;3.用MATLAB处理图像。

三、实验原理及步骤1.MATLAB程序的调试方法在MATLAB中调试程序可以采用设置断点、逐行运行、单步调试等方法。

设置断点可以在程序中的其中一行上点击左键,会出现一个红色的圆点表示断点已设置。

逐行运行可以通过点击Editor界面上的运行按钮实现。

单步调试可以通过点击断点所在行的左侧按钮实现。

2.矩阵运算在MATLAB中,对于矩阵的运算可以使用一些基本的函数,如矩阵加法、减法、乘法等。

矩阵加法可以使用"+"操作符实现,减法可以使用"-"操作符实现,乘法可以使用"*"操作符实现。

另外,MATLAB还提供了一些更复杂的矩阵运算函数,如矩阵的转置、逆等。

3.图像处理在MATLAB中,可以使用imread函数加载图像文件,使用imshow函数显示图像,使用imwrite函数保存图像。

另外,还可以使用一些图像处理函数对图像进行处理,如灰度化、二值化、平滑滤波等。

四、实验步骤1.调试程序首先,在MATLAB的Editor界面中打开要调试的程序文件。

然后,在程序的其中一行上点击左键,即设置了一个断点。

最后,点击运行按钮,程序会在断点处停下,然后可以通过单步调试和逐行运行来逐步查看程序的执行过程和变量的取值。

2.矩阵运算首先,定义两个矩阵A和B,并赋值。

然后,使用"+"操作符对两个矩阵进行相加,得到矩阵C。

最后,使用disp函数显示矩阵C的值。

3.图像处理首先,使用imread函数加载一张图像。

然后,使用imshow函数显示加载的图像。

接着,使用rgb2gray函数将彩色图像转换为灰度图像。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

效果图:
2. 当k = 1,2,3时,在同一幅图用同时画出函数sin()y kx 的图形。

MATLAB 代码:
x = 0:pi/100:2*pi; y1 = sin(x); y2 = sin(2*x); y3 = sin(3*x); plot(x,y1,x,y2,x,y3) axis([0 2*pi -1 1])
legend('y = sin(x)','y = sin(2x)','y = sin(3x)')
注:legend 的作用是对图中的不同曲线做标注
效果图:
以上画图的效果也可以用hold on实现:x = 0:pi/100:2*pi;
y1 = sin(x);
y2 = sin(2*x);
y3 = sin(3*x);
plot(x,y1);
hold on;
plot(x,y2);
plot(x,y3);
hold off
subplot(2,2,4); plot(x,y)
title('y = exp(x)*sin(4x)')
注:title 的作用是给图形写上标题 效果图:
4. 作隐函数3
3
30x y xy +-=(笛卡尔儿叶形线)的图形 MATLAB 代码:
ezplot('x^3+y^3-3*x*y',[-2 2 -2 2])
axis equal
注: axis equal 的作用是把纵横坐标的刻度比例一致 效果图:
5. 在极坐标系下画出心形线2(1cos )r θ=+ MATLAB 代码:
theta = 0:pi/100:2*pi; r = 2*(1+cos(theta)); polar(theta,r,'r')
注:参数’r’是表示用红色作图,参数与颜色之间的关系如下表所示:b 蓝色
g 绿色
r 红色
c 青绿色
m 洋红色
y 黄色
k 黑色
效果图:
5. 画出空间螺旋线cos(),sin(),x t y t z t ===的图形
MATLAB 代码:
t = 0:pi/100:10*pi;
x = cos(t);
y = sin(t);
z = t;
plot3(x,y,z)
title('x = cos(t),y = sin(t) z = t')
效果图:
7. 画出MATLAB测试函数peaks的图形
MATLAB代码:
[X,Y,Z] = peaks;
surf(X,Y,Z)
shading interp
colormap(cool)
注:shading可使用的参数及含义如下:
faceted 网络修饰,这是缺省的方式
flat 去掉黑色线条,根据小方格的值确定颜色
interp 颜色整体改变,根据小方块四角的值差补过度点的值确定颜色
colormap为色图设定函数,其参数及含义如下:hsv ——饱和值色图
gray ——线性灰度色图
hot ——暖色色图
cool ——冷色色图
bone ——兰色调灰色图
copper ——铜色色图
pink ——粉红色图
prism ——光谱色图
jet ——饱和值色图II
flag ——红、白、蓝交替色图
六、课堂练习
1. 在同一坐标系中画出函数
1sin(2*3)
y x
=+,
2sin(32)
y x
=+的图形,且对于不以同的曲线使用不同的线型;
>> x=0:pi/100:2*pi;
y1=sin(2*x+3);
y2=sin(3*x+2);
plot(x,y1,'r-',x,y2,'g+')
legend('y1=sin(2*x+3)','y2=sin(3*x+2)')
>>
2. 当k 分别取1, 2, 3, 4的时候,在同一个窗口的四个子图中分别画出函数*sin(*)y t k t ,
每个子图加上适当的标题;
>> t = 0:pi/100:2*pi;
% 画第一幅子图
y = t.*sin(1*t);
subplot(2,2,1);
3. 画出三个两两相切的圆(假设这个三个圆的方程分别是:22221,(3)4x y x y +=-+=,22(4)9x y +-=);
>> ezplot('x^2+y^2=1',[-7 7 -7 7]);
hold on
ezplot('(x-3)^2+y^2=4',[-7 7 -7 7]);
hold on
ezplot('x^2+(y-4)^2=9',[-7 7 -7 7]);
4. 在极坐标系下画出三叶形曲线3*sin(3*)r θ=,并尝试不同的线形和颜色; theta = 0:pi/100:2*pi;
>> r=3*sin(3*theta);
>> polar(theta,r,'r')
theta = 0:pi/100:2*pi; r=3*sin(3*theta); polar(theta,r,'g+')
5. 画出星形线33
2*cos ,2*sin x t y t ==的图形; >> t = 0:pi/100:10*pi;
x=2*cos(t).^3;
>> y=2*sin(t).^3;
>> plot(x,y)
6. 画出双纽线22222
()3*()x y x y +=-的图形; ezplot('(x^2+y^2)^2=3*(x^2-y^2)',[-3 3 -3 3])
7. 画出三维曲线图:*cos ,*sin ,x t t y t t z t ===
>> t=0:pi/100:2*pi;
>> x=t.*cos(t);
>> y=t.*sin(t);
>> z=t;
>> plot3(x,y,z)
8. 分别用mesh和surf函数画出马鞍面
22
46
x y
z=-+9
x=-pi:pi/50:pi;
y=x;
[X,Y]=meshgrid(x,y); z=-X.^2./4+Y.^2./6.*9; mesh(X,Y,z)
>> x=-pi:pi/50:pi;
y=x;
[X,Y]=meshgrid(x,y); z=-X.^2./4+Y.^2./6.*9; >> surf(X,Y,z)
9. 画出球心在原点的球。

Phi=0:pi/50:pi;
Theta=0:pi/50:2*pi;
[theta,phi]=meshgrid(Phi,Theta); x=sin(theta).*sin(phi);
y=sin(theta).*cos(phi);
z=cos(theta); surf(x,y,z); axis equal;
七、实验报告要求
简述实验目的;写出实验内容中解答各个题目所需要的命令及实验结果;简写实验总结与心得体会。

相关文档
最新文档