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及应用》实验报告2

南华大学《MATLAB及应用》实验报告2

核科学技术学院实验报告实验项目名称MATLAB符号计算所属课程名称MATLAB及应用实验类型上机实验实验日期12月日指导教师谢芹班级学号姓名成绩一、实验名称MATLAB符号计算二、实验目的(1)掌握定义符号对象的方法(2)掌握符号表达式的运算法则以及符号矩阵运算(3)掌握求符号函数极限及导数的方法(4)掌握求符号函数定积分和不定积分的方法三、实验原理1. 函数极限及导数的方法(1)函数极限:limit(F,x,a) 求符号函数f(x)的极限值。

即计算当变量x趋近于常数a时,f(x)函数的极限值。

(2)limit(f):求符号函数f(x)的极限值。

符号函数f(x)的变量为函数findsym(f)确定的默认变量;没有指定变量的目标值时,系统默认变量趋近于0,即a=0的情况。

(3)limit(f,x,a,'right'):求符号函数f的极限值。

'right'表示变量x从右边趋近于a。

(4)limit(f,x,a,‘left’):求符号函数f的极限值。

‘left’表示变量x从左边趋近于a。

2. 微分:diff(s):没有指定变量和导数阶数,则系统按findsym函数指示的默认变量对符号表达式s求一阶导数。

diff(s,'v'):以v为自变量,对符号表达式s求一阶导数。

diff(s,n):按findsym函数指示的默认变量对符号表达式s求n阶导数,n为正整数。

diff(s,'v',n):以v为自变量,对符号表达式s求n阶导数。

3. 函数定积分和不定积分的方法:int(s):没有指定积分变量和积分阶数时,系统按findsym函数指示的默认变量对被积函数或符号表达式s求不定积分。

int(s,v):以v为自变量,对被积函数或符号表达式s求不定积分。

int(s,v,a,b):求定积分运算。

a,b分别表示定积分的下限和上限。

梯形法:trapz(x,y):x为分割点构成的向量,y为被积函数在分割点上的函数值构成的向量;抛物线法:quad(f,a,b,tol),f 是被积函数,[a,b]是积分区间,tol 是精度。

MATLAB实验报告

MATLAB实验报告

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

了解字符串的操作。

二、实验内容1.向量的生成与运算;2.矩阵的创建、引用和运算;3.多维数组的创建及运算;4.字符串的操作。

三、实验步骤1.向量的生成与运算①向量的生成向量的生成有三种方法:直接输入法:生成行向量、列向量;冒号表达式法:变量=初值:间隔(可正可负):终值函数法:使用linspace线性等分函数,logspace对数等分函数。

格式为:linspace(初值,终值,个数)Logspace(初值,终值,个数), 初值及终值均为10的次幂。

②向量的运算A=[1 2 3 4 5],b=3:7,计算两行向量的转置,两行向量人加、减,两列向量的加、减;向量的点积与叉积。

a=[1 2 3 4 5];b=3:7;a =1 2 3 4 5b =3 4 5 6 7at=a',bt=b'at =12345bt =34567e1=a+b,e2=a-be1 =4 6 8 10 12 e2 =-2 -2 -2 -2 -2 f1=at+bt,f2=at-btf1 =4561012f2 =-2-2-2-2-2g1=dot(a,b),g2=a*bt>> g1=dot(a,b),g2=a*btg1 =85g2 =85g4=a.*b>> g4=a.*bg4 =3 8 15 24 35A=1:3;B=4:6;g3=cross(A,B)>> g3=cross(a,b)g3 =-3 6 -3注意:g1和g2的结果是否相同,为什么?g4的结果与g1和g2结果是否一样,为什么?g1和g2的结果相同,因为两者是同一种运算;g4与g1和g2不相同,因为两者一个是点乘一个是叉乘,运算不一样。

2.矩阵的创建、引用和运算矩阵是由n×m元素构成的矩阵结构。

实验二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实验报告第二章

第二章作业M2_1.利用MATLAB实现下列连续时间信号。

(1)x(t)=u(t)-u(t-2)function y=heaviside(t);y=(t>0);endt=-10:0.001:10;>>xt=heaviside(t)-heaviside(t-2);>>plot(t,xt)>>axis([-10,10,-2,2])(2) x(t)=u(t)function y=heaviside(t);y=(t>0);endt=-10:0.001:10;>>xt=heaviside(t);>>plot(t,xt)>>axis([-10,10,-2,2])(3)xt=10exp(-t)-5exp(-2t)>> A=10;a=-1;>> t=0:0.001:10;>> x1t=A*exp(a*t);>> A=5;a=-2;>> t=0:0.001:10;>> x2t=A*exp(a*t);>>xt=x1t-x2t;>>plot(t,xt)(4)xt=tu(t)>> t=-10:0.001:10;>>xt=t.*heaviside(t);>>plot(t,xt)(5)xt=2|sin(10pit+pi/3)| >> A=2;w0=10*pi;phi=pi/3; >> t=0:0.001:1;>>xt=A*abs(sin(w0*t+phi)); >>plot(t,xt)>>axis([0,1,-4,4])Xt=cost+sin(2pit)>> A=1;w0=1;phi=0; >> t=0:0.002:10;>> x1t=A*cos(w0*t+phi); >> A=2;w0=2*pi;phi=0; >> t=0:0.002:10;>> x2t=A*sin(w0*t+phi); >>xt=x1t+x2t;>>plot(t,xt)(7)xt=4exp(-0.5t)cos(2pit) >> A=5;a=-0.5;>> t=0:0.001:10;>> x1t=A*exp(a*t);>> A=1;w0=2*pi;phi=0; >> t=0:0.001:10;>> x2t=A*cos(w0*t+phi); >>xt=x1t.*x2t;>>plot(t,xt)(8)Sa(pit)cos(30t)A=1;w0=30;phi=0;>> t=0:0.001:3;>> x1t=A*cos(w0*t+phi);>> t=0:0.001:3;>> x2t=sinc(t);>>xt=x1t.*x2t;>>plot(t,xt)M2-3,写出书中图示波形函数,并画出xt,x0.5t,x(2-0.5t)的图像function yt=x2_3(t)yt=t.*(t>=0&t<2)+2*(t>=2&t<3)+(-1)*(t>=3&t<=5); end>> t=0:0.001:5;>>xt=x2_3(t);>>title('x(t)');>>plot(t,xt)>>axis([0,6,-2,3])>> t=0:0.001:10;xt=x2_3(0.5*t); >>plot(t,xt)>>title('x(0.5t)')>>axis([0,10,-2,3])x(0.5t)>> t=-10:0.001:10;>>xt=x2_3(2-0.5*t);>>plot(t,xt)>>title('x(2-0.5t)')>>axis([-10,10,-2,3])M2-4画出图示的奇分量和偶分量。

matlab实验报告2

matlab实验报告2

第二次上机作业准备&要求:1、 运行课件第三章(课本第四章)讲过的例子,掌握Matlab 的流程控制语句、函数及脚本文件的编程、调试方法。

2、 本次作业(4~12题)要求全部写M 文件;3、 题目要求未明确要求写脚本文件还是函数文件的,学生自己决定是写脚本文件还是函数文件。

只要能够实现要求。

4、 列出第二章课堂上出现过的所有函数,知道它们的作用并试着调用这些函数。

作业:1. 继续完成第一次上机实验未完成的作业。

2. 分析脚本M 文件及函数M 文件的区别。

(1)脚本文件没有输入参数,也不返回输出参数,而函数文件可以带输入参数,也可以返回输出参数。

(2)脚本文件对MATLAB 工作空间中的变量进行操作,文件中所有命令的执行结果也完全返回到工作空间中,而函数文件中定义的变量为局部变量,当函数文件执行完毕时。

这些变量被清除。

(3)脚本文件可以直接运行。

在MATLAB 命令行窗口输入脚本文件的名字,就会顺序执行脚本文件中的命令。

而函数文件不能直接运行,要以函数调用的方式来调用。

3. 已知⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=7613870451A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=023352138B ,求下列表达式的值,并注意第(2)(3)小题表达式的结果有何特点:(1)B A 6+ 、I B A +-2(其中I 为单位阵);>> A+6*Bans =47 23 -1012 37 26-15 73 7>> A^2-B+Ians =-18 -217 1722 533 10921 867 526(2)A*B、A.*B、B*A、B.*A;>> A*Bans =14 14 16-10 51 21125 328 180>> A.*Bans =-8 15 40 35 24-9 122 0>> B*Aans =-11 0 -157 228 533 -1 28>> B.*Aans =-8 15 40 35 24-9 122 0(3)A/B、B\A、A./B、B.\A;A/Bans =1.2234 -0.92552.9787-0.9468 2.3511 -0.95744.6170 3.8723 13.8936>> B\Aans =-0.5106 -8.6170 -1.12770.7340 17.5745 1.8085-0.8830 -21.2128 0.4043>> A./Bans =-0.1250 1.6667 4.00000 1.4000 2.6667-1.0000 30.5000 Inf>> B.\Aans =-0.1250 1.6667 4.00000 1.4000 2.6667-1.0000 30.5000 Inf(4)[A, B]、[A([1 3],:);B^2]。

