《MATLAB应用技术》实验指导书[材料]_matlab软件实验指导书

2020-02-27 其他范文 下载本文

《MATLAB应用技术》实验指导书[材料]由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“matlab软件实验指导书”。

M A T L A B 实 验 指 导 书

电子信息工程学院

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.图示复数z143i,z212i的和展示MATLAB的可视化能力;

4.画出衰减振荡曲线yesin3t,t的取值范围是[0,4];展示数组运算的优点及MATLAB的可视化能力。

5.创建一个M文件,输入步骤4的相关程序,运行程序并变换名称保存,将工作空间中的y变量的MAT文件变换路径输出保存,然后再向内存装载MAT文件。

6.以命令窗口中输入help Laplace、help浏览器中搜索两种方式体会MATLAB帮助系统的特点和功能。

t3

【实验报告要求】

1.整理实验结果。2.总结实验心得体会

/ 17

实验二

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=cla(a)

Csa=cla(sa)

vpa(sa-a)

2.熟悉simple命令并简化f

316128。x3x2xab3.对符号矩阵进行特征向量分解,并尝试置换操作。

cd

4.用简单算例演示subs的常见置换规则。

5.试用符号计算求lim1 x1x2kx2。

/ 17

f1xx1ex21f2x26.试用符号计算求f(x1,x2)的Jacobian矩阵x1cos(x1)sin(x2)f3x11(1)k,7.试用符号计算求[t,k],。2kk1(2k1)t0t13f1x2f2。x2f3x2

8.试用符号计算求积分

9.根据Fourier变换定义,用积分指令求方波脉冲y换,并作图显示。

10.试用符号计算求d线性方程组的解。

 1 2 x2 x2y x xy(x2y2z2)dzdydx。

203/2t3/2的Fourier变

elsenpnq,ndqp10,qdp,qpn8d1224【实验报告要求】

1.整理实验结果。

2.总结实验心得体会

/ 17

实验三

Matlab数值数组与向量化运算

【实验目的】

1.掌握MATLAB二维数值数组的创建和寻访 2.掌握MATLAB数组运算和向量化编程

3.掌握常用标准数组生成函数和数组构作技法 4.数NaN、“空”数组概念和应用;关系和逻辑操作及应用

【实验原理】

1.在MATALB中,几乎所有运算对象均被视为一种广义的矩阵,而在进行大规模数值计算时,将循环运算转化为矩阵运算可节约代码量、提高程序运行效率。

【实验仪器】

1.配置在PIV2.0GHZ/512MB以上的PC机; 2.MATALB7.0以上版本软件。

【实验内容及步骤】

1.已知f(t)tcost,分别用符号计算和数值计算求s(x)2.一维数组的常用创建方法举例。(1)a1=1:6

a2=0:pi/4:pi a3=1:-0.1:0

2 x 0f(t)dt,比较二者区别。

(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)a=2.7358;b=33/79;

3.在MATLAB环境下,用下面三条指令创建二维数组C。

C=[1,2*a+i*b,b*sqrt(a);sin(pi/4),a+5*b,3.5+i]

4.根据现有数据在数组编辑器中创建一个(38)的数组。

5.标准数组产生的演示

/ 17

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:12

