matlab实验二实验报告及程序

合集下载

实验二MATLAB绘制图形

实验二MATLAB绘制图形

grid on %在所画出的图形坐标中加入栅格
绘制图形如下
50
10
1
0.8
40
10
0.6
0.4
30
10
0.2
0
1020
-0.2
-0.4
1010
-0.6
-0.8
0
10
-1
-2
0
2
-2
0
2
10
10
10
10
10
10
如果在图中不加栅格
程序如下:
clear x=logspace(-1,2);%在10^(-1)到10^2之间产生50个 对数等分的行向量 subplot(121); loglog(x,10*exp(x),'-p') subplot(122); semilogx(x,cos(10.^x))
(2)plot(x,y): 基本格式,x和y可为向量或矩阵. 1. 如果x,y是同维向量,以x元素为横坐标,以y元素 为纵坐标绘图. 2. 如果x是向量,y是有一维与x元素数量相等的矩阵, 则以x为共同横坐标, y元素为纵坐标绘图,曲线数目 为y的另一维数. 3. 如果x,y是同维矩阵,则按列以x,y对应列元素为 横、纵坐标绘图,曲线数目等于矩阵列数.
y=2*exp(-0.5*x).*cos(4*pi*x);
2
plot(x,y)
1.5
1
0.5
0
-0.5
-1
-1.5
-2
0
1
2
3
4
5
6
7
例4 绘制曲线
t=(0:0.1:2*pi);
x=t.*sin(3*t);
y=t.*sin(t).*sin(t);

matlab实验二

matlab实验二

北京工业大学Matlab实验报告**: ***学号: ************: **实验二、Matlab 的基本计算(一)实验目的1.掌握建立矩阵的方法。

2.掌握Matlab 各种表达式的书写规则以及常用函数的使用。

3.能用Matlab 进行基本的数组、矩阵运算。

4.掌握矩阵分析的方法以及能用矩阵运算或求逆法解线性方程组。

5.掌握Matlab 中的关系运算与逻辑运算。

(二)实验环境1.计算机2.MATLAB7.0集成环境(三)实验内容及要求1、熟练操作MATLAB7.0运行环境;2、自主编写程序,必要时参考相关资料;3、实验前应写出程序大致框架或完整的程序代码;4、完成实验报告。

(四)实验程序设计1.利用diag 等函数产生下列矩阵。

⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=032570800a ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=804050702b2.利用reshape 函数将1题中的a 和b 变换成行向量。

3.产生一个均匀分布在(-5,5)之间的随机矩阵(10×2),要求精确到小数点后一位。