matlab实验报告

matlab实验报告

实验一:MATLAB基本操作一、实验目的1、学习掌握MA TLAB语言的基本操作方法2、掌握命令窗口的使用3、熟悉MA TLAB的数据表示、基本运算和程序控制语句4、熟悉MA TLAB程序设计的基本方法二、实验内容和要求2.b.帮助命令的使用,查找SQRT函数的使用方法按Start-help-search,输入sqrtc.矩阵运算(1)已知A=[1 2;3 4];B=[5 5;7 8];求A^2*B输入A=[1 2;3 4];B=[5 5;7 8];A^2*B结果为:ans =105 115229 251(2)矩阵除法已知A=[1 2 3 ;4 5 6;7 8 9];B=[1 0 0;0 2 0;0 0 3];求A/B,A\BA/B=1.0000 1.0000 1.00004.0000 2.5000 2.00007.0000 4.0000 3.0000A\B=1.0e+016 *0.3152 -1.2609 0.9457-0.6304 2.5218 -1.89130.3152 -1.2609 0.9457(3)矩阵的转置及共轭转置已知A=[15+i,2-i,1;6*i,4,9-i];求A.',A'A=15.0000 + 1.0000i 2.0000 - 1.0000i 1.00000 + 6.0000i 4.0000 9.0000 - 1.0000iA.'=15.0000 + 1.0000i 0 + 6.0000i2.0000 - 1.0000i 4.00001.0000 9.0000 - 1.0000iA'=15.0000 - 1.0000i 0 - 6.0000i2.0000 + 1.0000i 4.00001.0000 9.0000 + 1.0000i(4)使用冒号选出指定元素已知A=[1 2 3;4 5 6;7 8 9];求A中第三列前两个元素;A中所有第二行的元素A =1 2 34 5 67 8 9求A中第三列前两个元素:A([1,2],3)ans =36求A中所有第二行的元素:A(2,1:1:end)ans =4 5 6(5)方括号[]用magic函数生成一个4阶魔方矩阵,删除该矩阵的第四列magic(4)ans =16 2 3 135 11 10 89 7 6 124 14 15 1a=ans;a(:,[1,2,3])ans =16 2 35 11 109 7 64 14 153..多项式(1)求多项式p(X)=x^3-2x-4的根(2)已知A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4]求矩阵A的特征多项式;求矩阵多项式中未知数为20时的值;把矩阵A作为未知数代入到多项式中;(1)a=[1,0,-2,-4]x=roots(a)x =2.0000-1.0000 + 1.0000i-1.0000 - 1.0000i(2)求特征多项式系数:A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4]p=poly(A)p =1.0000 -6.9000 -77.2600 -86.1300 604.5500求矩阵多项式中未知数为20时的值:c=polyval(p,20)c =7.2778e+004把矩阵A作为未知数代入到多项式中:c=polyval(p,A)c =1.0e+003 *0.3801 -0.4545 -1.9951 0.4601-1.9951 0.2093 -1.9951 -2.8880-0.4545 -4.8978 0.6046 0.43530.4353 0.0840 -0.4545 -1.16174、基本程序设计(1)编写命令文件:计算1+2+3+……+n<2000;n=0;s=0;while s<2000n=n+1;s=s+n;endn=n-1n =62(2)编写函数文件:分别用for和while循环结构编写程序,求2的0到n次幂的和。

MATLAB第二章实验报告

MATLAB第二章实验报告

MATLAB数据及基本操作班级:11电信一班姓名:何得中学号:20111060108实验目的:1.熟悉MATLAB的组体成体系及工作环境;2.了解MATLAB的帮助系统;3.掌握MATLAB的数据类型及变量的基本操作;4.掌握矩阵建立的基本方法及其运算;5.掌握矩阵索引与分析方法;6.熟悉字符串单元及结构数据的建立及基本操作。