A(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

A(L)=NaN

7.数组操作函数reshape, diag, repmat的用法;空阵 [ ] 删除子数组的用法。

a=1:8

A=reshape(a,4,2)A=reshape(A,2,4)

b=diag(A)

B=diag(b)

D1=repmat(B,2,4)D1([1,3],:)=[ ]

8.欧姆定律:r

u,其中r, u, i分别是电阻(欧姆)、电压(伏特)、电流(安培)。验证i 5 / 17

实验:据电阻两端施加的电压,测量电阻中流过的电流,然后据测得的电压、电流计算平均电阻值。(测得的电压电流具体数据见下列程序)。比较向量化运算的优势一:代码量少;优势二:通过加外层循环,用tic toc命令计算时间,体现运算速度快的优势。(1)非向量化程序

clear vr=[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:L r(k)=vr(k)/ir(k);end

%---------------------------sr=0;for k=1:L sr=sr+r(k);

end rm=sr/L

(2)向量化程序

clear vr=[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./ir rm=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.总结实验心得体会

/ 17

实验四

Matlab数值计算

【实验目的】

1.掌握MATLAB数值微积分的计算方法 2.掌握MATLAB矩阵和代数方程运算规律 3.熟悉MTALAB处理概率和统计分布问题 4.掌握MTALAB的多项式运算和卷积运算

【实验原理】

1.数值计算作为MATALB的最主要功能,在工程中有着广泛的应用,本节将在已有的数学基础和数字信号处理基础上,开展一些工程中常用的数值计算,并着重基于MTALAB的内部函数进行编程。

【实验仪器】

1.配置在PIV2.0GHZ/512MB以上的PC机; 2.MATALB7.0以上版本软件。

【实验内容及步骤】

1.已知xsin(t),求该函数在区间 [0, 2]中的近似导函数,分析下列程序产生误差的原因。

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 on plot(t,dxdt_eps)hold off legend('x(t)','dx/dt')xlabel('t')

提出的解决方案(供参考):

x_d=sin(t+d);dxdt_d=(x_d-x)/d;hold on plot(t,dxdt_d)hold off legend('x(t)','dx/dt')

/ 17

plot(t,x,'LineWidth',5)xlabel('t')2.已知xsin(t),采用diff和gradient计算该函数在区间 [0, 2]中的近似导函数,比较二者区别。

3.分别用梯形积分公式和矩形积分计算积分s(x)/20y(t)dt,其中y0.2sin(t),并以符号计算结果为参考解,通过误差分析比较上述方法的精度。

4.采用匿名函数方法求s

5.应用fminseach

函数求著名的Rosenbrock's “Banana” 测试函数

 1 2 1 0xydxdy。

f(x,y)100(yx2)2(1x)2的极小值点。

6.已知矩阵A24,B43,采用三种不同的编程求这两个矩阵的乘积C23A24B43。并用tic、toc计时方法,在重复1000次运算的情况下比较运行时间。

7.随机产生一个55的矩阵,并计算出其行列式、迹、秩、条件数、逆以及特征分解。

8.画出N=100, p=0.5情况下的二项分布概率特性曲线。

9.运行以下程序,并观察正态分布标准差的几何表示。

mu=3;sigma=0.5;

x=mu+sigma*[-3:-1,1:3];yf=normcdf(x,mu,sigma);P=[yf(4)-yf(3),yf(5)-yf(2),yf(6)-yf(1)];xd=1:0.1:5;yd=normpdf(xd,mu,sigma);clf for k=1:3

% xx=x(4-k):sigma/10:x(3+k);yy=normpdf(xx,mu,sigma);

%-subplot(3,1,k),plot(xd,yd,'b');hold on fill([x(4-k),xx,x(3+k)],[0,yy,0],'g');hold off if k

/ 17

text(3.8,0.6,'[{mu}-{sigma},{mu}+{sigma}]')kk=int2str(k);text(3.8,0.6,['[{mu}-',kk,'{sigma},{mu}+',kk,'{sigma}]'])else end text(2.8,0.3,num2str(P(k)));shg end xlabel('x');

10.调试下列程序,实现给定数据组x0 , y0,求拟合三阶多项式,并图示拟合情况。改变多项式阶数再次图示并观察结果变化。

x0=0:0.1:1;y0=[-.447,1.978,3.11,5.25,5.02,4.66,4.01,4.58,3.45,5.35,9.22];n=3;P=polyfit(x0,y0,n)

xx=0:0.01:1;yy=polyval(P,xx);plot(xx,yy,'-b',x0,y0,'.r','MarkerSize',20)legend('拟合曲线','原始数据','Location','SouthEast')xlabel('x')

【实验报告要求】

1.整理实验结果。2.总结实验心得体会

/ 17

实验五

MATLAB可视化

【实验目的】

1.掌握MATLAB连续函数(信号)的可视化 2.掌握MATLAB二维离散作图的基本格式

3.熟悉MTALAB三维作图的基本格式和高级作图修饰 4.熟悉MTALAB动画的制作过程

【实验原理】

1.MATLAB的主要功能和优点之一为可视化,基于plot命令而展开的一系列作图命令格式为学习本节的基础

【实验仪器】

1.配置在PIV2.0GHZ/512MB以上的PC机; 2.MATALB7.0以上版本软件。

【实验内容及步骤】

1.用图形表示连续调制波形ysin(t)sin(9t)。

t1=(0:11)/11*pi;t2=(0:400)/400*pi;t3=(0:50)/50*pi;y1=sin(t1).*sin(9*t1);y2=sin(t2).*sin(9*t2);y3=sin(t3).*sin(9*t3);subplot(2,2,1),plot(t1,y1,'r.')

% axis([0,pi,-1,1]),title('(1)点过少的离散图形')subplot(2,2,2),plot(t1,y1,t1,y1,'r.')% axis([0,pi,-1,1]),title('(2)点过少的连续图形')subplot(2,2,3),plot(t2,y2,'r.')

% axis([0,pi,-1,1]),title('(3)点密集的离散图形')subplot(2,2,4),plot(t3,y3)

% axis([0,pi,-1,1]),title('(4)点足够的连续图形')

2.调试运行二维曲线绘图指令。

clf

t=(0:pi/50:2*pi)';k=0.4:0.1:1;Y=cos(t)*k;

subplot(1,2,1),plot(t,Y,'LineWidth',1.5)

/ 17

title('By plot(t,Y)'),xlabel('t')subplot(1,2,2),plot(Y,'LineWidth',1.5)title('By plot(Y)'),xlabel('row subscript of Y')

3.用图形表示连续调制波形ysin(t)sin(9t)及其包络线。(图5.2-2)

t=(0:pi/100:pi)';y1=sin(t)*[1,-1];t3=pi*(0:9)/9;

% % %

%

% y2=sin(t).*sin(9*t);y3=sin(t3).*sin(9*t3);hold on

plot(t,y1,'r:',t,y2,'-bo')% plot(t3,y3,'s','MarkerSize',10,'MarkerEdgeColor',[0,1,0],'MarkerFaceColor',[1,0.8,0])axis([0,pi,-1,1])

% % hold off % %以下指令供读者比较用。使用时,指令前的 % 号要去除。

%属性影响该指令中的所有线对象中的离散点。

%plot(t,y1,'r:',t,y2,'-bo',t3,y3,'s','MarkerSize',10,'MarkerEdgeColor',[0,1,0],'MarkerFaceColor',[1,0.8,0])

4.观察各种轴控制指令的影响。演示采用长轴为3.25,短轴为1.15的椭圆。

t=0:2*pi/99:2*pi;x=1.15*cos(t);y=3.25*sin(t);title('Normal and Grid on')subplot(2,3,2),plot(x,y),axis equal,grid on,title('Equal')subplot(2,3,3),plot(x,y),axis square,grid on,title('Square')subplot(2,3,4),plot(x,y),axis image,box off,title('Image and Box off')subplot(2,3,5),plot(x,y),axis image fill,box off title('Image and Fill')subplot(2,3,6),plot(x,y),axis tight,box off,title('Tight')

subplot(2,3,1),plot(x,y),axis normal,grid on, 5.通过调试下列程序,绘制二阶系统阶跃响应,综合演示图形标识。

clf;t=6*pi*(0:100)/100;y=1-exp(-0.3*t).*cos(0.7*t);plot(t,y,'r-','LineWidth',3)hold on tt=t(find(abs(y-1)>0.05));ts=max(tt);plot(ts,0.95,'bo','MarkerSize',10)hold off axis([-inf,6*pi,0.6,inf])

set(gca,'Xtick',[2*pi,4*pi,6*pi],'Ytick',[0.95,1,1.05,max(y)])%

/ 17

%

% %

set(gca,'XtickLabel',{'2*pi';'4*pi';'6*pi'})grid on text(13.5,1.2,'fontsize{12}{alpha}=0.3')text(13.5,1.1,'fontsize{12}{omega}=0.7')

cell_string{1}='fontsize{12}uparrow';%

% % set(gca,'YtickLabel',{'0.95';'1';'1.05';'max(y)'})

%

%

cell_string{2}='fontsize{16} fontname{隶书}镇定时间';cell_string{3}='fontsize{6} ';

%

cell_string{4}=['fontsize{14}rmt_{s} = ' num2str(ts)];text(ts,0.85,cell_string,'Color','b','HorizontalAlignment','Center')

title('fontsize{14}it y = 1-e^{-alpha t}cos{omegat}')xlabel('fontsize{14} bft rightarrow')ylabel('fontsize{14} bfy rightarrow')

6.利用hold绘制离散信号通过零阶保持器后产生的波形,验证叠绘命令

t=2*pi*(0:20)/20;y=cos(t).*exp(-0.4*t);stem(t,y,'g','Color','k');hold on stairs(t,y,':r','LineWidth',3)hold off legend('fontsize{14}it stem','fontsize{14}it stairs')box on

7.运行下列命令,画出函数yxsinx和积分验证双纵坐标。

clf;dx=0.1;x=0:dx:4;y=x.*sin(x);s=cumtrapz(y)*dx;

%

% % %

% a=plotyy(x,y,x,s,'stem','plot');

s(xsinx)dx0x在区间[0,4]上的曲线,text(0.5,1.5,'fontsize{14}ity=xsinx')sint='{fontsize{16}int_{fontsize{8}0}^{ x}}';text(2.5,3.5,)%

=['fontsize{14}its=',sint,'fontsize{14}itxsinxdx'];

set(get(a(1),'Ylabel'),'String','被积函数 ity=xsinx')%

/ 17

set(get(a(2),'Ylabel'),'String',)% xlabel('x')

8.运行下列命令,演示subplot指令对图形窗的分割。

clf;t=(pi*(0:1000)/1000)';y1=sin(t);y2=sin(10*t);y12=sin(t).*sin(10*t);subplot(2,2,1),plot(t,y1);axis([0,pi,-1,1])subplot(2,2,2),plot(t,y2);axis([0,pi,-1,1])subplot('position',[0.2,0.1,0.6,0.40])plot(t,y12,'b-',t,[y1,-y1],'r:')axis([0,pi,-1,1])

9.运行下列程序,实现三维曲线绘图。演示:三维曲线的参数方程;线型、点形和图例。(图5.3-1)

t=(0:0.02:2)*pi;x=sin(t);y=cos(t);z=cos(2*t);plot3(x,y,z,'b-',x,y,z,'bd')view([-82,58]),box on xlabel('x'),ylabel('y'),zlabel('z')legend('链','宝石')

10.运行下列程序,体会不同灯光、照明、材质指令所表现的图形。

clf;[X,Y,Z]=sphere(40);colormap(jet)

%

% %

%

% %

%

subplot(1,2,1),surf(X,Y,Z),axis equal off,shading interp light('position',[0-10 1.5],'style','infinite')lighting phong material shiny subplot(1,2,2),surf(X,Y,Z,-Z),axis equal off,shading flat light;lighting flat % light('position',[-1,-1,-2],'color','y')% light('position',[-1,0.5,1],'style','local','color','w')set(gcf,'Color','w')

11.透视图。

/ 17

[X0,Y0,Z0]=sphere(30);X=2*X0;Y=2*Y0;Z=2*Z0;surf(X0,Y0,Z0);shading interp hold off hidden off

hold on,mesh(X,Y,Z),colormap(hot)

axis equal,axis off

title('No.2 surf(X,Y,Z,abs(dz2))')

12.实时动画:制作红色小球沿一条带封闭路径的下旋螺线运动的实时动画(图5.4-5)。(1)anim_zzy1.m

function f=anim_zzy1(K,ki)% anim_zzy1.m 演示红色小球沿一条封闭螺线运动的实时动画

% 仅演示实时动画的调用格式为

anim_zzy1(K)

% 既演示实时动画又拍摄照片的调用格式为

f=anim_zzy1(K,ki)

% K

红球运动的循环数(不小于1)

% ki

指定拍摄照片的瞬间,取 1 到 1034 间的任意整数。

% f

存储拍摄的照片数据,可用image(f.cdata)观察照片。

%

t1=(0:1000)/1000*10*pi;x1=cos(t1);y1=sin(t1);z1=-t1;t2=(0:10)/10;x2=x1(end)*(1-t2);y2=y1(end)*(1-t2);z2=z1(end)*ones(size(x2));t3=t2;z3=(1-t3)*z1(end);x3=zeros(size(z3));y3=x3;t4=t2;x4=t4;y4=zeros(size(x4));z4=y4;x=[x1 x2 x3 x4];y=[y1 y2 y3 y4];z=[z1 z2 z3 z4];plot3(x,y,z,'Color',[1,0.6,0.4],'LineWidth',2.5)axis off %

h=line('xdata',x(1),'ydata',y(1),'zdata',z(1),'Color',[1 0 0],'Marker', '.', 'MarkerSize',40,'EraseMode','xor');> %

n=length(x);i=2;j=1;while 1

set(h,'xdata',x(i),'ydata',y(i),'zdata',z(i));

drawnow;

%

pause(0.0005)

%

i=i+1;

if nargin==2 & nargout==1

if(i==ki&j==1);f=getframe(gcf);end

%

end

if i>n

/ 17

i=1;j=j+1;

if j>K;break;end

end end

(2)

f=anim_zzy1(2,450);(3)

image(f.cdata),axis off

【实验报告要求】

1.整理实验结果。2.总结实验心得体会

/ 17

实验六

M文件及MATLAB综合应用

【实验目的】

1.掌握MATLABM文件的编写 2.掌握MATLAB控制流的使用

3.熟悉MTALAB仿真工具箱的使用

4.了解MTALAB notebook的功能

【实验原理】

1.应用MATLAB的M文件编写中、大型程序是学习该门课程的重要目的,其他如SIMULINK仿真工具箱的应用也是分析工程问题的重要手段。

【实验仪器】

1.配置在PIV2.0GHZ/512MB以上的PC机; 2.MATALB7.0以上版本软件。

【实验内容及步骤】

x31.已知函数yxex1x11x1,编写能对任意一组输入x值求相应y值的程序。1x2.已知学生的名字和百分制分数。要求根据学生的百分制分数,分别采用“满分”、“优秀”、“良好”、“及格”和“不及格”等表示学生的学习成绩。创建Hilbert矩阵。3.Hilbert矩阵a(i,j)1。

ij1N114.编写计算Sn,其中NargminN,是预先给定的控制精度。n1kkk1k1通过本程序掌握MATLAB编程的基本规范。

5.创建n阶魔方矩阵,限定条件是n为能被4整除的偶数。所谓魔方矩阵(Magic matrix),是指那矩阵由1到n的正整数按照一定规则排列而成,并且每列、每行、每条对角线元素2n(n21)的和都等于。就生成规则而言,魔方矩阵可分成三类:一,n为奇数;二,n为2不能被4整除的偶数;三,n为能被4整除的偶数。

/ 17

6.编写一个M函数文件。它具有以下功能:(A)根据指定的半径,画出蓝色圆周线;(B)可以通过输入字符串,改变圆周线的颜色、线型;(C)假若需要输出圆面积,则绘出圆。

7.编写一个内含子函数的M函数绘图文件。

8.在下图所示的系统中,已知质量m1kg,阻尼b2N.sec/m,弹簧系数k100N/m,且质量块的初始位移x(0)0.05m,其初始速度x(0)0m/sec,要求创建该系统的SIMULINK模型,并进行仿真运行。

9.创建一个notebook文件,简单调试一个作图程序,体会notebook功能。

【实验报告要求】

1.整理实验结果。2.总结实验心得体会

/ 17

《《MATLAB应用技术》实验指导书[材料].docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
《MATLAB应用技术》实验指导书[材料]
点击下载文档
相关专题 matlab软件实验指导书 应用技术 指导书 材料 matlab软件实验指导书 应用技术 指导书 材料
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文