Matlab实验指导书含答案汇总.docx
《Matlab实验指导书含答案汇总.docx》由会员分享,可在线阅读,更多相关《Matlab实验指导书含答案汇总.docx(37页珍藏版)》请在冰豆网上搜索。
Matlab实验指导书含答案汇总
实验
Matlab操作环境熟悉
、实验目的
1.初步了解Matlab操作环境。
2.学习使用图形函数计算器命令funtool及其环境。
二、实验内容
熟悉Matlab操作环境,认识命令窗口、内存工作区窗口、历史命令窗口;学会使用format命令调整命令窗口的数据显示格式;学会使用变量和矩阵的输入,并进行简单的计算;学会使用who和whos命令查看内存变量信息;学会使用图形函数计算器funtool,并进行下列计算:
1.单函数运算操作。
求下列函数的符号导数
(1)y=sin(x);
(2)y=(1+x)A3*(2-x);求下列函数的符号积分
(1)y=cos(x);
(2)y=1/(1+x^2);
(3)y=1/sqrt(1-x^2);
(4)y=(x-1)/(x+1)/(x+2);
求反函数
(1)y=(x-1)/(2*x+3);
(2)y=exp(x);
(3)y=log(x+sqrt(1+x^2));
代数式的化简
(1)(x+1)*(x-1)*(x-2)/(x-3)/(x-4);
(2)sin(x)A2+cos(x)A2;
(3)x+sin(x)+2*x-3*cos(x)+4*x*sin(x);
2.函数与参数的运算操作。
从y=xA2通过参数的选择去观察下列函数的图形变化
(1)y1=(x+1)A2
⑵y2=(x+2)A2
(3)y3=2*x^2
⑷y4=x^2+2
(5)y5=x^4
⑹y6=x^2/2
3.两个函数之间的操作
求和
(1)sin(x)+cos(x)
(2)1+x+x^2+x^3+x^4+x^5
乘积
(1)exp(-x)*sin(x)
(2)sin(x)*x
商
(1)sin(x)/cos(x);
⑵x/(1+x^2);
(3)1/(x-1)/(x-2);
求复合函数
(1)y=exp(u)
u=sin(x)
(2)y=sqrt(u)
u=1+exp(xA2)
(3)y=sin(u)
u=asin(x)
(4)y=sinh(u)
u=-x
三、设计提示
1.初次接触Matlab应该注意函数表达式的文本式描述。
2.在使用图形函数计算器funtool时,注意观察1号和2号窗口中函数的图形。
四、实验报告要求
1.针对图形函数计算器funtool,对每一类型计算记录其中一个图形的曲线。
2.书写实验报告时要结构合理,层次分明,在分析描述的时候,需要注意语言的流畅。
实验二:
M文件和Mat文件操作
、实验目的
1.定制自己的工作环境。
2.编写简单的M文件。
3.保存内存工作区中的变量到.mat文件。
4.学会只用Matlab帮助。
二、实验内容
1.使用format命令和File|Peferences菜单定制自己的工作环境。
2.编写如下M文件,试调整参数a的大小,观察并记录y1、y2的波形特征。
%example1.mt=0:
pi/100:
4*pi;
a=3;
y2=exp(-t/a);
y1=y2.*sin(a*t);
plot(t,y1,'-r',t,y2,':
b',t,-y2,':
b');
3.保存内存工作区变量a、t、y1、y2到example1.mat文件;关闭Matlab,再重新启动;观察内存工作区;重新根据.mat文件恢复原来的工作区变量。
4.在命令窗口中查看exp函数的帮助;运行helpwin查看超文本格式的帮助文件,试翻译并记录下信号处理工具箱(SignalProcessingToolbox)中的函数分类
(Functions--CategoricalList)。
三、设计提示
1.可以用命令语句、菜单或按钮等多种方式执行命令。
2.用于编辑M文件的文本编辑器还可以执行和调试程序。
3.不同的工具箱可能包含同名的函数,查看帮助时应注意在左侧栏选择相应的工具箱类别。
四、实验报告要求
1.对实验内容2,说明参数a的大小对y1、y2波形特征的影响。
2.翻译命令窗口中的exp函数的帮助信息。
3.运行helpwin,试翻译并记录下信号处理工具箱(SignalProcessingToolboX中的函数分类(Functions--CategoricalList)。
4.书写实验报告时要结构合理,层次分明,在分析描述的时候,需要注意语言的流畅。
实验三:
矩阵运算与元素群运算
、实验目的
1.掌握数组与矩阵的创建。
2.掌握矩阵运算与数组运算。
3.掌握基本元素群运算。
4.掌握向量与矩阵的特殊处理。
二、实验内容
三、设计提示
1.等比数列可利用首项和公比的元素群的幕乘积生成。
2.提取子矩阵,可灵活应用“:
”号或空阵[]。
3.尽量用Matlab函数生成上述矩阵或向量,不要用手工逐个输入。
四、实验报告要求
1.编写实现第二节实验内容中所使用的函数命令,并记录相应的生成结果。
2.思考题:
是否存在2X2维的魔方矩阵?
。
3.书写实验报告时要结构合理,层次分明,在分析描述的时候,需要注意语言的流畅。
五,参考答案
1.代码:
a=1:
10
b=5:
-2:
-5
ans=
10
10
ans=
2.代码:
logspace(2,4,10)ans=
1.0e+004*
3.代码:
D=10*rand(3,5)
结果:
0.1527
9.3181
8.4622
6.7214
6.8128
7.4679
4.6599
5.2515
8.3812
3.7948
4.4510
4.1865
2.0265
0.1964
8.3180
5.代码:
A=magic(5);e=diag(A);E=diag(e)《Matlab语言及其在电子信息科学中的应用》实验指导书
结果;
E=
17
0
0
0
0
13
21
0
6.代码:
AA=magic(3);
BB=rot90(AA,2);
CC=AA+j*BB;
DD=CC.';
EE=conj(CC);
A=abs(CC)
B=angle(CC)
C=abs(EE)
D=angle(EE)
结果:
8.2462
9.0554
7.2111
7.6158
7.0711
7.6158
7.2111
9.0554
8.2462
0.2450
1.4601
0.5880
1.1659
0.7854
0.4049
0.9828
0.1107
1.3258
8.2462
9.0554
7.2111
7.6158
7.0711
7.6158
7.2111
9.0554
8.2462
D=
-0.2450
-1.4601
-0.5880
-1.1659
-0.7854
-0.4049
-0.9828
-0.1107
-1.3258
7.代码:
f=20*0.5.A(0:
9);
g=1:
3:
28;s=dot(f,g)结果:
s=
158.6719
8.代码:
A=magic(9);
M=A(4:
6,4:
6);sum(A,1)sum(A,2)
结果:
ans=ans=
369
369
369
369
369
369
369
369
3699.代码:
T=[1,2,3,4;2,3,4,5;3,4,5,6;4,5,6,7]
A=rot90(T);
B=tril(A);
T1=rot90(B,-1)
结果:
《Matlab语言及其在电子信息科学中的应用》实验指导书
T1=
实验四:
线性方程组的求解
一、实验目的
1.掌握恰定方程组的解法。
2•了解欠定方程组、超定方程组的解法。
3.掌握左除法求解线性方程组。
4.学会测试程序的运行时间。
二、实验内容
1.用两种方法求下列方程组的解,并比较两种方法执行的时间。
[7x1+14x2-9x3—2x4+5卷=100
I3右-15x2-13x3-6X4-4x5=200
!
-11x,—9X2—2X3+5x4+7x5=300j5x1中7X2中14x3+16X4—2卷=400
L-2x1+5X2+12X3—11X4—4卷=500
2.判定下列方程是恰定方程组、欠定方程组还是超定方程组,并求其解。
「6人+9爲+14x3-11X4+5x568
Xj+14x2-7X3-15x4-6忑=294
I-2X1+X2-7x3+12x4-Xs=-441
[6人+11x2+11X3-9x4-13x5=103
3.
用网孔电流法求如下电路的各支路电流。
三、设计提示
1.在计算程序的执行时间之前,应注意用clear命令将内存变量清空。
2.求得线性方程组的解之后,代入原方程验证是否正确。
四、实验报告要求
1.编写实现第二节实验内容中所使用的函数命令,并记录相应的生成结果。
2.对于电路的求解,应列出相应的网孔方程和结点方程,并注意方向。
3.书写实验报告时要结构合理,层次分明,在分析描述的时候,需要注意语言的流畅。
五、参考答案
第一题:
A=[7,14,-9,-2,5;3,-15,-13,-6,-4;-11,-9,-2,5,7;5,7,14,16,-2;-2,5,12,-11,-4];
B=[100;200;300;400;500];
X=A\B
结果:
X=
370.9455
-224.7276
238.3333
-138.1891
503.6378
第二题:
A=[6,9,14,-11,5;1,14,-7,-15,-6;-2,1,-7,12,-1;6,11,11,-9,-13];
B=[68;294;-441;103];
X=A\B
结果:
-26.3759
-5.4126
-38.3960
-8.2392
第三题:
A=[1,1,-1,1;0,20,40,0;60,0,40,0;0,0,40,40];
B=[0;10;50;-40];
X=A\B
0.78570.35710.0714
-1.0714
实验五:
函数编写与程序设计
、实验目的
1.掌握函数的编写规则。
2.掌握函数的调用。
3.会用Matlab程序设计实现一些工程算法问题。
二、实验内容
1.编写一个[y,y1,y2]=mwave(f1,m1,f2,m2)函数,实现以下功能,并绘出y1、y2、y在t€[0,2n]区间500个样点的图形。
(其中调用参数2y1Mgsin(2兀H);
y2=m2sin(2花f2t);
y=y1+y2
2.程序设计:
相传古代印度国王要褒奖他的聪明能干的宰相达依尔(国际象棋发明者),问他要什么?
达依尔回答:
“陛下只要在国际象棋棋盘的第一个格子上放一粒麦子,第二个格子上放二粒麦子,以后每个格子的麦子数都按前一格的两倍计算。
如果陛下按此法给我64格的麦子,就感激不尽,其他什么也不要了。
”国王想:
“这还不容易!
”让人扛了一袋麦子,但很快用光了,再扛出一袋还不够,请你为国王算一下共要给达依尔多少小麦?
(1袋小麦约1.4X108粒)。
3.程序设计:
公元前五世纪我国古代数学家张丘建在《算经》一书中提出了“百鸡问题”:
鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。
百钱买百鸡,问鸡翁、母、雏各几何?
三、设计提示
1.函数名和函数文件名应相同;对调用参数的取值范围要检验是否符合要求,如不符合要求,应给出出错信息(用if和error函数实现)。
2.程序设计一一“百鸡问题”答案不唯一。
提示:
设x:
鸡翁数,则x的范围:
0〜19;y:
鸡母数,则y的范围:
0〜33;z:
鸡雏数,则z的范围:
0〜100。
四、实验报告要求
1.编写实现第二节实验内容
(1)所使用的函数文件。
2.程序设计用M文件编写,并记录执行结果。
“百鸡问题”答案不唯一,要给出所有答案。
3.书写实验报告时要结构合理,层次分明,在分析描述的时候,需要注意语言的流畅。
五、参考答案
第1题:
function[y,y1,y2]=mwave(f1,m1,f2,m2)
'),return,end'),return,end'),return,end'),return,end
%根据给定的频率和幅值计算标准正弦函数y1、y2及其叠加y的波形。
if(f1<2)|(f1>20)error('f1超出范围!
if(f2<2)|(f1>20)error('f2超出范围!
if(m1<0.5)|(m1>2)error('m1超出范围!
if(m2<0.5)|(m2>2)error('m2超出范围!
%
t=0:
2*pi/(500-1):
2*pi;y1=m1*sin(2*pi*f1*t);y2=m2*sin(2*pi*f2*t);
波形');
波形');
波形');
y=y1+y2;figuresubplot(311);plot(t,y1);title('y1subplot(312);plot(t,y2);title('y2subplot(313);plot(t,y);title('y=y1+y2%=====================================
第2题:
a=1;
s=0
fori=1:
64
s=s+a;
a=2*a;
end
n=s/1.4/10A8
运行后得:
n=1.3176e+011
第3题:
解设x:
y:
z:
则:
x+y+z=100
5x+3y+z/3=100这是一个欠定方程。
forx=0:
19
fory=0:
33forz=0:
100
if(x+y+z==100)&(5*x+3*y+z/3==100)d=[x,y,z]
endendendend运行后得结果:
d=02575
鸡翁数,则鸡母数,则鸡雏数,则
的范围:
的范围:
的范围:
0〜19
0〜33
0〜100
d=
4
18
78
d=
8
11
81
d=
12
4
84
实验六:
二维图形和三维图形的创建
、实验目的
1.掌握二维图形的绘制。
2.掌握图形的标注
3•了解三维曲线和曲面图形的绘制。
二、实验内容
1.生成1X10维的随机数向量a,分别用红、黄、蓝、绿色绘出其连线图、脉冲图、阶梯图和条形图,并分别标出标题“连线图”、“脉冲图”、“阶梯图”、“条形图”。
x
2.在同一个图形窗口中,绘制两条曲线y1=2x、y2=(1/2);并分别在靠近相应的曲线处标注其函数表达式。
3•编写一个mcircle(r)函数,调用该函数时,根据给定的半径r,以原点为圆心画一个如图所示的红色空心圆。
(图例半径r=5)
4.
(1)绘一个圆柱螺旋线(形似弹簧)图。
圆柱截面直径为10,高度为5,每圈
上升高度为1。
如左图所示。
(2)利用
(1)的结果,对程序做少许修改,得到如右图所示图形。
三、设计提示
1.Matlab允许在一个图形中画多条曲线:
plot(x1,y1,x2,y2,……)指令绘制丫1=fi(xi),y2=f2(X2)等多条曲线。
Matlab自动给这些曲线以不同颜色。
标注可用text函数。
2.绘图时可以考虑极坐标和直角坐标的转换。
3.三维曲线绘图函数为plots0
四、实验报告要求
1.编写实现第二节实验内容中所使用的函数命令,并对二-2记录相应的生成结果。
2.书写实验报告时要结构合理,层次分明,在分析描述的时候,需要注意语言的流畅。
五、参考答案
第一题
t=rand(1,10);figure(l)subplot(221);plot(t,'r');title('连线图')subplot(222);stem(t,'y');title('脉冲图');subplot(223);stairs(t,'b');title('阶梯图');subplot(224);bar(t,'g');title('条形图');
1
1
0.8
0.8
0.6
1■r
■11■
1
0.6
0.4
1
0.4
0.2
0.2
0
'll
0
10
0
5
10
1
HL
0.5
5
10
第二题:
x=1:
1:
50;
y1=2.Ax;
y2=(1/2).Ax;
figure(l)
pIot(x,y1,'r',x,y2,'g');gtextCy1=2.Ax');gtext('y2=(1/2).^x');
14
x10
12
10
[I
y1=2.
y2
=(1/2).x
0IIIJIIItIIIL
05101520253035404550
第3题:
function[y,t]=mcircle(r)
%根据给定的半径r,以原点为圆心画一个红色空心圆。
t=0:
2*pi/64:
2*pi;
y=r*ones(size(t));
subplot(121),polar(t,y,'*r')
[X,Y]=pol2cart(t,y);
%或者采用如下方法转换
%X=r*cos(t);
%Y=r*sin(t);
subplot(122),plot(X,Y,'*r')
axisequal;
axissquare;
第4题:
t=0:
pi/180:
2*pi*5;
r1=10/2;x1=r1*cos(t);y1=r1*sin(t);z=t/(2*pi);
subplot(121),pIot3(x1,y1,z)
gridon
«Matlab语言及其在电子信息科学中的应用》实验指导书
%
r2=linspace(5,0,length(t));x2=r2.*cos(t);
y2=r2.*sin(t);
subplot(122),plot3(x2,y2,z)gridon
实验七:
Matlab多项式和符号运算
、实验目的
1.掌握Matlab多项式的运算。
2.了解符号运算。
二、实验内容(边做实验,边将生成结果和图形拷贝到Word文档中)
1将多项式P(x)=(x-2)(x+3)(x-7)(x+1)化为x的降幕排列。
2.求一元高次方程的根。
-5x8-30x7+150X6+273x5-1365x4-820x3+4100x2+576x-2880=0
3.求一元高次方程的根,并画出左边多项式函数在X引-2,2]区间内的曲线。
x4-2x2+1=0
3232
4.
求多项式fi(x)=x+3x+5x+7和f2(x)=8x-6x+4x-2的乘积f(x);并求
5.求y=x5+tan(4x2)+3的符号导数。
6.用符号运算求实验内容4中的f(x)的表达式。
三、设计提示
1.关于多项式运算的函数有Poly、roots等。
2.多项式做加减运算时要注意等长度。
3.符号表达式的输入可以用字符串方式,也可以用sym函数。
四、实验报告要求
1.编写实现第二节实验内容中所使用的函数文件,并记录相应的生成结果和图形。
2.对于多项式的结果应以多项式向量和多项式表达式两种方式记录。
3.书写实验报告时要结构合理,层次分明,在分析描述的时候,需要注意语言的流畅。
五、参考答案
第1题:
P=poly([2,-3,7,-1])结果:
P=
1-5-192942
即:
P(X)=x4-5x3-19x2+29x+42
第2题:
P仁[1-5-30150273-1365-8204100576-2880];x1=roots(P1)
结果:
x1=
5.0000
-4.0000
4.0000
-3.0000
3.0000
-2.0000
-1.0000
2.0000
1.0000
第3题:
P2=[10-201];x2=roots(P2)n=1;
forx=-2:
0.01:
2
y(n)=sum(P2.*(xA[(length(P2)-1):
-1:
0]));%或者y(n)=xA4-2*xA2+1;
n=n+1;
endx=-2:
0.01:
2;Plot(x,y)结果:
(有重根!
)x2=
1.0000+0.0000i
1.0000-0.0000i
-1.0000+0.0000i
-1.0000-0.0000i
第4题:
f1=[1357];f2=[8-64-2];
f=conv(f1,f2)
f11=[zeros(1,length(f)-length(f1)),f1]
[q,r]=deconv(f-f11,f2)
结果:
f=
8
即:
f11=
0
q=
%补0,与f同维
36-2818-14
1826
f(X)=8x6+18x5+26x4+36x3-28x2+18x-14
1.00003.00005.00006.8750
r=
0000-3.7500-4.5000-7.2500
第5题:
y='xA5+tan(4*xA2)+3';
diff(y)结果:
ans=
5*xM+8*(1+tan(4*xA2)A2)*x
第6题:
f1=sym('x^3+3*x^2+5*x+7');
f2=sym('8*x^3-6*x^2+4*x-2');
f=f1*f2
collect(f)
(f-f1)/f2
collect(ans)
结果:
f=
(x^3+3*x^2+5*x+7)*(8*x^3-6*x^2+4*x-2)
f=
8*x^6+18*x^5+26*x^4+36*x^3-28*x^2+18*x-14
h=(-21+8*x^6+18*x^5+26*x^4+35*x^3-31*x^2+13*x)/(8*x^3-6*x^2+4
*x-2)
h=(-21+8*x^6+18*x^5+26*x^4+35*x^3-31*x^2+13*x)/(8*x^3-6*x^2+4
*x-2)
实验八:
线性时不变系统的时域响应
、实验目的
1•掌握线性时不变系统的三种描述形式一一传递函数描述法、零极点增