实验仪器:MA TLAB软件,电脑实验数据:>> A=[1 2 3;4 5 6;7 8 9]A = 1 2 34 5 67 8 9>> A=[1 2 34 5 67 8 9]A = 1 2 34 5 67 8 9>> x=0:pi/8:2*pi;>> y=cos(x)y = Columns 1 through 101.0000 0.9239 0.7071 0.3827 0.0000 -0.3827 -0.7071 -0.9239 -1.0000 -0.9239Columns 11 through 17-0.7071 -0.3827 -0.0000 0.3827 0.7071 0.9239 1.0000>> B=ones(3,5)B = 1 1 1 1 11 1 1 1 11 1 1 1 1>> zeros(3)ans = 0 0 00 0 00 0 0>> C=rand(3,4)C = 0.9501 0.4860 0.4565 0.44470.2311 0.8913 0.0185 0.61540.6068 0.7621 0.8214 0.7919>> D=randn(2,3)D = -0.4326 0.1253 -1.1465-1.6656 0.2877 1.1909>> eye(3)ans = 1 0 00 1 00 0 1>> M=magic(4)M = 16 2 3 135 11 10 89 7 6 124 14 15 1>> T=toeplitz(1:5,1:6)T = 1 2 3 4 5 62 1 234 53 2 1 2 3 44 3 2 1 2 35 4 3 2 1 2>> H=hilb(5)H = 1.0000 0.5000 0.33330.2500 0.20000.5000 0.3333 0.2500 0.2000 0.16670.3333 0.2500 0.2000 0.1667 0.14290.2500 0.2000 0.1667 0.1429 0.12500.2000 0.1667 0.1429 0.1250 0.1111>> a=3:18a =3 4 5 6 7 8 9 10 1112 13 14 15 16 17 18>> b=1:0.2:6b =Columns 1 through 91.0000 1.2000 1.4000 1.600 1.80002.0000 2.2000 2.4000 2.6000 Columns 10 through 182.80003.0000 3.2000 3.40003.6000 3.80004.0000 4.2000 4.4000 Columns 19 through 264.6000 4.80005.0000 5.20005.4000 5.6000 5.80006.0000>> linspace(1,15,10)ans =Columns 1 through 91.00002.5556 4.1111 5.6667 7.2222 8.7778 10.3333 11.8889 13.4444Column 1015.0000>> y=[0.9 0.3 0.4 0.1 0.5 0.6 0.2 ]; >> [sorted,index]=sort(y)sorted =0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.9000 index =4 7 2 3 5 6 1>> A=rand(4,5)A = 0.9218 0.9355 0.0579 0.13890.27220.7382 0.9169 0.3529 0.2028 0.19880.1763 0.4103 0.8132 0.1987 0.01530.4057 0.8936 0.0099 0.6038 0.7468>> [a,b]=min(A)a =0.1763 0.4103 0.0099 0.13890.0153b = 3 3 4 1 3>> min(A(:))ans = 0.0099>> V=[1 2 3 4]V = 1 2 3 4>> norm(V,2)ans =5.4772>> norm(V,1)ans = 10>> norm(V,inf)ans = 4>> V=[2 5 6 8 4 9]V = 2 5 6 8 4 9>> min(V)ans = 2>> V=[4 9 6;7 8 9;4 5 6]V = 4 9 67 8 94 5 6>> min(V)ans = 4 5 6>> max(V)ans = 7 9 9>> mean(V)ans = 5.0000 7.3333 7.0000>> median(V)ans = 4 8 6>> std(V)ans = 1.7321 2.0817 1.7321>> diff(V)ans =3 -1 3-3 -3 -3>> sort(V)ans =4 5 64 8 67 9 9>> length(V)ans = 3>> norm(V)ans =19.9125>> sum(V)ans = 15 22 21>> prod(V)ans =112 360 324>> cumsum(V)ans = 4 9 611 17 1515 22 21 >> cumprod(V)ans = 4 9 628 72 54112 360 324>> V=[1 2 8]V = 1 2 8>> U=[3; 4;7]U = 347>> dot(V,U)ans =67>> cross(V,U)ans =-18 17 -2>> A=[5 6 4;7 8 9;4 5 6]A = 5 6 47 8 94 5 6>> B=[6 2 7 ;7 5 8;4 6 8]B = 6 2 77 5 84 6 8>> C=A-BC = -1 4 -30 3 10 -1 -2>> C=A*BC = 88 64 115134 108 18583 69 116>> C1=A\BC1 =0.6667 -6.4444 -7.66670.6667 4.8889 7.3333-0.3333 1.2222 0.3333>> C2=B/AC2 = -3.0000 8.3333 -9.3333-1.6667 5.5556 -5.88890.0000 -1.3333 3.3333>> A=[1 2 3;4 5 6;7 8 9]A = 1 2 34 5 67 8 9>> D=A^2D = 30 36 4266 81 96102 126 150>> E=A^0.1E = 0.8466 + 0.2270i 0.3599 + 0.0579i -0.0967 - 0.1015i0.4015 + 0.0216i 0.4525 + 0.0133i 0.4432 - 0.0146i-0.0134 - 0.1740i 0.4848 - 0.0509i 1.0132 + 0.0820i>> A=[1+2*i 3;4 2+i]A =1.0000 + 2.0000i 3.00004.0000 2.0000 + 1.0000i>> A'ans = 1.0000 - 2.0000i 4.00003.0000 2.0000 - 1.0000i>> A=[1 2 3;4 5 6;7 8 9]A = 1 2 34 5 67 8 9>> B=[3 4 6;7 9 8;5 2 01]B = 3 4 67 9 85 2 1>> C=A.*BC = 3 8 1828 45 4835 16 9>> D=A./BD = 0.3333 0.5000 0.50000.5714 0.5556 0.75001.4000 4.0000 9.0000>> E=A.\BE = 3.0000 2.0000 2.00001.7500 1.8000 1.33330.7143 0.2500 0.1111>> A=[1+2*i 3;4 2+i]A = 1.0000 + 2.0000i 3.00004.0000 2.0000 + 1.0000i>> A.^2ans = -3.0000 + 4.0000i 9.000016.0000 3.0000 + 4.0000i>> A.'ans = 1.0000 + 2.0000i 4.00003.0000 2.0000 + 1.0000i>> x=0.1:0.1:0.8x =0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000>> y=sin(2*x).*cos(2*x)y =0.1947 0.3587 0.4660 0.4998 0.4546 0.3377 0.1675 -0.0292>> y=sin(x)y =0.0998 0.1987 0.2955 0.3894 0.4794 0.5646 0.6442 0.7174>> y=cos(x)y =0.9950 0.9801 0.9553 0.9211 0.8776 0.8253 0.7648 0.6967>> y=tan(x)y =0.1003 0.2027 0.3093 0.4228 0.5463 0.6841 0.8423 1.0296>> y=cot(x)y =9.9666 4.9332 3.2327 2.3652 1.8305 1.4617 1.1872 0.9712>> y=sec(x)y = 1.0050 1.0203 1.0468 1.0857 1.1395 1.2116 1.3075 1.4353>> y=csc(x)y = 10.0167 5.0335 3.3839 2.5679 2.0858 1.7710 1.5523 1.3940>> y=asin(x)y = 0.1002 0.2014 0.3047 0.4115 0.5236 0.6435 0.7754 0.9273>> y=acos(x)y = 1.4706 1.3694 1.2661 1.1593 1.0472 0.9273 0.7954 0.6435>> y=atan(x)y =0.0997 0.1974 0.2915 0.3805 0.4636 0.5404 0.6107 0.6747>> y=acot(x)y = 1.4711 1.3734 1.2793 1.1903 1.1071 1.0304 0.9601 0.8961>> y=asec(x)y =Columns 1 through 60 + 2.9932i 0 + 2.2924i0 + 1.8738i 0 + 1.5668i 0 +1.3170i 0 + 1.0986iColumns 7 through 80 + 0.8956i 0 + 0.6931i>> y=sinh(x)y =0.1002 0.2013 0.3045 0.4108 0.5211 0.6367 0.7586 0.8881>> y=cosh(x)y =1.0050 1.0201 1.0453 1.0811 1.1276 1.1855 1.2552 1.3374>> y=tanh(x)y = 0.0997 0.1974 0.2913 0.3799 0.4621 0.5370 0.6044 0.6640>> y=coth(x)y = 10.0333 5.0665 3.4327 2.6319 2.1640 1.8620 1.6546 1.5059>> y=sech(x)y = 0.9950 0.9803 0.9566 0.9250 0.8868 0.8436 0.7967 0.7477>> y=csch(x)y = 9.9834 4.9668 3.2839 2.4346 1.9190 1.5707 1.3182 1.1260>> y=asinh(x)y = 0.0998 0.1987 0.2957 0.3900 0.4812 0.5688 0.6527 0.7327>> y=acosh(x)y =Columns 1 through 60 + 1.4706i 0 + 1.3694i0 + 1.2661i 0 + 1.1593i 0 +1.0472i 0 + 0.9273iColumns 7 through 80 + 0.7954i 0 + 0.6435i>> y=atanh(x)y = 0.1003 0.2027 0.3095 0.4236 0.5493 0.6931 0.8673 1.0986>> y=acoth(x)y = Columns 1 through 60.1003 + 1.5708i 0.2027 + 1.5708i 0.3095 + 1.5708i 0.4236 + 1.5708i 0.5493 + 1.5708i 0.6931 + 1.5708i Columns 7 through 80.8673 + 1.5708i 1.0986 + 1.5708i >> y=asech(x)y = 2.9932 2.2924 1.8738 1.5668 1.3170 1.0986 0.8956 0.6931>> y=acsch(x)y = 2.9982 2.3124 1.9189 1.6472 1.4436 1.2838 1.1545 1.0476>> y=log(x)y =-2.3026 -1.6094 -1.2040 -0.9163 -0.6931 -0.5108 -0.3567 -0.2231>> y=log10(x)y = -1.0000 -0.6990 -0.5229 -0.3979 -0.3010 -0.2218 -0.1549 -0.0969>> y=log2(x)y =-3.3219 -2.3219 -1.7370 -1.3219 -1.0000 -0.7370 -0.5146 -0.3219>> c=complex(a,b)c = 0.1763 + 3.0000i 0.4103 + 3.0000i0.0099 + 4.0000i 0.1389 + 1.0000i 0.0153 + 3.0000i>> zc=conj(x)zc =0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000>> b=imag(x)b = 0 0 0 0 0 00 0>> a=real(x)a = 0.1000 0.2000 0.3000 0.40000.5000 0.6000 0.7000 0.8000>> y=fix(x)y = 0 0 0 0 0 0 0 0>> y=floor(x)y =0 0 0 0 0 0 0 0 >> y=ceil(x)y = 1 1 1 1 1 1 1 1>> y=round(x)y = 0 0 0 0 1 1 1 1>> y=sign(x)y = 1 1 1 1 1 1 1 1>> S=rats(x)S =1/10 1/5 3/10 2/5 1/2 3/5 7/10 4/5>> [N,D]=rat(x)N = 1 1 3 2 1 37 4D = 10 5 10 5 2 510 5>> A=[2 4 6;3 5 7;8 10 9]A = 2 4 63 5 78 10 9>> B=[4 1 5;7 5 0;9 3 6]B = 4 1 57 5 09 3 6>> A>Bans = 0 1 10 0 10 1 1>> A<Bans = 1 0 01 0 01 0 0>> A>=Bans = 0 1 10 1 10 1 1>> A<=Bans = 1 0 01 1 01 0 0>> A==Bans = 0 0 00 1 00 0 0>> A~=Bans =1 1 11 0 11 1 1>> A&Bans = 1 1 11 1 01 1 1>> A|Bans = 1 1 11 1 11 1 1>> ~Aans = 0 0 00 0 00 0 0>> ~Bans = 0 0 00 0 10 0 0>> x=0:pi/100:3*pi;>> y=sin(x);>> plot(x,y);>> y1=(x<pi|x>2*pi).*y;>> figure,plot(x,y1);>> r=(x>pi/3&x<2*pi/3)|(x>7*pi/3&8*pi/3);>> rn=~r;>> y2=r*sin(pi/3)+rn.*y1;>> figure,plot(x,y2)>> x=[0 4 5 9 8 6 74 85 7 4 85 8 4 5 8]x =0 4 5 9 8 6 74 85 7 4 85 8 4 5 8>> all(x)ans =0>> any(x)ans = 1>> find(x)ans =2 3 4 5 6 7 8 9 10 11 12 13 14 15>> isempty(x)ans =>> isglobal(x)Warning: isglobal is obsolete and will be discontinued. Type "help isglobal" for more details.ans =0>> isinf(x)ans =0 0 0 0 0 0 0 0 0 0 0 0 0 0 0>> isnan(x)ans =0 0 0 0 0 0 0 0 0 0 0 0 0 0 0>> isfinite(x)ans =1 1 1 1 1 1 1 1 1 1 1 1 1 1 1>> issparse(x)ans = 0>> isstr(x)ans =0>> not(x)ans =1 0 0 0 0 0 0 0 0 0 0 0 0 0 0>> y=[59 46 78 2 3 98 1 2 3 57 9 5 66 8 900 5]y =59 46 78 2 3 98 1 2 3 57 9 5 66 8 900 5>> y=[59 46 78 2 3 98 1 2 3 57 9 5 66 8 900 5]y = 59 46 78 2 3 98 1 2 3 57 9 5 66 8 900 5>> x=[0 4 5 9 8 6 74 85 7 4 85 8 4 5 8]x = 0 4 5 9 8 6 74 85 7 4 85 8 4 5 8>> A=[4 -40 2; 23 50 17;18 29 14]A = 4 -40 223 50 1718 29 14>> [r,c]=find(A>=20&A<=30)r = 23c = 12>> bitand(12,6)ans = 4>> bitshift(12,1)ans = 24>> bitxor(12,1)ans =13>> bitset(12,1)ans = 13 >> bitget(12,1)ans =0>> A =[ 87 59 56 85 66 21 12 35 62 64 69 88 99 81]A =87 59 56 85 66 21 1235 62 64 69 88 99 81>> A(2)ans =59>> A([1,2,8])ans =87 59 35>> A([9,6,2])ans =62 21 59>> A([end-4:end])ans =64 69 88 99 81>> A([1:5,5:-1:1])ans = 87 59 56 85 66 66 85 56 59 87>> A(3)=-1A = 87 59 -1 85 66 2112 35 62 64 69 88 99 81>> A(15)=-8A =87 59 -1 85 66 2112 35 62 64 69 88 99 81 -8>> A(20)=-1A = Columns 1 through 1687 59 -1 85 66 21 12 35 62 64 69 88 99 81 -8 0Columns 17 through 200 0 0 -1>> A=rand(8)A = 0.9501 0.8214 0.9355 0.13890.4451 0.8381 0.3046 0.37840.2311 0.4447 0.9169 0.2028 0.9318 0.0196 0.1897 0.86000.6068 0.6154 0.4103 0.1987 0.4660 0.6813 0.1934 0.85370.4860 0.7919 0.8936 0.6038 0.4186 0.3795 0.6822 0.59360.8913 0.9218 0.0579 0.2722 0.8462 0.8318 0.3028 0.49660.7621 0.7382 0.3529 0.1988 0.5252 0.5028 0.5417 0.89980.4565 0.1763 0.8132 0.0153 0.2026 0.7095 0.1509 0.82160.0185 0.4057 0.0099 0.7468 0.6721 0.4289 0.6979 0.6449>> A(3,3)ans =0.4103>> A(8)ans =0.0185>> sub2ind(size(A),3,3)ans =19>> [i,j]=ind2sub(size(A),19)i =3j =3>> A(:,4)ans =0.13890.20280.19870.60380.27220.19880.01530.7468>> A(3,:)ans =0.6068 0.6154 0.4103 0.1987 0.4660 0.6813 0.1934 0.8537>> A(end,:)ans =0.0185 0.4057 0.0099 0.7468 0.6721 0.4289 0.6979 0.6449>> A(3:4,5:6)ans =0.4660 0.68130.4186 0.3795>> A(2:2:4,1:2:5)ans =0.2311 0.9169 0.93180.4860 0.8936 0.4186>> A=reshape(A,5,5)A = 1 6 11 16 212 7 12 17 223 8 13 18 234 9 14 19 245 10 15 20 25>> A(:)'ans =Columns 1 through 161 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16Columns 17 through 2517 18 19 20 21 22 23 24 25>> A(:,1:2:5)=[]A = 6 167 178 189 1910 20>> A=[9 8 7;6 5 4;3 2 1];>> D=diag(A)D =951>> D1=diag(A,1)D1 =84>> D2=diag(A,-1)D2 =62>> V=[1 2 3 4];>> diag(V)ans = 1 0 0 00 2 0 00 0 3 00 0 0 4>> diag(1:3,-1)ans = 0 0 0 01 0 0 00 2 0 00 0 3 0>>A=[17,1,0,15;5,7,14,16;4,0,13,0;10,12,19,21]; >> D=diag(4:-1:1);>> D*Aans = 68 4 0 6015 21 42 488 0 26 010 12 19 21>> triu(A)ans =17 1 0 150 7 14 160 0 13 00 0 0 21>> triu(A,1)ans = 0 1 0 150 0 14 160 0 0 00 0 0 0>> B=A'B =17 5 4 101 7 0 120 14 13 1915 16 0 21>> rot90(A)ans =15 16 0 210 14 13 191 7 0 1217 5 4 10>> rot90(A,3)ans =10 4 5 1712 0 7 119 13 14 021 0 16 15>> B=fliplr(A)B = 15 0 1 1716 14 7 50 13 0 421 19 12 10>> B=flipud(A)B = 10 12 19 214 0 13 05 7 14 1617 1 0 15>> A=[4 5 6 9;7 8 9 5;4 5 6 9;7 8 9 5]; >> det(A)ans =0>> rank(A)ans =2>> cond(A)ans =1.0968e+017>> inv(A)Warning: Matrix is singular to working precision.ans = Inf Inf Inf InfInf Inf Inf InfInf Inf Inf InfInf Inf Inf Inf>> A=[4 8 9;8 2 7;6 3 8];>> inv(A)ans = 0.0568 0.4205 -0.43180.2500 0.2500 -0.5000-0.1364 -0.4091 0.6364>> [V,D]=eig(A)V = -0.6438 -0.7444 -0.5061-0.5467 0.6392 -0.5515-0.5354 0.1931 0.6631D = 18.2776 0 00 -5.2030 00 0 0.9254>> [U,S,D]=svd(A)U = -0.6378 0.7375 -0.2220-0.5426 -0.6348 -0.5500-0.5465 -0.2304 0.8051S = 18.9278 0 00 5.2884 00 0 0.8791D = -0.5374 -0.6639 -0.5200-0.4135 0.7449 -0.5236-0.7350 0.0663 0.6749>> [L,U]=lu(A)L = 0.5000 1.0000 01.0000 0 00.7500 0.2143 1.0000U = 8.0000 2.0000 7.00000 7.0000 5.50000 0 1.5714>> [Q,R]=qr(A)Q = -0.3714 0.9114 -0.1774-0.7428 -0.4063 -0.5322-0.5571 -0.0659 0.8278 R =-10.7703 -6.1279 -12.99870 6.2808 4.83140 0 1.3009>> a=1234a = 1234>> class(a)ans =double>> size(a)ans = 1 1>> b='1234'b =1234>> class(b)ans =char>> size(b)ans = 1 4>> 'I am astudent'ans =I am astudent>> a='This is No.2.23 Example!'a =This is No.2.23 Example!>> b=a(1:7)b =This is>> c=a(12:end)c =2.23 Example!>> a='Good';>> b='Noon';>> length(a)==length(b)ans = 1>> c=[a,'',b]c =GoodNoon>> d=[a;b]d =GoodNoon>> size(c)ans = 1 8>> size(d)ans = 2 4>> a='Good Noon';>> b=double(a)b = 71 111 111 100 32 78 111 111 110>> c='再见!'c =再见!>> c='再见!'>> d=double(c)d = 20877 35265 65281>> char(d)ans =再见!>> a='The first string';>> b='The second string';>> c=strcmp(a,b)c =0>> d=strncmp(a,b,4)d =1>> X='A friend in need is a friend indeed'; >> Y='friend';>> a=findstr(Y,X)a = 3 23>> b=strfind(Y,X)b = []>> S=['1 2 3';'2 3 4'];>> A=str2num(S)A = 1 2 32 3 4>> B=str2num('6-8i')B = 6.0000 - 8.0000i>> D=num2str(rand(2,3),6)D =0.950129 0.606843 0.8912990.231139 0.485982 0.762097>> d=189;>> h=dec2hex(d)h =BD>> c=dec2base(d,7)c =360>> b=dec2bin(d)b =10111101>> bin2dec(b)ans = 189>> A={ones(3,3,3),'Welcome';30.34,1:200} A = [3x3x3 double] 'Welcome'[ 30.3400] [1x200 double]>>B=[{ones(3,3,3)},{'Welcome'};{30.34},{1:20 0}]B = [3x3x3 double] 'Welcome'[ 30.3400] [1x200 double]>> C={5}C = [5]>> C(2,3)={7}C = [5] [] [][] [] [7]>> isequal(A,B)ans =1>> A={ones(3,3,3),'Welcome';30.34,1:200}; >> b=A(1,2)b = 'Welcome'>> class(B)ans =cell>> C=A{1,2}C =Welcome>> class Cans =char>> D=A{1,2}(6)D =m>> E=A{2,2}([end:-1:190])E =200 199 198 197 196 195 194 193 192 191 190>> class(E)ans =double>> N=A{3}([1 3 5 7])N =Wloe>> A={ones(3,3,3),'Welcome';30.34,1:200}; >> B=cell(2);>> B(:,1)={char('Good','Morning');1:10}B = [2x7 char ] [][1x10 double] []>> C=[A,B]C = [3x3x3 double] 'Welcome' [2x7 char ] [][ 30.3400] [1x200 double] [1x10 double] []>> D=[A,B;C]D = [3x3x3 double] 'Welcome' [2x7 char ] [][ 30.3400] [1x200 double] [1x10 double] [][3x3x3 double] 'Welcome' [2x7 char ] [][ 30.3400] [1x200 double] [1x10 double] []>> D(4,:)=[]D = [3x3x3 double] 'Welcome' [2x7 char ] [][ 30.3400] [1x200 double] [1x10 double] [][3x3x3 double] 'Welcome' [2x7 char ] []>> E=reshape(D,2,3,2)E(:,:,1) = [3x3x3 double] [3x3x3 double] [1x200 double][ 30.3400] 'Welcome' 'Welcome'E(:,:,2) = [2x7 char ] [2x7 char] [][1x10 double] [] []>>A={randn(3,3,2),'Good',pi;29,4+7*i,zeros(4)} A = [3x3x2 double] 'Good' [ 3.1416][ 29] [4.0000+ 7.0000i] [4x4 double]>> B=cellfun('isreal',A)B = 1 1 11 0 1>> C=cellfun('length',A)C = 3 4 11 1 4>> Member.code='09021';>> ='Liu';>> Member.age=22;>> Member.grade=uint16(3);>> MemberMember =code: '09021'name: 'Liu'age: 22grade: 3>> Member(4).name='Wang';>> Member(4).grade=2;>> Member(2)ans = code: []name: []age: []grade: []>>Memebr=struct('code','09021','name','Liu','a ge',22,'grade',uint16(3))Memebr = code: '09021'name: 'Liu'age: 22grade: 3>>Member=struct('code',{'09021','09034'},'name' ,{'Liu','Wamg'},'age',{22,24},'grade',{2,3}) Member = 1x2 struct array with fields:codenameagegrade>>Member=struct('code',{},'name',{},'age',{},'gr ade',{})Member = 0x0 struct array with fields:codenameagegrade>>Member=struct('code',{'09021','09034'},'na me',{'Liu','Wang'},'age',{22,24},'grade',{2,3},' score',{[78 89;90 68],[91 76;89 97]}) Member = 1x2 struct array with fields:codenameagegradescore>> Member(1).scoreans =78 8990 68>> Member(2).score(2,:)ans =89 97>> Member.codeans =09021ans =09034>> Member.('name')ans =Liuans =Wang>> ='Liu';M.ID=1;>> M(2,2).name='Wang';M(2,2).ID=2; >> M2=setfield(M,{2,1},'name','Zhang'); >> ans =Liuans =[]ans = []ans =Wang>> ans =Liuans =Zhangans = []ans =Wang>> fieldnames(M)ans = 'name''ID'>> M3=orderfields(M)M3 = 2x2 struct array with fields:IDname。

