1、仿真实验计算机控制技术及仿真实验指导攀枝花学院机电工程学院二八年十月 实验一 Matlab环境语法及数学运算(验证性实验)一、实验目的1、掌握 Matlab 软件使用的基本方法;2、熟悉 Matlab 的数据表示、基本运算方法;3、熟悉 Matlab 绘图命令及基本绘图控制。二、实验仪器与软件 1. PC机 1台 2. MATLAB6.X环境 三、实验原理MATLAB环境是一种为数值计算、数据分析和图形显示服务的交互式的环境。MATLAB有3种窗口,即:命令窗口(The Command Window)、m-文件编辑窗口(The Edit Window)和图形窗口(The Figure Wind
2、ow),而Simulink另外又有Simulink模型编辑窗口。1命令窗口(The Command Window)当MATLAB启动后,出现的最大的窗口就是命令窗口。用户可以在提示符“”后面输入交互的命令,这些命令就立即被执行。在MATLAB中,一连串命令可以放置在一个文件中,不必把它们直接在命令窗口内输入。在命令窗口中输入该文件名,这一连串命令就被执行了。因为这样的文件都是以“.m”为后缀,所以称为m-文件。2m-文件编辑窗口(The Edit Window)我们可以用m-文件编辑窗口来产生新的m-文件,或者编辑已经存在的m-文件。在MATLAB主界面上选择菜单“File/New/M-fil
3、e”就打开了一个新的m-文件编辑窗口;选择菜单“File/Open”就可以打开一个已经存在的m-文件,并且可以在这个窗口中编辑这个m-文件。四、实验内容:1、帮助命令使用 help 命令,查找 sqrt(开方)函数的使用方法;SyntaxB = sqrt(X)DescriptionB = sqrt(X) returns the square root of each element of the array X. For the elements of X that are negative or complex, sqrt(X) produces complex results. Remar
4、ksSee sqrtm for the matrix square root. Examplessqrt(-2:2)ans = 0 + 1.4142i 0 + 1.0000i 0 1.0000 1.41422、矩阵运算(1)矩阵的乘法 已知 A=1 2;3 4; B=5 5;7 8; 求 A2*BA=1 2;3 4; B=5 5;7 8; A2*Bans = 105 115 229 251(2)矩阵除法 已知 A=1 2 3;4 5 6;7 8 9; B=1 0 0;0 2 0;0 0 3;AB,A/BA=1 2 3;4 5 6;7 8 9; B=1 0 0;0 2 0;0 0 3; AB,A
5、/Bans = 1.0e+016 * -0.4504 1.8014 -1.3511 0.9007 -3.6029 2.7022 -0.4504 1.8014 -1.3511ans = 1.0000 1.0000 1.0000 4.0000 2.5000 2.0000 7.0000 4.0000 3.0000(3)矩阵的转置及共轭转置 已知 A=5+i,2-i,1;6*i,4,9-i;求 A., AA=5+i,2-i,1;6*i,4,9-iA = 5.0000 + 1.0000i 2.0000 - 1.0000i 1.0000 0 + 6.0000i 4.0000 9.0000 - 1.0000
6、i A.ans = 5.0000 + 1.0000i 0 + 6.0000i 2.0000 - 1.0000i 4.0000 1.0000 9.0000 - 1.0000i Aans = 5.0000 - 1.0000i 0 - 6.0000i 2.0000 + 1.0000i 4.0000 1.0000 9.0000 + 1.0000i(4)使用冒号选出指定元素已知: A=1 2 3;4 5 6;7 8 9;求 A 中第 3 列前 2 个元素;A 中所有列第 2,3 行的元素; A=1 2 3;4 5 6;7 8 9 A = 1 2 3 4 5 6 7 8 9 A(1:2,3)ans = 3
7、 6 A(2:3,:)ans = 4 5 6 7 8 9(5)方括号用 magic 函数生成一个 4 阶魔术矩阵,删除该矩阵的第四列A=magic(4)A = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1 A(:,1:3)ans = 16 2 3 5 11 10 9 7 6 4 14 153、多项式(1)求多项式 p(x) = x3 + 2x+ 4的根p=1 0 -2 -4p = 1 0 -2 -4 r=roots(p)r = 2.0000 -1.0000 + 1.0000i -1.0000 - 1.0000i(2)已知 A=1.2 3 5 0.9;5 1.7
8、5 6;3 9 0 1;1 2 3 4 ,A=1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4A = 1.2000 3.0000 5.0000 0.9000 5.0000 1.7000 5.0000 6.0000 3.0000 9.0000 0 1.0000 1.0000 2.0000 3.0000 4.0000 poly(A) ans = 1.0000 -6.9000 -77.2600 -86.1300 604.5500 polyval(ans,20)ans = 7.2778e+004 求矩阵 A 的特征多项式; 求特征多项式中未知数为 20 时的值; 把矩阵 A
9、作为未知数代入到多项式中;4、 基本绘图命令(1)绘制余弦曲线 y=cos(t),t0,2t=0:pi/100:2*pi;plot(t,cos(t) (2)在同一坐标系中绘制余弦曲线 y=cos(t-0.25)和正弦曲线 y=sin(t-0.5), t0,2t=0:pi/100:2*piy1=plot(t,cos(t-0.25);hold ony2=plot(t,sin(t-0.5); 5、基本绘图控制 绘制0,4区间上的 x1=10sint 曲线,并要求: (1)线形为点划线、颜色为红色、数据点标记为加号; (2)坐标轴控制:显示范围、刻度线、比例、网络线 (3)标注控制:坐标轴名称、标题、
10、相应文本;t=0:0.1:4*pi;y=10*sin(t);plot(t,y,r=.+)grid on;title(y=10*sin(t);xlabel(t)ylabel(y) 五、实验要求 利用所学知识,完成上述各项实验内容,并将实验过程和实验步骤和结果写在报告中。 实验二 MATLAB数值运算与绘图(验证性实验)一、实验目的 l. 熟悉Matlab中各类数据,尤其是矩阵的定义、赋值和运用。2. 了解Matlab的矩阵分析函数以及求线性方程组的数值解;3熟悉多项式运算函数、数值插值。二、实验仪器与软件 1. PC机 1台2. MATLAB6.X环境 三、实验原理1.创建矩阵的方法a.直接输入
11、法规则:矩阵元素必须用 括住;矩阵元素必须用逗号或空格分隔;在 内矩阵的行与行之间必须用分号分隔。逗号和分号的作用:逗号和分号可作为指令间的分隔符,matlab允许多条语句在同一行出现。分号如果出现在指令后,屏幕上将不显示结果。b.用matlab函数创建矩阵:空阵 matlab允许输入空阵,当一项操作无结果时,返回空阵;rand 随机矩阵;eye 单位矩阵;zeros 全部元素都为0的矩阵;ones 全部元素都为1的矩阵c.矩阵的修改:可用键找到所要修改的矩阵,用键移动到要修改的矩阵元素上即可修改;指令修改:可以用A(,)= 来修改。2.矩阵运算a.矩阵加、减(,)运算规则:(1)相加、减的两
12、矩阵必须有相同的行和列两矩阵对应元素相加减。(2)允许参与运算的两矩阵之一是标量。标量与矩阵的所有元素分别进行加减操作。b. 矩阵乘(,./,.)运算规则:A矩阵的列数必须等于B矩阵的行数标量可与任何矩阵相乘。c.矩阵乘方 an,ap,paa p a 自乘p次幂,对于p的其它值,计算将涉及特征值和特征向量,如果p是矩阵,a是标量,ap使用特征值和特征向量自乘到p次幂;如a,p都是矩阵,ap则无意义。d.多项式运算 matlab语言把多项式表达成一个行向量,该向量中的元素是按多项式降幂排列的。 f(x)=anxn+an-1xn-1+loa0可用行向量 p=an an-1 a1 +a0表示;pol
13、y 产生特征多项式系数向量e.代数方程组求解matlab中有两种除运算左除和右除。四、实验内容1. 输入下列向量(矩阵) g = 1 2 3 4;h = 4 3 2 1; 2. 分别执行以下数组点运算 s1 = g + h, s2 = g.*h, s3 = g.h, s4 = g.2, s5 = 2.hg = 1 2 3 4g = 1 2 3 4 h = 4 3 2 1h = 4 3 2 1 s1 = g + hs1 = 5 5 5 5 s2 = g.*hs2 = 4 6 6 4 s3 = g.hs3 = 1 8 9 4 s4 = g.2s4 = 1 4 9 16 s5 = 2.hs5 = 1
14、6 8 4 23. 输入下列特殊矩阵 A= A=eye(10) A=ones(5,10) A=rand(10,15) A=randn(5,10) A=zeros(5,10)A= A = A=eye(10)A = 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
15、0 0 1 A=ones(5,10)A = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 A=rand(10,15)A = Columns 1 through 6 0.9501 0.6154 0.0579 0.0153 0.8381 0.1934 0.2311 0.7919 0.3529 0.7468 0.0196 0.6822 0.6068 0.9218 0.8132 0.4451 0.6813 0.3028 0.4860 0.7382 0
16、.0099 0.9318 0.3795 0.5417 0.8913 0.1763 0.1389 0.4660 0.8318 0.1509 0.7621 0.4057 0.2028 0.4186 0.5028 0.6979 0.4565 0.9355 0.1987 0.8462 0.7095 0.3784 0.0185 0.9169 0.6038 0.5252 0.4289 0.8600 0.8214 0.4103 0.2722 0.2026 0.3046 0.8537 0.4447 0.8936 0.1988 0.6721 0.1897 0.5936 Columns 7 through 12
17、0.4966 0.7271 0.7948 0.1365 0.5828 0.2091 0.8998 0.3093 0.9568 0.0118 0.4235 0.3798 0.8216 0.8385 0.5226 0.8939 0.5155 0.7833 0.6449 0.5681 0.8801 0.1991 0.3340 0.6808 0.8180 0.3704 0.1730 0.2987 0.4329 0.4611 0.6602 0.7027 0.9797 0.6614 0.2259 0.5678 0.3420 0.5466 0.2714 0.2844 0.5798 0.7942 0.2897
18、 0.4449 0.2523 0.4692 0.7604 0.0592 0.3412 0.6946 0.8757 0.0648 0.5298 0.6029 0.5341 0.6213 0.7373 0.9883 0.6405 0.0503 Columns 13 through 15 0.4154 0.2140 0.6833 0.3050 0.6435 0.2126 0.8744 0.3200 0.8392 0.0150 0.9601 0.6288 0.7680 0.7266 0.1338 0.9708 0.4120 0.2071 0.9901 0.7446 0.6072 0.7889 0.26
19、79 0.6299 0.4387 0.4399 0.3705 0.4983 0.9334 0.5751 A=randn(5,10)A = Columns 1 through 6 -0.4326 1.1909 -0.1867 0.1139 0.2944 0.8580 -1.6656 1.1892 0.7258 1.0668 -1.3362 1.2540 0.1253 -0.0376 -0.5883 0.0593 0.7143 -1.5937 0.2877 0.3273 2.1832 -0.0956 1.6236 -1.4410 -1.1465 0.1746 -0.1364 -0.8323 -0.
20、6918 0.5711 Columns 7 through 10 -0.3999 0.6686 -1.6041 0.5287 0.6900 1.1908 0.2573 0.2193 0.8156 -1.2025 -1.0565 -0.9219 0.7119 -0.0198 1.4151 -2.1707 1.2902 -0.1567 -0.8051 -0.0592 A=zeros(5,10)A = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 04
21、输入下列矩阵及矩阵函数 A=2 0 1;1 3 2; B=1 7 1;4 2 3;2 0 1; M = A*B % 矩阵A与B按矩阵运算相乘 det_B = det(B) % 矩阵A的行列式 rank_A = rank(A) % 矩阵A的秩 inv_B = inv(B) % 矩阵B的逆矩阵 V,D = eig(B) % 矩阵B的特征值矩阵V与特征向量构成的矩阵D X = A/B % A/B = A*B-1,即XB=A,求X Y = BA % BA = B-1*A,即BY=A,求YA=2 0 -1;1 3 2A = 2 0 -1 1 3 2 B=1 7 -1;4 2 3;2 0 1B = 1 7
22、 -1 4 2 3 2 0 1 M = A*B M = 0 14 -3 17 13 10 det_B = det(B)det_B = 20 rank_A = rank(A)rank_A = 2 inv_B = inv(B)inv_B = 0.1000 -0.3500 1.1500 0.1000 0.1500 -0.3500 -0.2000 0.7000 -1.3000 V,D = eig(B)V = -0.7094 0.7444 0.7444 -0.6675 -0.3599 + 0.0218i -0.3599 - 0.0218i -0.2263 -0.5587 - 0.0607i -0.558
23、7 + 0.0607iD = 7.2680 0 0 0 -1.6340 + 0.2861i 0 0 0 -1.6340 - 0.2861i X = A/B X = 0.4000 -1.4000 3.6000 0.0000 1.5000 -2.5000Y = B/A Y = 0.6000 1.4286 1.0000 1.1429 0.6000 0.28575多项式运算 p=1 2 0 -5 6 % 表示多项式 rr=roots(p) % 求多项式p的根 pp=poly(rr) % 由根的列向量求多项式系数 s=0 0 1 2 3 % 表示多项式 c=conv(p,s) % 多项式乘积 d=pol
24、yder(p) % 多项式微分 x=-1:0.1:2; y=polyval(p,x) % 计算多项式的值p=1 2 0 -5 6p = 1 2 0 -5 6 rr=roots(p)rr = -1.8647 + 1.3584i -1.8647 - 1.3584i 0.8647 + 0.6161i 0.8647 - 0.6161i pp=poly(rr)pp = 1.0000 2.0000 0.0000 -5.0000 6.0000 s=0 0 1 2 3s = 0 0 1 2 3 c=conv(p,s)c = 0 0 1 4 7 1 -4 -3 18 d=polyder(p)d = 4 6 0
25、-5 x=-1:0.1:2; y=polyval(p,x)y = Columns 1 through 6 10.0000 9.6981 9.3856 9.0541 8.6976 8.3125 Columns 7 through 12 7.8976 7.4541 6.9856 6.4981 6.0000 5.5021 Columns 13 through 18 5.0176 4.5621 4.1536 3.8125 3.5616 3.4261 Columns 19 through 24 3.4336 3.6141 4.0000 4.6261 5.5296 6.7501 Columns 25 th
26、rough 30 8.3296 10.3125 12.7456 15.6781 19.1616 23.2501 Column 31 28.00006. 有理多项式: n=conv(10,1 3) % 定义分子多项式 d=conv(1 1,1 1 3) % 定义分母多项式 r,p,k=residue(n,d) % 进行部分分式展开 p1=1-p(1),p2=1-p2 % 定义两个极点多项式p1(s)=s-p(1), p2(s)=s-p(2) den=conv(p1,p2) % 求分母多项式den=p1(s)*p2(s) num=conv(r1,p2)+conv(r2,p1) % 求分子多项式 n
27、um,den=residue(r,p,k) % 根据r,p,k的值求有理多项式n=conv(10,1 3)n = 10 30 d=conv(1 1,1 1 3) d = 1 2 4 3 r,p,k=residue(n,d) r = -3.3333 - 4.0202i -3.3333 + 4.0202i 6.6667 p = -0.5000 + 1.6583i -0.5000 - 1.6583i -1.0000 k = p1=1-p(1),p2=1-p2p1 = 1.5000 - 1.6583ip2 = -0.5000 - 1.6583i den=conv(p1,p2)den = -3.5000
28、 - 1.6583inum=conv(r,p2)+conv(r,p1)num = -16.6667 + 7.0353i 10.0000 +15.0756i 6.6667 -22.1108i num,den=residue(r,p,k)num = 0.0000 10.0000 30.0000den = 1.0000 2.0000 4.0000 3.00007函数插值运算 (1)线形样条插值 x=0:10 y=sin(x) x0= 3.4 4.7 6.5 8.2 y0=interp1(x,y,x0) % 线形插值 x1=0:0.1:10 y1=sin(x1) plot(x1,y1,r:,x,y,b*,x0,y0,g.) % 插值比较x=0:10x = Columns 1 through 10 0 1 2 3 4 5 6 7 8 9 Column 11 10 y=sin(x)y = Columns 1 through 6 0 0.8415 0.9093 0.1411 -0.7568 -0.9589 Columns 7 through 11 -0.2794 0.6570 0.98
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1