为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > matlab实验MATLAB矩阵分析与处理,MATLAB绘图,MATLAB数值计算,MATLAB Simulink 仿真软件

matlab实验MATLAB矩阵分析与处理,MATLAB绘图,MATLAB数值计算,MATLAB Simulink 仿真软件

2017-10-08 17页 doc 154KB 130阅读

用户头像

is_833902

暂无简介

举报
matlab实验MATLAB矩阵分析与处理,MATLAB绘图,MATLAB数值计算,MATLAB Simulink 仿真软件matlab实验MATLAB矩阵分析与处理,MATLAB绘图,MATLAB数值计算,MATLAB Simulink 仿真软件 一、 实习目的 学会使用matlab进行矩阵分析与处理,绘图,进行数值计算,另外学会进行Simulink 仿真。 1. 掌握科学计算的有关方法,熟悉MATLAB语言及其在科学及其在科学计算中的运用; 2. 掌握MATLAB的命令行运行方式和M文件运行方式; 3. 熟练使用Simulink进行系统仿真; 4. 全面了解MATLAB在电子信息工程专业有关课程中的应用 二、 实习内容 MATL...
matlab实验MATLAB矩阵分析与处理,MATLAB绘图,MATLAB数值计算,MATLAB Simulink 仿真软件
matlab实验MATLAB矩阵分析与处理,MATLAB绘图,MATLAB数值计算,MATLAB Simulink 仿真软件 一、 实习目的 学会使用matlab进行矩阵分析与处理,绘图,进行数值计算,另外学会进行Simulink 仿真。 1. 掌握科学计算的有关,熟悉MATLAB语言及其在科学及其在科学计算中的运用; 2. 掌握MATLAB的命令行运行方式和M文件运行方式; 3. 熟练使用Simulink进行系统仿真; 4. 全面了解MATLAB在电子信息工程专业有关课程中的应用 二、 实习内容 MATLAB矩阵分析与处理,MATLAB绘图,MATLAB数值计算,MATLAB Simulink 仿真软件。 目录 实验一MATLAB矩阵分析与处理…………...3 实验二 MATLAB绘图………………………5 实验三 MATLAB数值计算………………..8 实验四 MATLAB Simulink 仿真软件……..11 函数任务………………………………………..14 2 实验一 MATLAB矩阵分析与处理 1.产生均值为1,方差为0.2的30个正态分布的随机数。 x=1+sqrt(0.2)*randn(5,6) x = 0.9941 1.7916 0.5993 0.9931 1.0478 0.1301 0.7405 1.1456 1.0605 1.2398 1.8265 0.2484 1.9554 0.4996 0.9378 0.6796 0.8770 0.7435 0.8848 1.2774 0.4797 0.7068 1.9895 0.9169 0.3696 1.5679 1.5294 1.1406 1.6746 1.0040 函数randn:产生均值为0,方差为1的正态分布随机矩阵。 2.将101~125等25个数填入一个5行5列的表格中,使其每行每列及对角线的和为565. 一个5阶魔方矩阵的每行,每列及对角线的和均为65: M=magic(5) 对每个元素都加100后,这些和变为565,命令如下: M=100+magic(5) M = 117 124 101 108 115 123 105 107 114 116 104 106 113 120 122 110 112 119 121 103 111 118 125 102 109 函数magic(n):生成一个n阶魔方矩阵。 3.从矩阵A提取主对角线元素,并以这些元素构成对角矩阵B。 A=[1,2,3;4,5,6;7,8,9]; D=diag(A); B=diag(D) B = 1 0 0 0 5 0 0 0 9 D为具有m个元素的向量,函数diag(D)产生一个m*m对角矩阵。 函数diag(A):提取矩阵主对角线元素。 函数diag(A)还有一种形式diag(A,k),其功能:提取第k条对角线的元素。 4(使用函数,实现方阵左旋90度或右旋90度功能。A左旋90度得到B,右旋后得到C。 A=[1,4,7,10;2,5,8,11;3,6,9,12]; B=rot90(A); 3 C=rot90(A,3) B = 10 11 12 7 8 9 4 5 6 1 2 3 C = 3 2 1 6 5 4 9 8 7 12 11 10 函数rot90(A,k):将矩阵A按逆时针旋转90度的k倍,当k为1时可省略。 5.建立一个方阵A,求A的逆矩阵B和A的行列式的值,并验证A与B是互逆的。 A=[2,3,4,1;4,5,7,2;6,7,9,0;5,2,4,8]; B=inv(A) B = -0.8571 -0.1429 0.4286 0.1429 6.4286 -4.9286 0.7857 0.4286 -4.4286 3.9286 -0.7857 -0.4286 1.1429 -0.6429 -0.0714 0.1429 求A的值: C=det(A) C = 14 验证A与B为互逆: B=inv(A); A*B ans = 1.0000 0.0000 0.0000 -0.0000 -0.0000 1.0000 0.0000 -0.0000 0.0000 0 1.0000 0.0000 0.0000 -0.0000 0.0000 1.0000 B*A ans = 1.0000 -0.0000 -0.0000 0.0000 0.0000 1.0000 0.0000 0.0000 0.0000 -0.0000 1.0000 0.0000 0.0000 0.0000 0.0000 1.0000 由上可知A?B=B?A,故A与B互逆。 函数inv(A):求方阵的逆矩阵。 函数det(A):求得矩阵对应行列式的值。 4 6.求下面线性方程组的解。 4x+2x-x=2 12 3x-x+2x=10 123 12x+3x=8 12 A=[4,2,-1;3,-1,2;12,3,0]; b=[2,10,8]'; x=inv(A)*b x = -6.0000 26.6667 27.3333 利用求系数矩阵A的逆矩阵来求解线性方程组。 547.用求特征值的方法解方程3x-7x+5x2+2x-18=0。 p=[3,-7,0,5,2,-18]; A=compan(p); %A的伴随矩阵 x1=eig(A) %求A的特征值 x1 = 2.1837 1.0000 + 1.0000i 1.0000 - 1.0000i -0.9252 + 0.7197i -0.9252 - 0.7197i x2=roots(p) %直接求多项式p的零点 x2 = 2.1837 1.0000 + 1.0000i 1.0000 - 1.0000i -0.9252 + 0.7197i -0.9252 - 0.7197i 函数eig(A):求矩阵A的特征值。 函数roots(p):应用求伴随矩阵的特征值的方法求方程的根。 实验二 MATLAB绘图 -0.5x1.用不同线形和颜色在同一坐标内绘制曲线y=2esin(2πx)及其包络线。 x=(0:pi/100:2*pi)'; y1=2*exp(-0.5*x)*[1,-1]; y2=2*exp(-0.5*x).*sin(2*pi*x); 5 x1=(0:12); y3=2*exp(-0.5*x1).*sin(2*pi*x1); plot(x,y1,'k:',x,y2,'b--',x1,y3,'rp'); 结果: 函数plot:绘制xy平面上得线形坐标曲线图。基本调用格式为:plot(x,y)。 该题使用plot函数中包括3组绘图参数:第一组用黑色虚线绘出两根包络线(使用’k:’),第二组用蓝色双划线绘出曲线y(使用‘b--’),第三组用红色五角星离散标出数据点(使用‘rp’)。 2. 在0?x?2,区间内,绘制曲线y1=2e-0.5x和y2=cos(4πx),并给图形添加图形标注。 x=0:pi/100:2*pi; y1=2*exp(-0.5*x); y2=cos(4*pi*x); plot(x,y1,x,y2) title('x from 0 to 2{\pi}'); %加图形标题 xlabel('Variable X'); %加X轴说明 ylabel('Variable Y'); %加Y轴说明 text(0.8,1.5,'曲线y1=2e^{-0.5x}'); %在指定位置添加图形说明 text(2.5,1.1,'曲线y2=cos(4{\pi}x)'); 结果: 6 3. 在xy平面内选择区域[-8,8]×[-8,8],绘制函数 sinx^2,y^2 Z= x^2,y^2 的4种三维曲面图。 [x,y]=meshgrid(-8:0.5:8); z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2+eps); subplot(2,2,1); mesh(x,y,z); title('mesh(x,y,z)') subplot(2,2,2); meshc(x,y,z); title('meshc(x,y,z)') subplot(2,2,3); meshz(x,y,z) title('meshz(x,y,z)') subplot(2,2,4); surf(x,y,z); title('surf(x,y,z)') 分析: 1)函数meshgrid:产生平面区域内的网格坐标矩阵。其格式为: x=a:d1:b; y=c:d2:d; [X,Y]=meshgrid(x,y); 语句执行后,矩阵X的每一行都是向量x,行数等于向量y的元素的个数,矩阵Y的每一列都是向量y,列数等于向量x的元素的个数。 2)mesh函数和surf函数:mesh用于绘制三维网格图。surf用于绘制三维曲面图,各线条之间用颜色填充。调用格式为: mesh(x,y,z,c) surf(x,y,z,c) 7 一般情况下,x,y,z是维数相同的矩阵。x,y是网格坐标矩阵,z是网格点上的高度矩阵,c用于指定在不同高度下的颜色范围。 3)还有带等高线的三维网格曲面函数meshc和带底座的三维网格曲面函数meshz。其用法与mesh类似,不同的是meshc还在xy平面上绘制曲面在z轴方向的等高线,meshz还在xy平面上绘制曲面的底座。 结果: 实验三 MATLAB数值计算 1.生成满足正态分布的10000×5随机矩阵,然后求各列元素的均值和标准方差,再求这5列随机数据的相关系数矩阵。 X=randn(10000,5); M=mean(X) D=std(X) R=corrcoef(X) M = 0.0011 0.0066 0.0009 0.0264 0.0101 D = 8 1.0011 1.0036 1.0049 1.0058 1.0061 R = 1.0000 0.0119 0.0051 -0.0114 -0.0011 0.0119 1.0000 0.0093 -0.0012 0.0071 0.0051 0.0093 1.0000 0.0048 0.0095 -0.0114 -0.0012 0.0048 1.0000 -0.0017 -0.0011 0.0071 0.0095 -0.0017 1.0000 1)mean(X):返回向量X的算术平均值。 2)在MATLAB中,提供了计算数据序列的标准方差的函数std。对于向量X, std(X)返回一个标准方差。 3)corrcoef(X):返回从矩阵X形成的一个相关系数矩阵。此相关系数矩阵的大 小与矩阵X一样。它把矩阵X的每列作为一个变量,然后求它们的相关系数。 2.某实验对一根长10米的钢轨进行热源的温度传播测试。用x表示测量点 0:2.5:10(米),用h表示测量时间0:30:60(秒),用T表示测试所得各点的温度(?)。 试用线性插值求出在一分钟内每隔20秒、钢轨每隔1米处的温度TI。 x=0:2.5:10; h=[0:30:60]'; T=[95,14,0,0,0;88,48,32,12,6;67,64,54,48,41]; xi=[0:10]; hi=[0:20:60]'; TI=interp2(x,h,T,xi,hi) TI = 95.0000 62.6000 30.2000 11.2000 5.6000 0 0 0 0 0 0 90.3333 68.8667 47.4000 33.6000 27.4667 21.3333 16.0000 10.6667 7.2000 5.6000 4.0000 81.0000 69.9333 58.8667 50.5333 44.9333 39.3333 33.2000 27.0667 22.7333 20.2000 17.6667 67.0000 65.8000 64.6000 62.0000 58.0000 54.0000 51.6000 49.2000 46.6000 43.8000 41.0000 分析: 在MATLAB中,提供了解决二维插值问题的函数interp2,其调用格式为: Z1=interp2(X,Y,Z,X1,Y1,'method') 其中X,Y是两个向量,分别描述两个参数的采样点,Z是与参数采样点对应的函 数值,X1,Y1是两个向量或标量,描述欲插值的点。Z1是根据相应的插值方法 得到的插值结果。 method的取值与一维插值函数相同。X,Y,Z也可以是矩阵形 式。 同样,X1,Y1的取值范围不能超出X,Y的给定范围,否则,会给出“NaN”错误。 9 3.给定数学函数x(t)=12sin(2π×10t+π/4)+5cos(2π×40t) 取N=128,试对t从0~1秒采样,用fft作快速傅立叶变换,绘制相应的振幅-频率图。 在0~1秒时间范围内采样128点,从而可以确定采样周期和采样频率。由于离散傅立叶变换时的下标应是从0到N-1,故在实际应用时下标应该前移1。又考虑到对离散傅立叶变换来说,其振幅| F(k)|是关于N/2对称的,故只须使k从0到N/2即可。 N=128; % 采样点数 T=1; % 采样时间终点 t=linspace(0,T,N); % 给出N个采样时间ti(I=1:N) x=12*sin(2*pi*10*t+pi/4)+5*cos(2*pi*40*t); % 求各采样点样本值x dt=t(2)-t(1); % 采样周期 f=1/dt; % 采样频率(Hz) X=fft(x); % 计算x的快速傅立叶变换X F=X(1:N/2+1); % F(k)=X(k)(k=1:N/2+1) f=f*(0:N/2)/N; % 使频率轴f从零开始 plot(f,abs(F),'-*') % 绘制振幅-频率图 xlabel('Frequency'); ylabel('|F(k)|') 结果: 4. 已知 f(x) (1) 计算f(x)=0 的全部根。 (2) 由方程f(x)=0的根构造一个多项式g(x),并与f(x)进行对比 10 P=[3,0,4,-5,-7.2,5]; X=roots(P) %求方程f(x)=0的根 G=poly(X) %求多项式g(x ) X = -0.3046 + 1.6217i -0.3046 - 1.6217i -1.0066 1.0190 0.5967 G = 1.0000 0.0000 1.3333 -1.6667 -2.4000 1.6667 1)n次多项式具有n个根,当然这些根可能是实根,也可能含有若干对共轭复根。MATLAB提供的roots函数用于求多项式的全部根,其调用格式为:x=roots(P) 其中P为多项式的系数向量,求得的根赋给向量x,即x(1),x(2),…,x(n)分别代表多项式的n个根。 2)若已知多项式的全部根,则可以用poly函数建立起该多项式,其调用格式为: P=poly(x) 若x为具有n个元素的向量,则poly(x)建立以x为其根的多项式,且将该多项式的系数赋给向量P。 实验四 MATLAB Simulink 仿真软件 1.用示波器分别观察正弦信号和余弦信号的波形。 建立系统模型: 结果: 11 分析: Sine wave:输出正弦信号。将正弦信号初相位改为π/2,即得到余弦信号。 2.假设从实际自然界(力学,电学,生态等)或社会中,抽象出有初始状态为0 ,,,的二阶微分方程x,0.2x,0.4x,0.2u(t),u(t)是单位阶跃函数。使用积分器直接构搭求解该微分方程的模型。 建立系统模型: 设置仿真参数,进行仿真操作,结果: 12 分析: 1)u(t):输入源模块 G1,G2,Gs:增益模块,可设置增益参数。 Int1,Int2:积分模块。 Clock:时钟信号。 求和模块。 Scope:示波器。 利用Simulink仿真求定积分。 2)仿真过程如下: (1) 打开一个模型编辑窗口。 (2) 将所需模块添加到模型中。 (3) 设置模块参数并连接各个模块组成仿真模型。 (4) 设置系统仿真参数。 (5) 开始系统仿真。 (6) 观察仿真结果。 3.利用使能子系统构成一个正弦半波整流器。 半波整流模型: 使能子系统: 结果: 13 函数任务 Numel函数 例题:求矩阵A中元素的个素。 A=[1,2,3;4,5,6;7,8,9]; x=numel(A) 结果: x = 9 分析: x=numel(A)该语句返回数组中元素的总数。 三、 实习总结 14
/
本文档为【matlab实验MATLAB矩阵分析与处理,MATLAB绘图,MATLAB数值计算,MATLAB Simulink 仿真软件】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索