matlab 实验报告

matlab 实验报告

matlab 实验报告Matlab实验报告引言:Matlab是一种强大的数值计算和可视化软件,广泛应用于科学、工程和经济等领域。

本实验报告将介绍我在使用Matlab进行实验过程中的一些经验和结果。

实验一:矩阵运算在这个实验中,我使用Matlab进行了矩阵运算。

首先,我创建了一个3x3的矩阵A和一个3x1的矩阵B,并进行了矩阵相乘运算。

通过Matlab的矩阵乘法运算符*,我得到了一个3x1的结果矩阵C。

接着,我对矩阵C进行了转置操作,得到了一个1x3的矩阵D。

最后,我计算了矩阵C和矩阵D的点积,并将结果输出。

实验二:数据可视化在这个实验中,我使用Matlab进行了数据可视化。

我选择了一组实验数据,包括时间和温度两个变量。

首先,我将数据存储在一个矩阵中,并使用Matlab的plot函数将时间和温度之间的关系绘制成曲线图。

接着,我使用Matlab的xlabel、ylabel和title函数添加了横轴、纵轴和标题。

最后,我使用Matlab的legend函数添加了图例,以便更好地理解图表。

实验三:数值积分在这个实验中,我使用Matlab进行了数值积分。

我选择了一个函数f(x)进行积分计算。