4.已知:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=76538773443412A ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=731203321B求下列表达式的值:(1) B A K *611+=和I B A K +-=12(其中I 为单位矩阵)(2) B A K *21=和B A K *.22=(3) 331^A K =和3.32^A K =(4) B A K /41=和A B K \42=(5) ],[51B A K =和]2:);],3,1([[52^B A K = 5.下面是一个线性方程组:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡52.067.095.03216/15/14/15/14/13/14/13/12/1x x x(1)求方程的解(矩阵除法和求逆法)(2)将方程右边向量元素3b 改为0.53,再求解,并比较3b 的变化和解的相对变化。

程序设计实验报告(matlab)

程序设计实验报告(matlab)

程序设计实验报告(matlab)实验一: 程序设计基础实验目的:初步掌握机器人编程语言Matlab。

实验内容:运用Matlab进行简单的程序设计。

实验方法:基于Matlab环境下的简单程序设计。

实验结果:成功掌握简单的程序设计和Matlab基本编程语法。

实验二:多项式拟合与插值实验目的:学习多项式拟合和插值的方法,并能进行相关计算。

实验内容:在Matlab环境下进行多项式拟合和插值的计算。

实验方法:结合Matlab的插值工具箱,进行相关的计算。

实验结果:深入理解多项式拟合和插值的实现原理,成功掌握Matlab的插值工具箱。

实验三:最小二乘法实验目的:了解最小二乘法的基本原理和算法,并能够通过Matlab进行计算。

实验内容:利用Matlab进行最小二乘法计算。

实验方法:基于Matlab的线性代数计算库,进行最小二乘法的计算。

实验结果:成功掌握最小二乘法的计算方法,并了解其在实际应用中的作用。

实验六:常微分方程实验目的:了解ODE的基本概念和解法,并通过Matlab进行计算。

实验内容:利用Matlab求解ODE的一阶微分方程组、变系数ODE、高阶ODE等问题。

实验方法:基于Matlab的ODE工具箱,进行ODE求解。

实验结果:深入理解ODE的基本概念和解法,掌握多种ODE求解方法,熟练掌握Matlab的ODE求解工具箱的使用方法。

总结在Matlab环境下进行程序设计实验,使我对Matlab有了更深刻的认识和了解,也使我对计算机科学在实践中的应用有了更加深入的了解。

通过这些实验的学习,我能够灵活应用Matlab进行各种计算和数值分析,同时也能够深入理解相关的数学原理和算法。

这些知识和技能对我未来的学习和工作都将有着重要的帮助。

MATLAB实验报告。张磊涛

MATLAB实验报告。张磊涛

789
>>A=[1 2 3;4 5 6;7 8 9],[i,j]=find(A>=5), for n=1:length(i)
m(n)=A(i(n),j(n)) end M
程序运行结果: m=7 5 8 6 9
a11 a12
5求矩阵A=
的行列式值,逆和特征值。
a21 a22
>> a11=input('a11='),a12=input('a12='),
p1 = 16 12
A = Empty matrix: 1-by-0
ans = 0
3 建立一个字符串矢量,删除其中的大写字母。
>> ch='ABcdefGHd',k=find(ch>='A'&ch<='Z'),ch(k)=[]
ch =ABcdefGHd
k1 2 7 8
ch =Cdefd
123
4 输入矩阵 A= 4 5 6 ,并找出 A 中大于或等于 5 的元素(用行列式表示)。
0.5457*exp(-0.75*x2^2-3.75*x1^2-1.5*x1) x1+x2>1
P(x1,x2)= 0.5457*exp(-0.75*x2^2-3.75*x1^2+1.5*x1) -1<x1+x2<=1
0.7575*exp(-x2^2-6.*x1^2)
x1+x2<=-1
程序: function[p]=ff(x1,x2) if x1+x2>1
实验三
一 实验目地: 1.掌握 if 语句,Switch 语句,try 语句的使用。 2.掌握利用 for 语句,which 语句实现循环结构的方法. 二 实验内容: 1 根据 1+1/3+1/5+……+1/(2n-1),求(1)y<3 时的最大 n 值;(2)与(1)的 n 值对应的 y 值。 程序(1)用 for 循环:

实验二 MATLAB并行计算的配置

实验二 MATLAB并行计算的配置

实验二MATLAB并行计算的配置
一、实验目的
1.通过matlabpool命令启动和配置matlab并行计算池,了解matlabpool的基本使用方法。

2.能够编写parfor程序进行并行环境的测试。

3.完成课堂练习。

二、实验课时:4课时
三、实验原理
第一部分:matlab并行池的启动及matlabpool命令的基本使用
首先,通过matlabpool size命令判断是否已经启动matlabpool。

图1 matlabpool size运行结果图
如果返回0,则表示没有开启matlabpool;如果返回大于0的值,则表示已经开启matlabpool。

然后通过运行matlabpool local;命令启动默认配置,其中的local表示配置项的名称。

图2 matlabpool local运行效果图
在运行此命令时,如果是win 7或者以上版本的系统,会弹出windows安全警报对话框,我们直接点击允许访问就可以了。

图3 windows安全警报图
第二部分:编写用于自动启动matlab并行计算池的函数程序1 startmatlabpool.m如下:
程序2 closematlabpool.m代码如下:
接着,我们可以通过help parfor命令来查看parfor的基本使用方法,然后按要求完成课堂练习的编码工作。

Help parfor允许效果图
四、课堂练习
1.编写一个测试parfor的程序,要求调用以上两个函数;
2.根据下面的公式使用matlab进行计算:
五、实验报告要求
简述实验目的;写出实验内容中解答各个题目所需要的命令及实验结果;简写实验总结与心得体会。

实验二MATLAB程序设计含实验报告

实验二MATLAB程序设计含实验报告

实验二 MATLAB 程序设计一、 实验目的1.掌握利用if 语句实现选择结构的方法。

2.掌握利用switch 语句实现多分支选择结构的方法。

3.掌握利用for 语句实现循环结构的方法。

4.掌握利用while 语句实现循环结构的方法。

5.掌握MATLAB 函数的编写及调试方法。

二、 实验的设备及条件计算机一台(带有MATLAB7.0以上的软件环境)。

M 文件的编写:启动MATLAB 后,点击File|New|M-File ,启动MATLAB 的程序编辑及调试器(Editor/Debugger ),编辑以下程序,点击File|Save 保存程序,注意文件名最好用英文字符。

点击Debug|Run 运行程序,在命令窗口查看运行结果,程序如有错误则改正三、 实验内容1.编写求解方程02=++c bx ax 的根的函数(这个方程不一定为一元二次方程,因c b a 、、的不同取值而定),这里应根据c b a 、、的不同取值分别处理,有输入参数提示,当0~,0,0===c b a 时应提示“为恒不等式!”。

并输入几组典型值加以检验。

(提示:提示输入使用input 函数)2.输入一个百分制成绩,要求输出成绩等级A+、A 、B 、C 、D 、E 。

其中100分为A+,90分~99分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。

要求:(1)用switch 语句实现。

(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。

(提示:注意单元矩阵的用法)3.数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。

重复此过程,最终得到的结果为1。

如:2?13?10?5?16?8?4?2?16?3?10?5?16?8?4?2?1运行下面的程序,按程序提示输入n=1,2,3,5,7等数来验证这一结论。

请为关键的Matlab 语句填写上相关注释,说明其含义或功能。

MATLAB实验报告

MATLAB实验报告

实验二MATLAB语言基础一、实验目的基本掌握MA TLAB向量矩阵数组的生成及基本运算(区分数组运算和矩阵预算)、常用的数学函数。

了解字符串的操作。

二、实验内容(1)向量的生成和运算。

(2)矩阵的创建、引用和运算。

(3)多维数组的创建和运算。

(4)字符创的操作。

三、实验步骤1.向量的生成和运算1)向量的生成<1>、直接输入法<2> 冒号表达式法<3> 函数法:Linspace()是线性等分函数,logspace()是对数等分函数。

2)向量的运算1>维数相同的行、列向量之间可以相加减,标量可以与向量直接相乘除。

2>向量的点积与叉积运算E1和E2虽然表达式相同,但E1是标量,E2是矩阵。

2.矩阵的创建、引用和运算1)矩阵的创建和引用矩阵是由m*n元素构成的矩形结构,行向量和列向量是矩阵的特殊形式。

1>直接输入法:2>抽取法:包括单下标抽取和全下表抽取两种方式,且两种方式抽取的元素都必须以小括号括起来。

3>函数法:利用ones(m;n)创建全1矩阵,zeros()创建全0矩阵,eyes()创建单位矩阵等等。

4>拼接法:纵向拼接横向拼接5>利用拼接函数cat()repmat()和变形函数reshape()>> A1=[1 2 3;9 8 7 ;4 5 6];A2=A1.';>> cat(1,A1,A2) 沿行向拼接ans =1 2 39 8 74 5 61 9 42 8 53 7 6>> cat(2,A1,A2) 沿列向拼接ans =1 2 3 1 9 49 8 7 2 8 54 5 6 3 7 6>> repmat(A1,2,2)ans =1 2 3 1 2 39 8 7 9 8 74 5 6 4 5 61 2 3 1 2 39 8 7 9 8 74 5 6 4 5 6> A=linspace(2,18,9)A =2 4 6 8 10 12 14 16 18 >> reshape(A,3,3)ans =2 8 144 10 166 12 182)矩阵的运算练习(1)用矩阵除法求下列方程组的解x=[x1;x2;x3]>> A=[6 3 4;-2 5 7;8 -1 -3];B=[3;-4;-7];X=A\BX =1.0200-14.00009.7200(2)求矩阵的秩A=[6 3 4;-2 5 7;8 -1 -3];>> rank(A)ans =3[X,lamda]=eig(A)X =0.8013 -0.1094 -0.16060.3638 -0.6564 0.86690.4749 0.7464 -0.4719lamda =9.7326 0 00 -3.2928 00 0 1.5602(3)矩阵的开方>> B=sqrtm(A)B =2.2447 + 0.2706i 0.6974 - 0.1400i 0.9422 - 0.3494i -0.5815 + 1.6244i 2.1005 - 0.8405i 1.7620 - 2.0970i1.9719 - 1.8471i -0.3017 + 0.9557i 0.0236 +2.3845i (4)矩阵的指数与对数:> C=expm(A)C =1.0e+004 *1.0653 0.5415 0.63230.4830 0.2465 0.28760.6316 0.3206 0.3745>> logm(C)ans =6.0000 3.0000 4.0000-2.0000 5.0000 7.00008.0000 -1.0000 -3.0000(6)矩阵的转置D=A'D =6 -2 83 5 -14 7 -3(7)矩阵的提取与翻转:通过各种特定函数如triu(A)、tril(A),diag(A)、flipud (A)、fliplr(A)等等。

(完整word)Matlab实验报告

(完整word)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=(x1)/(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) (2) sin(x)*x商(1)sin(x)/cos(x); (2) x/(1+x^2); (3) 1/(x—1)/(x—2); 求复合函数(1)y=exp(u) u=sin(x) (2) y=sqrt(u) u=1+exp(x^2)(3) y=sin(u) u=asin(x) (4) y=sinh(u) u=-x实验二:MATLAB基本操作与用法一、实验目的1.掌握用MATLAB命令窗口进行简单数学运算。

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

昆明理工大学信息工程与自动化学院学生实验报告( 2011——2012 学年 第一学期 )课程名称:控制系统计算机辅助设计 开课实验室:信自楼 234 2011年10月28日年级、专业、班 学号 姓名 成绩实验项目名称 实验二 控制系统分析指导教师 胡蓉教师评语该同学是否熟悉实验内容: A.熟悉□ B.比较熟悉□ C.不熟悉□ 该同学的实验能力: A.强 □ B.中等 □ C.差 □ 该同学的实验是否达到要求 : A.达到□ B.基本达到□ C.未达到□ 实验报告是否规范: A.规范□ B.基本规范□ C.不规范□ 实验过程是否详细记录: A.详细□ B.一般 □ C.没有 □注:5个A 为优,5个B 为中,介于二者间为良,5个C 为不及格,3个B以上为及格。

教师签名:年 月 日实验二 控制系统分析一、 实验目的1. 掌握如何使用Matlab 进行系统的时域分析。

2. 掌握如何使用Matlab 进行系统的频域分析。

3. 掌握如何使用Matlab 进行系统的根轨迹分析。

4. 掌握如何使用Matlab 进行系统的稳定性分析。

二、 实验内容1.时域分析(1)典型二阶系统传递函数为:当ζ=0.7, ω取2、4、6、8、10、12的单位阶跃响应。

n程序为:>> num1=4;den1=[1,2.8,4];sys1=tf(num1,den1);>> num2=16;den2=[1,5.6,16];sys2=tf(num2,den2);>> num3=36;den3=[1,8.4,36];sys3=tf(num3,den3);>> num4=64;den4=[1,11.2,64];sys4=tf(num4,den4);>> num5=100;den5=[1,14,100];sys5=tf(num5,den5);>> num6=144;den6=[1,16.8,144];sys6=tf(num6,den6);>> step(sys1,sys2,sys3,sys4,sys5,sys6);运行单位阶跃响应结果图为:(2)典型二阶系统传递函数为:当ω=6, ζ取0.2、0.4、0.6、0.8、1.0、1.5、2.0的单位阶跃响应。

n程序为:>> num4=36;den4=[1,9.2,36];sys4=tf(num4,den4);>> num5=36;den5=[1,12,36];sys5=tf(num5,den5);>> num6=36;den6=[1,18,36];sys6=tf(num6,den6);>> step(sys1,sys2,sys3,sys4,sys5,sys6);运行单位阶跃响应结果图为:2.频域分析(1)典型二阶系统传递函数为:取2、4、6、8、10、12的伯德图。

当ζ=0.7, ωn程序为:>> num1=4;den1=[1, 2.8,4];sys1=tf(num1,den1); >> num2=16;den2=[1, 5.6,16];sys2=tf(num2,den2);>> num3=16;den3=[1, 5.6,16];sys3=tf(num3,den3);>> num5=100;den5=[1, 14,100];sys5=tf(num5,den5);>> num6=144;den6=[1, 16.8,144];sys6=tf(num6,den6);>> bode(sys1,sys2,sys3,sys4,sys5,sys6,{0.001,100});运行伯德图为:(2)典型二阶系统传递函数为:=6, ζ取 0.2、0.4、0.6、0.8、1.0、1.5、2.0的伯德图。

当ωn程序为:>> num1=36;den1=[1,2.4,36];sys1=tf(num1,den1);>> num2=36;den2=[1,4.8,36];sys2=tf(num2,den2);>> num3=36;den3=[1,7.2,36];sys3=tf(num3,den3);>> num4=36;den4=[1,9.6,36];sys4=tf(num4,den4);>> num5=36;den5=[1,12,36];sys5=tf(num5,den5);>> bode(sys1,sys2,sys3,sys4,sys5,sys6,{0.001,100});运行伯德图为:3. 根轨迹分析设系统结构如图1所示。

(1)试绘制该系统的根轨迹;(2)请分别在系统左半平面和右半平面的根轨迹图上选择一点,判断在这两点系统闭环的稳定性。

程序为:由图可知系统的开环传递函数G及根轨迹为:>> sys1=tf(0.2,[0.5,1,0])Transfer function:0.2-----------0.5 s^2 + s>> sys2=5;>> sys=feedback(sys1,sys2,-1) Transfer function:0.2---------------0.5 s^2 + s + 1>> G1=tf(1,[1,0])Transfer function:1-s>> G2=series(G1,sys)Transfer function:0.2-----------------0.5 s^3 + s^2 + s>> rlocus(G2)运行结果图:3(2)A>> [k1,poles1]=rlocfind(G)Select a point in the graphics windowselected_point =-0.4396 + 0.9224ik1 =2.8939poles1 =-1.1364-0.4318 + 0.9122i-0.4318 - 0.9122i系统特征方程的所有根都是负实部的共轭复数,系统是稳定的B>> [k2,poles2]=rlocfind(G)Select a point in the graphics windowselected_point =0.4254 + 2.0776i k2 =32.1320poles2 =-2.86650.4332 + 2.0727i0.4332 - 2.0727i系统特征方程的根有正实部的共轭复数,系统是不稳定的;4.稳定性分析(1)代数法稳定性判据:已知某单位负反馈系统的开环传递函数为:试对系统闭环判别其稳定性。

四(1)程序为:den=[1,5,0,21,1]p=roots(den)i=find(real(p)>0)n=length(i)if(n>0),disp('系统不稳定,不稳定的根的个数')nelse,disp('系统稳定')end程序运行结果:den =1 5 0 21 1p =-5.65190.3497 + 1.8961i0.3497 - 1.8961i-0.0476i =23n =2系统不稳定,不稳定的根的个数n =2(2)Bode图法判断系统稳定性:已知某单位负反馈系统的开环传递函数为:试绘制系统的Bode图和Nyquist曲线,分别用两种方法判断闭环系统的稳定性,并求出系统的频域性能指标ωc、γ与时域性能指标σ%、ts(2)Bode图程序:num=[0.3,1]den=conv([1,0],[1,12,5])g=tf(num,den)bode(g,{0.01,100})[Gm,Pm,Wcg,Wcp]=margin(g)运行结果:num =0.3000 1.0000den =1 12 5 0Transfer function:0.3 s + 1------------------s^3 + 12 s^2 + 5 sGm =InfPm =69.1650Wcg =InfWcp =0.1842运行后Bode图为:(2)Nyquist曲线程序:num=[0.3,1]den=conv([1,0],[1,12,5])g=tf(num,den)Nyquist(g,{0.01,100}) [Gm,Pm,Wcg,Wcp]=margin(g) 程序运行结果:num =0.3000 1.0000den =1 12 5 0Transfer function:0.3 s + 1------------------s^3 + 12 s^2 + 5 sGm =InfPm =69.1650Wcg =InfWcp =0.1842Nyquist曲线为:系统分析:由上图所示的Nyquist曲线图可知,开环系统特征方程的根都在左半s平面,所以开环系统是稳定的。

当频率w由负无穷变到正无穷过程中,奈奎斯特曲线不包围-1+j0点,所以该系统在闭环状态下也是稳定的。

相关文档
最新文档