MATLAB实验指导书电子信息工程学院2012.02目录实验一MATLAB安装与界面 (1)实验二MATLAB符号计算与应用 (2)实验三MATLAB数值数组与向量化运算 (4)实验四MATLAB数值计算 (7)实验五MATLAB可视化 (10)实验六M文件及MATLAB综合应用 (16)实验一Matlab安装与界面【实验目的】【实验原理】1. 安装MATALB软件,并按理论教学内容逐一熟悉软件界面及软件特点。
【实验仪器】1.配置在PIV2.0GHZ/512MB以上的PC机;2. MATALB7.0以上版本软件。
【实验内容及步骤】1. 完成MATLAB软件安装;2.熟悉MATLAB运行环境。
(1)命令窗口的使用。
(2)工作空间窗口的使用。
(3)工作目录、搜索路径的设置。
(4)命令历史记录窗口的使用。
(5)了解各菜单的功能。
3. 图示复数iziz21,3421+=+=的和展示MATLAB的可视化能力;4. 画出衰减振荡曲线teyt3sin3-=,t的取值范围是]4,0[π;展示数组运算的优点及MATLAB的可视化能力。
5. 创建一个M文件,输入步骤4的相关程序,运行程序并变换名称保存,将工作空间中的y变量的MAT文件变换路径输出保存,然后再向内存装载MAT文件。
6. 以命令窗口中输入help Laplace、help浏览器中搜索两种方式体会MATLAB帮助系统的特点和功能。
【实验报告要求】1.整理实验结果。
2.总结实验心得体会实验二 Matlab 符号计算与应用【实验目的】1. 掌握MATLAB 符号计算的基本语法规则2. 掌握MATLAB 符号计算求解微积分、线性代数问题3. 熟悉MATLAB 符号计算在信号处理领域的应用【实验原理】1. 以MATALB 与MuPAD 库函数间符号计算机理和基本的微积分运算原理为基础,研究常见的工程定解问题以及连续信号处理问题。
【实验仪器】1.配置在PIV2.0GHZ/512MB 以上的PC 机; 2. MATALB7.0以上版本软件。
【实验内容及步骤】1.运行下列代码比较符号(类)数字与数值(类)数字之间的差异。
a=pi+sqrt(5) sa=sym('pi+sqrt(5)') Ca=class(a) Csa=class(sa) vpa(sa-a )2. 熟悉simple 命令并简化32381261+++=xx x f 。
3. 对符号矩阵⎥⎦⎤⎢⎣⎡d c b a 进行特征向量分解,并尝试置换操作。
4. 用简单算例演示subs 的常见置换规则。
5. 试用符号计算求221lim 1kx x x →∞⎛⎫- ⎪⎝⎭。
6. 试用符号计算求⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=)sin()cos(),(2121212x x x e x x x x f 的Jacobian 矩阵⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡∂∂∂∂∂∂∂∂∂∂∂∂231322122111x f x f x f x f x f xf 。
7. 试用符号计算求∑-=13],[t t k t ,∑∞=⎥⎦⎤⎢⎣⎡--12)1(,)12(1k k k k 。
8. 试用符号计算求积分⎰⎰⎰++2122222)(x x yx xydzdydx z y x 。
9. 根据Fourier 变换定义,用积分指令求方波脉冲23/23/2t y else-<<⎧=⎨⎩的Fourier 变换,并作图显示。
10.试用符号计算求d n p q n d q p q d np q p n d ++=++-=+-=+--=2210481,,,线性方程组的解。
【实验报告要求】1.整理实验结果。
2.总结实验心得体会实验三 Matlab 数值数组与向量化运算【实验目的】1. 掌握MATLAB 二维数值数组的创建和寻访2. 掌握MATLAB 数组运算和向量化编程3. 掌握常用标准数组生成函数和数组构作技法4. 数NaN 、“空”数组概念和应用;关系和逻辑操作及应用【实验原理】1. 在MATALB 中,几乎所有运算对象均被视为一种广义的矩阵,而在进行大规模数值计算时,将循环运算转化为矩阵运算可节约代码量、提高程序运行效率。
【实验仪器】1.配置在PIV2.0GHZ/512MB 以上的PC 机; 2. MATALB7.0以上版本软件。
【实验内容及步骤】1. 已知t t t f cos )(2=,分别用符号计算和数值计算求dt t f x s x⎰= 0)()(,比较二者区别。
2. 一维数组的常用创建方法举例。
(1)a1=1:6a2=0:pi/4:pia3=1:-0.1:0(2)b1=linspace(0,pi,4)b2=logspace(0,3,4)(3)c1=[2 pi/2 sqrt(3) 3+5i](4)rand('state',0)c2=rand(1,5) 3. 在MATLAB 环境下,用下面三条指令创建二维数组C 。
a=2.7358; b=33/79;C=[1,2*a+i*b,b*sqrt(a);sin(pi/4),a+5*b,3.5+i]4. 根据现有数据在数组编辑器中创建一个)83(⨯的数组。
5. 标准数组产生的演示ones(2,4)randn('state',0)randn(2,3)D=eye(3)diag(D)diag(diag(D))randsrc(3,20,[-3,-1,1,3],1)6. 熟悉数组元素及子数组的各种标识和寻访格式;冒号的使用;end 的作用。
A=zeros(2,6) A(:)=1:12A(2,4) A(8)A(:,[1,3])A([1,2,5,6]')A(:,4:end)A(2,1:2:5)=[-1,-3,-5]B=A([1,2,2,2],[1,3,5] )L=A<3 A(L)=NaN7.数组操作函数reshape, diag, repmat 的用法;空阵 [ ] 删除子数组的用法。
a=1:8A=reshape(a,4,2) A=reshape(A,2,4)b=diag(A) B=diag(b)D1=repmat(B,2,4)D1([1,3],: )=[ ] 8. 欧姆定律:iur,其中i u r , ,分别是电阻(欧姆)、电压(伏特)、电流(安培)。
验证实验:据电阻两端施加的电压,测量电阻中流过的电流,然后据测得的电压、电流计算平均电阻值。
(测得的电压电流具体数据见下列程序)。
比较向量化运算的优势一:代码量少;优势二:通过加外层循环,用tic toc命令计算时间,体现运算速度快的优势。
(1)非向量化程序clearvr=[0.89, 1.20, 3.09, 4.27, 3.62, 7.71, 8.99, 7.92, 9.70, 10.41];ir=[0.028, 0.040, 0.100, 0.145, 0.118, 0.258, 0.299, 0.257, 0.308, 0.345];% --------------------L=length(vr);for k=1:Lr(k)=vr(k)/ir(k);end% ---------------------------sr=0;for k=1:Lsr=sr+r(k);endrm=sr/L(2)向量化程序clearvr=[0.89, 1.20, 3.09, 4.27, 3.62, 7.71, 8.99, 7.92, 9.70, 10.41];ir=[0.028, 0.040, 0.100, 0.145, 0.118, 0.258, 0.299, 0.257, 0.308, 0.345];r=vr./irrm=mean(r)9. 用“空”数组进行子数组的删除和大数组的大小收缩A=reshape(-4:5,2,5)A(:,[2,4])=[]10. 运行下列程序,体会关系运算的应用。
t=-3*pi:pi/10:3*pi;y=sin(t)./t;tt=t+(t==0)*eps;yy=sin(tt)./tt;subplot(1,2,1),plot(t,y),axis([-9,9,-0.5,1.2]),xlabel('t'),ylabel('y'),title('残缺图形')subplot(1,2,2),plot(tt,yy),axis([-9,9,-0.5,1.2])xlabel('tt'),ylabel('yy'),title('正确图形')【实验报告要求】1.整理实验结果。
2.总结实验心得体会实验四 Matlab 数值计算【实验目的】1. 掌握MATLAB 数值微积分的计算方法2. 掌握MATLAB 矩阵和代数方程运算规律3. 熟悉MTALAB 处理概率和统计分布问题4. 掌握MTALAB 的多项式运算和卷积运算【实验原理】1. 数值计算作为MATALB 的最主要功能,在工程中有着广泛的应用,本节将在已有的数学基础和数字信号处理基础上,开展一些工程中常用的数值计算,并着重基于MTALAB 的内部函数进行编程。
【实验仪器】1.配置在PIV2.0GHZ/512MB 以上的PC 机; 2. MATALB7.0以上版本软件。
【实验内容及步骤】1. 已知)sin(t x =,求该函数在区间 ]2 ,0[π中的近似导函数,分析下列程序产生误差的原因。
d=pi/100; t=0:d:2*pi; x=sin(t); dt=5*eps;x_eps=sin(t+dt);dxdt_eps=(x_eps-x)/dt;plot(t,x,'LineWidth',5) hold onplot(t,dxdt_eps) hold offlegend('x(t)','dx/dt') xlabel('t')提出的解决方案(供参考):x_d=sin(t+d); dxdt_d=(x_d-x)/d;plot(t,x,'LineWidth',5)hold onplot(t,dxdt_d) hold offlegend('x(t)','dx/dt')xlabel('t')2. 已知)sin(t x =,采用diff 和gradient 计算该函数在区间 ]2 ,0[π中的近似导函数,比较二者区别。
3.分别用梯形积分公式和矩形积分计算积分⎰=2/0)()(πdt t y x s ,其中)sin(2.0t y +=,并以符号计算结果为参考解,通过误差分析比较上述方法的精度。