首先,我使用Matlab的syms函数定义了符号变量x,并定义了函数f(x)。

接着,我使用Matlab的int函数对函数f(x)进行积分计算,并将结果输出。

为了验证结果的准确性,我还使用了Matlab的diff函数对积分结果进行了求导操作,并与原函数f(x)进行了比较。

实验四:信号处理在这个实验中,我使用Matlab进行了信号处理。

我选择了一个音频文件,并使用Matlab的audioread函数读取了该文件。

接着,我使用Matlab的fft函数对音频信号进行了傅里叶变换,并将结果绘制成频谱图。

为了进一步分析信号的特征,我还使用了Matlab的spectrogram函数绘制了信号的时频图。

通过对信号的频谱和时频图的观察,我可以更好地理解信号的频率和时域特性。

matlab第二次实验报告

matlab第二次实验报告

《数学建模实验》上机实验报告班级:计算机35班学号:2130505099姓名:田博文【实验一】一上底面半径2米、下底面半径4米、高4米的圆台形水池内盛满了水,由池底一横截面积为0.001平方米的小孔放水。

求在任意时刻的水面高度和将水放空所需的时间。

一、问题分析:在dt很小一段时间内,水的流速v可以看成是不变的与水面高度h有关的函数,即v=gh2;在dt时间内流出的水量,可以近似的为一圆柱,对应的圆柱高为dh;由于容器下降的水量与流出的水量相等,令小孔面积为b,即dV=π2r dh=bvdt;可得dh与dt的关系为:dh=bvdt/(π2r);根据相似三角形原理可得,r=4-h/2;初始条件有;h(0)=4;为表示方便,引入变量L=4-h故r=2+L/2二、代码:T=0;for L=0:0.001:4-0.001 %选取积分微元为0.001,即dhV=0.001*pi*(2+(1/2*L))^2; %水面处的dV,b=0.001t=V/(sqrt(2*(4-L)*9.8)*0.001) %dV与dt关系T=T+t;plot(T,(4-L),'red'); hold onend三、运行结果:四、结论:在任意时刻的水面高度和将水放空所需的时间如上图红线所示,横轴为时间,纵轴为水面高度。

【实验二】有A、B、C三个场地,每一个场地都出产一定数量的原料,同时也消耗一定数量的产品,具体数据如下表所示。

已知制成每吨产品需要消耗3吨原料,A、B两地,A、C两地和B、C两地之间的距离分别为150千米、100千米和200千米,假设每万吨原料运输1千米的运费为5000元,每万吨产品运输1千米的运费为6000元。

由于地区条件的差异,在不同地区设厂的费用不同,由于条件的限制,在B处建厂的规模不能超过5万吨,问:在这三地如何建厂、规模建多大才能使得总费用最小?地点年产原料(万吨)年销产品(万吨)生产费用(万元/万吨)A 20 7 150B 16 13 120C 24 0 100一、问题分析:设nij为i地运往j地的原料量,mij为i地运往j地的产品量,设A地为1地,B 为2地,C地为3地。

MATLAB实验报告 (2)

MATLAB实验报告 (2)

广西大学实验报告纸姓名:徐律1002100405电气工程学院自动化102班2012年12月27日【实验名称】MATLAB的图形绘制【实验要求】1、学习MATLAB图形绘制的基本方法;2、熟悉和了解MATLAB图形绘制程序编辑的基本指令;3、熟悉掌握利用MATLAB图形编辑窗口编辑和修改图形界面,并添加图形的各种标注;4、掌握plot、subplot的指令格式和语法。

【实验基本知识】1、plot(x,y)------绘制由x,y所确定的曲线;2、多组变量绘图:plot(x1, y1, 选项1, x2, y2, 选项2, ……);3、双Y轴绘图:plotyy()函数;4、图形窗口的分割;5、图形编辑窗口的使用。

【实验内容】【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(t,Y); plot(t);plot(Y);plot(Y,t); %图形如下图所示【2】用图形表示连续调制波形Y=sin(t)sin(9t)及其包络线。

t=(0:pi/100:pi)';y1=sin(t)*[1,-1];y2=sin(t).*sin(9*t);t3=pi*(0:9)/9;y3=sin(t3).*sin(9*t3);plot(t,y1,'r:',t,y2,'b',t3,y3,'bo')axis([0,pi,-1,1])【3】在一个图形窗口绘制正弦和余弦曲线,要求给图形加标题“正弦和余弦曲线”,X轴Y轴分别标注为“时间t”和“正弦、余弦”,在图形的某个位置标注“sin(t)”“cos(t)”,并加图例,显示网格,坐标为正方形坐标系。

实验程序:实验结果:Sin(t)Cos(t)【4】绘制向量x=[1 3 0.5 2.5 2]的饼形图,并把3对应的部分分离出来。

实验报告二 Matlab图像代数运算和几何变换

实验报告二 Matlab图像代数运算和几何变换

实验二Matlab图像代数运算和几何变换一、实验目的1、掌握不同图像类型的转换2、掌握图像代数运算和几何变换的方法;3、掌握灰度级插值法的实验方法。

二、实验内容1、练习图像类型转换的相关命令(ind2rgb,mat2gray,grayslice,rgb2gray,rgb2ind,im2bw,ind2gray,dither)(p69-73);2、练习课本6.3.2(p139-p143)图像代数运算的内容;3、练习图像平移 (p148),图像比例变换(p153),图像旋转(p156),图像镜像变换(p158),图像切割(p160)Matlab实现例题;4、练习灰度级插值法(p171)。

三、实验步骤和结果1、练习图像类型转换的相关命令(ind2rgb,mat2gray,grayslice,rgb2gray,rgb2ind,im2bw,ind2gray,dither)(1)mat2gray()函数I=imread('rice.png');>> J=filter2(fspecial('sobel'),I);>> K=mat2gray(J);>> imshow(I);>> figure,imshow(K)(2)、grayslice()函数>> I=imread('snowflakes.png');>> X=grayslice(I,16);>> imview(I)imview(X,jet(16))(3)、rgb2ind()函数> RGB=imread('peppers.png');>> imshow(RGB);>> figure,imshow(RGB)>> [X,map]=rgb2ind(RGB,128);>> figure,imshow(X,map) (4)、im2bw()函数>> load trees>> BW=im2bw(X,map,0.4);>> figure,imshow(X,map)>> figure,imshow(BW)(5)、ind2gray()函数load trees>> I=ind2gray(X,map);>> figure,imshow(X,map)>> figure,imshow(I)(6)、dither()函数>> RGB=imread('peppers.png'); >> [X,map]=rgb2ind(RGB,256); >> I=dither(RGB,map);>> BW=dither(I);>> imshow(RGB,map);>> figure,imshow(RGB,map); >> figure,imshow(BW)Result:(1)转换后图像(2)索引色图像(3)索引色图像(4)索引色图像(4)二值化后的图像(5)转换后的灰度图像(6)索引色图像(6)抖动转换图像2、练习课本6.3.2(p139-p143)图像代数运算的内容(1)加法运算I=imread('rice.png');>> figure(1),imshow(I,[])>> I2=imread('cameraman.tif')>> figure(2),imshow(I2,[])>> K=imadd(I,I2,'uint16');>> figure(3),imshow(K,[])>> I=imread('lena.bmp');>> I2=imadd(I,50);>> figure(1),imshow(I)>> figure(2),imshow(I2)(2)、减法运算>> I=imread('rice.png'); >> I2=imread('cameraman.tif'); >> I3=imsubtract(I,I2);>> figure,imview(I3)(3)乘法&除法运算>> I=imread('lena.bmp');>> I2=immultiply(I,0.5);>> figure,imshow(I)>> figure,imshow(I2)>> I3=immultiply(I,1.5);>> figure,imshow(I3)>> I4=imdivide(I,0.5);>> figure,imshow(I4)>> I5=imdivide(I,1);>> figure,imshow(I5)Result:(1)加法运算后的图像(1)加入常数后的图像(2)减法运算(3)乘以0.5后的图像乘以1后的图像除以0.5后的图像除以1后的图像3、练习图像平移 (p148),图像比例变换(p153),图像旋转(p156),图像镜像变换(p158),图像切割(p160)Matlab实现例题;(a)图像平移>> I=imread('trees.tif');>> figure,imshow(I)>> I=double(I);>> I_movesult=zeros(size(I));>> H=size(I);>> Move_x=50;>> Move_y=50;>>I_movesult(Move_x+1:H(1),Move_y+1:H(2))=I(1:H(1)-Move_x,1:H(2)-Move_y);>> figure,imshow(uint8(I_movesult))(b)图像比例变换J=imread('trees.tif');>> figure,imshow(J);>> X1=imresize(J,2);>> X2=imresize(J,0.5);>> figure,imshow(X1)>> figure,imshow(X2)(C)图像旋转变换>> I=imread('peppers.png');>> figure,imshow(I)>> X1=imrotate(I,30,'nearest');>> figure,imshow(uint8(X1))>> X2=imrotate(I,45,'nearest');>> figure,imshow(uint8(X2))>> X3=imrotate(I,60,'nearest');>> figure,imshow(uint8(X3))>> X4=imrotate(I,90,'nearest');>> figure,imshow(uint8(X4))(d)图像镜像变换>> I=imread('forest.tif');>> I=double(I);>> figure,imshow(uint8(I));>> H=size(I);>> figure(2),>> I2(1:H(1),1:H(2))=I(H(1):-1:1,1:H(2));>> imshow(uint8(I2));>> figure,imshow(uint8(I2));>> I3(1:H(1),1:H(2))=I(1:H(1),H(2):-1:1);>> figure,imshow(uint8(I3));>> I4(1:H(1),1:H(2))=I(H(1):-1:1,H(2):-1:1);>> figure,imshow(uint8(I4));(e)图像切割>> I1=imread('peppers.png');>> I2=imcrop(I1,[75 68 220 100]);>> imview(I2)I3=imcrop(I1,[30 40 120 100]);>> imview(I3)(a)平移后的图像(b)放大后图像(b)缩小后的图像(c)旋转30°后的图像旋转45°后的图像旋转60°后的图像旋转90°后的图像(d)原始图像垂直镜像水平镜像对角镜像(e)原始图像一次切割后图像二次切割后图像4、练习灰度级插值法(p171)>> I=imread('lena.bmp');>> X1=imresize(I,1);>> X2=imresize(I,1,'bilinear');>> X3=imresize(I,1,'bicubic');>> figure,imshow(X1)>> figure,imshow(X2)>> figure,imshow(X3)最近邻差值法双线性插值法三次插值法四、实验体会在本次实验中掌握不同图像类型的转换,掌握了转换函数及其语法格式,如ind2rgb()函数将索引图像转换成真彩色。

matlab实验报告实验二

matlab实验报告实验二

matlab实验报告实验二Matlab实验报告实验二引言Matlab是一种功能强大的数学软件,广泛应用于科学研究和工程实践中。

在实验二中,我们将探索Matlab的图像处理功能,并通过实际案例来展示其应用。

图像处理基础图像处理是指对图像进行数字化处理的过程,其目的是改善图像质量、提取有用信息或实现特定的应用需求。

在Matlab中,我们可以利用各种函数和工具箱来实现图像处理的各种任务,如图像增强、滤波、分割和特征提取等。

实验步骤1. 图像读取与显示在Matlab中,我们可以使用imread函数读取图像文件,并使用imshow函数将图像显示在屏幕上。

例如,我们可以读取一张名为"lena.jpg"的图像,并显示出来:```matlabimg = imread('lena.jpg');imshow(img);```2. 图像灰度化图像灰度化是将彩色图像转换为灰度图像的过程。

在Matlab中,我们可以使用rgb2gray函数将彩色图像转换为灰度图像。

例如,我们可以将上一步读取的图像转换为灰度图像:```matlabgray_img = rgb2gray(img);imshow(gray_img);```3. 图像二值化图像二值化是将灰度图像转换为二值图像的过程,其中只包含黑色和白色两种颜色。

在Matlab中,我们可以使用imbinarize函数将灰度图像二值化。

例如,我们可以将上一步得到的灰度图像二值化:```matlabbinary_img = imbinarize(gray_img);imshow(binary_img);```4. 图像平滑图像平滑是指去除图像中的噪声或细节,使得图像更加平滑和清晰。

在Matlab 中,我们可以使用imfilter函数对图像进行平滑处理。

例如,我们可以对上一步得到的二值图像进行平滑处理:```matlabsmooth_img = imfilter(binary_img, fspecial('average'));imshow(smooth_img);```5. 图像边缘检测图像边缘检测是指提取图像中物体边缘的过程,常用于目标检测和图像分割。

计算机仿真Matlab 实验报告二

计算机仿真Matlab 实验报告二

实验二非线性系统的数字仿真实验一、实验目的学会用数字仿真方法分析线性和非线性系统的动态特性以及各种典型非线性环节对控制系统动态特性的影响。

二、实验内容系统模型如习题2.17所示。

根据控制理论分析,该系统将出现振幅为0.3,频率为0.8的自激振荡。

1. 按实验目的、要求和已知条件,建立系统的Simulink模型。

2. 在不引入非线性环节的情况下运行仿真模型,观察纪录系统动态特性的变化。

3. 在同样的条件下,引入滞环继电特性非线性环节,再运行仿真模型,观察纪录该非线性环节对系统过渡过程的影响。

4. 将滞环继电特性非线性环节换成饱和非线性环节,C1仍为0.3,运行仿真模型,观察纪录饱和非线性环节对系统过渡过程的影响。

实验解答:1.按实验目的、要求和已知条件,建立系统的Simulink模型。

建立Simulink模型如下:2.在不引入非线性环节的情况下运行仿真模型,观察纪录系统动态特性的变化。

去掉上图中的非线性环节—Relay,得到下图仿真结果:从图可以看出,开始会有突变,之后趋于稳定。

3. 在同样的条件下,引入滞环继电特性非线性环节,再运行仿真模型,观察纪录该非线性环节对系统过渡过程的影响。

如下,加入了滞环继电特性非线性环节从图中可以看出,系统产生了自激振荡,可以通过编程找到仿真曲线上的极值点,求出该图线的周期、角频率以及振幅。

通过仿真,由仿真图像可以很明白地看出,产生了自激振荡,且该自激振荡幅度约为0.6,周期约为8,则角频率约为0.8。

仿真结果与题目一致。

4. 将滞环继电特性非线性环节换成饱和非线性环节,C1仍为0.3,运行仿真模型,观察纪录饱和非线性环节对系统过渡过程的影响。

由图可得,仿真曲线的变化趋于缓和,但同时进入稳定的速率变慢。

即加入的饱和环节在系统中起到了限幅的作用。

饱和非线性环节使得系统更加平和的进入了稳定状态。

MATLAB第二章实验报告

MATLAB第二章实验报告

深 圳 大 学 实 验 报 告课程名称: MATLAB实验名称: MATLAB 的数值计算学 院:指导教师:报告人: 组号:学号 实验地点实验时间: 年 月 日提交时间:二、内容和步骤1.创建矩阵(1)直接输入(2)用from:step:to方式(3)用linspace函数:(4)使用特殊矩阵函数,并修改元素(5)获取子矩阵块:.练习:b=logspace(0,4*3.14,20)b =1.0e+12 *1 至17 列0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0004 0.0018 0.0082 0.037718 至20 列0.1729 0.7924 3.63082.矩阵运算:(1)利用矩阵除法解线性方程组(2)利用矩阵的基本运算求解矩阵方程练习:(3)计算矩阵的特征值和特征向量。

验证特征值和特征向量与该矩阵的关系练习:将矩阵的乘除运算改为数组的点乘和点除运算:(4)利用数学函数进行矩阵运算w=logspace(-2,1,10)w =0.0100 0.0215 0.0464 0.1000 0.2154 0.4642 1.0000 2.1544 4.6416 10.0000LW=-20*log10(sqrt((2*w).^2 + 1))LW =-0.0017 -0.0081 -0.0373 -0.1703 -0.7396 -2.6993 -6.9897 -12.9151 -19.4040 -26.0314FW=-atan(2*w)*180/piFW =-1.1458 -2.4673 -5.3037 -11.3099 -23.3106 -42.8711 -63.4349 -76.9341 -83.8517 -87.13763.生成多维数组:c(18)=[]c =1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8练习:使用数组c编辑窗口查看变量a,b和c。

MATLAB实验报告二

MATLAB实验报告二

实验二 Matlab语言程序设计一、实验内容:1、编写命令文件:计算 1+2+…+n<2000 时的最大 n 值;>> n=1; %将变量初值设为1sum=0;while((sum+n)<2000) %若s<2000成立,则执行下一条语句,否则结束本循环sum=sum+n; %求和运算n=n+1;endsum,n-1 %显示最终s和nsum =1953ans =622、编写函数文件:分别用 for 和 while 循环结构编写程序,求 2 的 0 到 15 次幂的和。

function xunhuan(x)sum=0;for(i=0:x)sum=sum+2^i;endy=sum>> xunhuan(15)y =65535function whilexun(x)sum=0;i=0;while(i<x)sum=sum+2^i;i=i+1;endy=sum>> whilexun(16)y =655353、如果想对一个变量 x 自动赋值。

当从键盘输入 y 或 Y 时(表示是),x 自动赋为 1;当从键盘输入 n 或 N 时(表示否),x 自动赋为 0;输入其他字符时终止程序。

a=input('输入一个字符:');switch acase 'y'x=1case 'Y'x=1case 'n'x=0case 'N'x=0otherwiseend输入一个字符:'Y'x =1二、实验思考题1.用FOR和WHILE语句有何要求?答:for语句的基本命令格式为for 循环变量=表达式1表达式3表达式2循环语句组End表达式1、表达式3、表达式2的定义和C语言相似即首先执行循环变量的初始值赋成表达式1的值然后判断循环变量的值介于表达式1和表达式2的值之间则执行循环体中的语句否则结束循环语句的执行。

matlab数学实验报告2

matlab数学实验报告2

数学实验报告2011年6月12日培养容器温度变化率模型一、实验目的利用matlab软件估测培养容器温度变化率二、实验问题现在大棚技术越来越好,能够将温度控制在一定温度范围内。

为利用这种优势,实验室现在需要培植某种适于在8.16℃到10.74℃下能够快速长大的甜菜品种。

为达到实验所需温度,又尽可能地节约成本,研究所决定使用如下方式控制培养容器的温度:1,每天加热一次或两次,每次约两小时;2,当温度降至8.16℃时,加热装置开始工作;当温度达到10.74℃时,加热装置停止工作。

已知实验的时间是冬天,实验室为了其它实验的需要已经将实验室的温度大致稳定在0℃。

下表记录的是该培养容器某一天的温度34三、 建立数学模型1, 分析:由物理学中的傅利叶传热定律知温度变化率只取决于温度差,与温度本身无关。

因为培养容器最低温度和最高温度分别是:8.16℃和10.74℃;即最低温度差和最高温度差分别是:8.16℃和10.74℃。

而且,16.8/74.10≈1.1467,约为1,故可以忽略温度对温度变化率的影响2, 将温度变化率看成是时间的连续函数,为计算简单,不妨将温度变化率定义成单位时间温度变化的多少,即温度对时间连续变化的绝对值(温度是下降的),得到结果后再乘以一系数即可。

四、 问题求解和程序设计流程 1) 温度变化率的估计方法根据上表的数据,利用matlab 做出温度-时间散点图如下:下面计算温度变化率与时间的关系。

由图选择将数据分三段,然后对每一段数据做如下处理:设某段数据为{(0x ,0y ),(1x ,1y ),(2x ,52y ),…,( n x ,n y )},相邻数据中点的平均温度变化率采取公式:温度变化率=(左端点的温度-右端点的温度)/区间长度 算得即:v(21ii x x ++)=(1+-i i y y )/(i i x x -+1).每段首尾点的温度变化率采用下面的公式计算: v(0x )=(30y -41y +2y )/(2x -0x ) v(n x )=(3n y -41+n y +2+n y )/(n x -2-n x )用以上公式计算得温度变化率与时间的数据表如下:下面分别利用数据插值法和数据拟合法两种方法来估计温度变化率1)数据插值法对上表即温度变化率与时间的数据表加热装置不工作时段1和加热装置不工作时段2采用插值法,可以得到任意时刻的温度变化率;编写matlab程序如下:t=[0,0.46,1.38,2.395,3.41,4.425,5.44,6.45,7.465,8.45,8.97];v=[29.89,21.74,18.48,16.22,16.30,15.32,13.04,15.45,13.98,16.35,19.27];t0=0:0.1:8.97;lglr=lglrcz(t,v,t0);lglrjf=0.1*trapz(lglr)fdxx=interp1(t,v,t0);fdxxjf=0.1*trapz(fdxx)scyt=interp1(t,v,t0,'spline');sancytjf=0.1*trapz(scyt)plot(t,v,'*',t0,lglr,'r',t0,fdxx,'g',t0,scyt,'b')gtext('lglr')gtext('fdxx')6gtext('scyt')其中使用了lglrcz.m文件lglrcz.m的代码是:function y=lglrcz(x0,y0,x)n=length(x0);m=length(x);for i=1:mz=x(i);s=0.0;for k=1:np=1.0;for j=1:nif j~=kp=p*(z-x0(j))/(x0(k)-x0(j));endends=p*y0(k)+s;endy(i)=s;end程序执行后显示结果:如图曲线lglr,fexx,scyt分别表示用拉格朗日插值法,分段线形插值法和三次样条插值法对第一加热时段数据插值得到的温度变化率-时间线。

matlab实验报告

matlab实验报告

matlab实验报告引言:Matlab(矩阵实验室)是一款功能强大的数值计算和科学计算软件,广泛应用于工程、科学和经济等领域。

本实验报告将探讨我在使用Matlab进行实验过程中的心得体会和实验结果。

实验一:图像处理在这个实验中,我使用Matlab对一张图像进行了处理,并应用了各种图像处理算法。

这包括图像增强、边缘检测和图像分割等技术。

通过Matlab的图像处理工具箱,我能够轻松调用各种算法函数,并对图像进行快速处理。

实验结果表明,Matlab图像处理工具箱提供了丰富的函数和算法,极大地方便了我们的图像处理工作。

实验二:模拟信号处理模拟信号处理是Matlab中的一个重要应用领域。

在这个实验中,我模拟了一个带噪声的正弦信号,并使用Matlab进行了噪声滤波和频谱分析。

通过使用Matlab的滤波函数,我能够有效地去除信号中的噪声,并还原出原始信号。

同时,Matlab提供了功能强大的频谱分析工具,我可以轻松地对信号的频率特性进行分析和可视化。

实验三:数据分析与统计数据分析与统计是Matlab的另一个重要应用领域。

在这个实验中,我使用Matlab对一组实验数据进行了分析和统计。

通过使用Matlab的统计函数和工具,我能够计算出数据的均值、方差、标准差等统计指标,并绘制出数据的直方图和散点图。

这些统计分析结果对我的实验研究提供了有力的支持,并帮助我更好地理解实验数据。

实验四:数值计算与优化数值计算与优化是Matlab的核心功能之一。

在这个实验中,我使用Matlab进行了一组数值计算和优化实验。

通过使用Matlab的数值计算函数和优化工具箱,我能够快速计算出复杂的数学问题,并找到最优解。

同时,在进行优化实验时,我可以设置各种约束条件和目标函数,从而得到最优解的参数值。

这些数值计算和优化工具极大地提高了我的研究效率和准确度。

结论:通过这些实验,我深刻认识到Matlab的强大功能和广泛应用领域。

无论是图像处理、信号处理、数据分析还是数值计算与优化,Matlab都提供了丰富的函数和工具,让我们能够快速高效地完成实验和研究工作。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
[num12,den12]=series(num1,den1,num2,den2);
G_sr12=tf(num12,den12)
[num3s,den3s]=parallel(num12,den12,num3,den3);
G_pr3=tf(num3s,den3s)
[num4s,den4s]=series(num3s,den3s,num4,den4);
y(:,j)=step(sys,t);
end
plot(t,y(:,1:7))
grid
gtext('sigma=0')
gtext('sigma=0.1')
gtext('sigma=0.2')
gtext('sigma=0.4')
gtext('sigma=0.6')
gtext('sigma=0.9')
gtext('sigma=1.2')
答:程序代码如下
num1=[3,2,1];
den1=[4,5,8];
G1=tf(num1,den1)
num2=1;
den2=[1,1];
G2=tf(num2,den2)
num3=1;
den3=[1,10];
G3=tf(num3,den3)
num4=[4,0];
den4=[1,2,10];
G4=tf(num4,den4)
[den]=[1,3,2];
lsim(num,den,u,t)
2、程序;
T=1
k=[0.1,0.2,0.5,0.8,1.0,2.4]
t=linspace(0,20,200)
num=1
den=conv([1,0],[T,1])
forj=1:6
s1=tf(num*k(j),den)
sys=feedback(s1,1)
gtext('sigma=1.5')
结果显示如右图:
闭环参数ζ和ωn对系统的影响
随着阻尼比ζ的减小,系统的上升时间缩短,超调量增大,阶跃响应的震荡加剧,调节时间加长,通过比较可知当ζ=0.6时,可在可快速平稳的达到系统的稳态。
4、程序;
num=[7,7]
den=[1,2,3,4]
g=tf(num,den)
答:程序代码如下:
wn=1
signma=[0.1,0.2,0.4,0.6,0.9,1.2,1.5]
num=wn*wn
t=linspace(0,20,200)'
for j=1:7
den=conv([1,0],[1,2*wn*sigma(j)]);
s1=tf(num,den)
sys=feedback(s1,1)
答:程序代码如下:
z=[-3,-2.5];
p=[-5,-2,-15];
k=10;
Gc=zpk(z,p,k)
Go=feedback(Gc,1,-1)
Gotf=tf(Go)
[z,p,k]=zpkdata(Gotf,'v')
pzmap(Gotf)
grid
阶跃响应图
上升时间tr:0.0577s
峰值时间tp:0.161s
gg=feedback(g,1,-1)
上升时间tr:0.339s
峰值时间tp:1s
超调量Mp:85.6%
调节时间ts:9.74s
稳态值:0.636
四、程序设计实验
1、有一控制系统的传递函数为:G(s)=10*(s+3)*(s+2.5)/(s+5)*(s+2)*(s+15),试绘制其阶跃响应曲线,并求出系统的各性能指标值。试绘制系统零极点图,判断系统的稳定性。
峰值时间tp:0.368s
超调量Mp:无
调节时间ts:6.13s
稳态值:0
3.有一二阶系统:φ= /(s^2+2ζω(n)+ω(n)^2),求当ζ=0.6,ω(n)=1是系统单位阶跃响应曲线,并求其参数特征值(tr,ts,Mp%,tp)。
答:程序代码如下:
wn=1
sigma=0.6
num=wn*wn
实验报告
课程名称_控制系统仿真__
学生学院信息工程学院
专业班级13级应用电子专业4班
学号**********
姓名陈文威
指导教师梁秀玲
2015年11月15日
实验二控制系统的特性与时域分析法
一、实验目的
1、了解系统的传递函数模型、零极点模型的数学模型特点,掌握建立系统的数学模型的方法;
2、掌握系统分析法的时域分析法和基于Matlab的应用以及一阶、二阶系统特征参数分析;
den=[1,2*wn*sigma,wn*wn]
G=tf(num,den)
单位阶跃响应图
上升时间tr:1.86s
峰值时间tp:3.91s
超调量Mp:9.48%
调节时间ts:5.94s
稳态值:1
4、一个控制系统有5个子系统组成,组成结构如下图所示:
各自系统的传递函数分别为:G1(s)=(3s^2+2s+1)/(4s^2+5s+8),G2(s)=1/(s+2),G3(s)=1/(s+10),G4(s)=4s/(s^2+2s=10),H(s)=-1
G_sr43=tf(num4s,den4s)
GG4=feedback(G_sr43,1,-1)
单位阶跃响应图
上升时间tr:0s峰值时间tp:0.588s
超调量Mp:无调节时间ts:7.91s稳态值:0
五、实验心得与体会
本次实验让我基本学会了如何建立系统的数学模型,并用时域分析法和基于matlab的应用来分析一阶,二阶系统的一些特性。在建立数学模型时,要特别注意函数名的拼写以及系数的确定,如在写传递函数 时,分子的写法是num=[4,0],而不是num=4,这两个语句最后的结果截然不同,需要我们特别注意。这次实验也再次让我了解到matlab的便捷。
y(:,j)=step(sys,t);
end
plot(t,y(:,1:6))
grid
gtext('k=0.1')
gtext('k=0.2')
gtext('k=0.5')
gtext('k=0.8')
gtext('k=1.0')
gtext('k=2.4')
(对二阶系统,k=1/T为最佳参数关系)
3、已知一个如下图所示的二阶系统,其开环传递函数G(s)=ω(n)^2/s(s+2ζω(n)),其中ω(n)=1,ζ为阻尼比,试绘制ζ分别为0,0.2,0.4,0.6,0.9,1.2,1.5时其单位负反馈系统的单位阶跃响应曲线(绘制在一张图上)。
答:程序代码如下:
num1=[3,2,1]
den1=[4,5,8]
G1=tf(num1,den1)
num2=[4,0]
den2=[1,2,10]
G2=tf(num2,den2)
[num,den]=series(num1,den1,num2,den2)
G_tfห้องสมุดไป่ตู้tf(num,den)
阶跃响应图
上升时间tr:0s
3、运用MATLAB语言求取系统参数并进行系统分析。
4、MATLAB中的图形工具LTI View
二、实验原理
1、数学模型
系统的数学模型:系统传递函数模型、系统的状态空间模型、零极点增益模型。
2、系统时域分析法
三、验证性实验
1、程序;
[u,t]=gensig('sin',4,20,0.1)
[num]=1;
超调量Mp:6.57%
调节时间ts:0.36s
稳态值:0.332
由图可知该函数只有负实根,所以系统稳定。
2、建立由两个子系统组成的串联系统的传递函数模型,其中,两个子系统的传递函数G1(s)、G2(s)分别为G1(s)=(3s^2+2s+1)/(4s^2+5s+8),G2(s)=4s/(s^2+2s+10),试在MATLAB中实现两个子系统组成的串联联接,并绘出阶跃响应曲线和求出系统的各性能指标值。
相关文档
最新文档