Matlab实验指导书含参考程序.docx
- 文档编号:7954153
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:14
- 大小:28.41KB
Matlab实验指导书含参考程序.docx
《Matlab实验指导书含参考程序.docx》由会员分享,可在线阅读,更多相关《Matlab实验指导书含参考程序.docx(14页珍藏版)》请在冰豆网上搜索。
Matlab实验指导书含参考程序
Matlab实验指导书(含参考程序)
1
实验一:
Matlab操作环境熟悉
一、实验目的
1.初步了解Matlab操作环境。
2.学习使用图形函数计算器命令funtool及其环境。
二、实验内容
熟悉Matlab操作环境,认识命令窗口、内存工作区窗口、历史命令窗口;学会使用format命令调整命令窗口的数据显示格式;学会使用变量和矩阵的输入,并进行简单的计算;学会使用who和whos命令查看内存变量信息;学会使用图形函数计算器funtool,并进行下列计算:
funtool(回车),出现三个窗口:
Figure、Figure为函数曲线视窗,Figure为运算控制器。
1.单函数运算操作。
求下列函数的符号导数
(1)y=sin(x);
(2)y=(1+x)^3*(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)^2+cos(x)^2;
(3)x+sin(x)+2*x-3*cos(x)+4*x*sin(x);
在3号窗口的第一排按键是单函数运算操作键df/dx------求函数f对x的符号导数intf------求函数对x的符号积分simplef------对函数作尽可能的化简numf------取函数的分子表达式denf------取函数的分母表达式1/f------求函数的倒数1/f
finv------f-1求函数的反函数,即g(f(x))=x2.函数与参数的运算操作。
从y=x^2通过参数的选择去观察下列函数的图形变化
(1)y1=(x+1)^2
《Matlab语言及其在电子信息科学中的应用》实验指导书
2
(2)y2=(x+2)^2(3)y3=2*x^2(4)y4=x^2+2(5)y5=x^4(6)y6=x^2/2
在3号窗口的第二排按键是函数与参数的运算操作键f+a-------求函数与a的和f-a-------求函数与a的差f*a-------求函数与a的积f/a-------求函数除与a的商
f^a-------求函数以a为指数的值
f(x+a)-------作自变量的变换,以x+a代替xf(x*a)-------作自变量的变换,以a*x代替x
其中a的默认值为1/2,可以在控制栏中去修改参数a的数值。
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);
(2)x/(1+x^2);(3)1/(x-1)/(x-2);求复合函数
(1)y=exp(u)u=sin(x)
(2)y=sqrt(u)u=1+exp(x^2)(3)y=sin(u)u=asin(x)(4)y=sinh(u)u=-x
在3号窗口的第三排按键是函数与函数的运算操作键f+g------计算f(x)+g(x),并将结果显现在1号窗口中f-g------计算f(x)-g(x),并将结果显现在1号窗口中f*g------计算f(x)*g(x),并将结果显现在1号窗口中f/g------计算f(x)/g(x),并将结果显现在1号窗口中
f(g)------求复合函数f(g(x)),并将结果显现在1号窗口中g=f------将f(x)赋给g,并将结果显现在2号窗口中swap------交换1号和2号视窗的显示
三、设计提示
1.初次接触Matlab应该注意函数表达式的文本式描述。
2.在使用图形函数计算器funtool时,注意观察1号和2号窗口中函数的图形。
四、实验报告要求
《Matlab语言及其在电子信息科学中的应用》实验指导书
3
1.针对图形函数计算器funtool,对每一类型计算记录其中一个图形的曲线。
2.书写实验报告时要结构合理,层次分明,在分析描述的时候,需要注意语言的流畅。
实验二:
M文件和Mat文件操作
一、实验目的
1.定制自己的工作环境。
2.编写简单的M文件。
3.保存内存工作区中的变量到.mat文件。
4.学会只用Matlab帮助。
二、实验内容
1.使用format命令和File|Peferences菜单定制自己的工作环境。
2.编写如下M文件,试调整参数a的大小,观察并记录y1、y2的波形特征。
%t=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到文件;关闭Matlab,再重新启动;观察内存工作区;重新根据.mat文件恢复原来的工作区变量。
4.在命令窗口中查看exp函数的帮助;运行helpwin查看超文本格式的帮助文件,试翻译并记录下信号处理工具箱中的函数分类。
三、设计提示
1.可以用命令语句、菜单或按钮等多种方式执行命令。
2.用于xxM文件的文本xx器还可以执行和调试程序。
3.不同的工具箱可能包含同名的函数,查看帮助时应注意在左侧栏选择相应的工具箱类别。
四、实验报告要求
1.对实验内容2,说明参数a的大小对y1、y2波形特征的影响。
2.翻译命令窗口中的exp函数的帮助信息。
3.运行helpwin,试翻译并记录下信号处理工具箱中的函数分类。
4.书写实验报告时要结构合理,层次分明,在分析描述的时候,需要注意语言的流畅。
《Matlab语言及其在电子信息科学中的应用》实验指导书
4
实验三:
矩阵运算与元素群运算
一、实验目的
1.掌握数组与矩阵的创建。
2.掌握矩阵运算与数组运算。
3.掌握基本元素群运算。
4.掌握向量与矩阵的特殊处理。
二、实验内容
1.“:
”号的用法。
用“:
”号生成行向量a=[12345678910]、b=[531-1-3-5]; a=1:
10 b=5:
-2:
-5
2.用线性等分命令linspace重新生成上述的a和b向量。
a=linspace(1,10,10) b=linspace(5,-5,6)
3.在100和10000之间用对数等分命令logspace生成10维的向量c。
c=logspace(2,4,10)4.生成范围在[0,10]、均值为5的3×5维的均匀分布随机数矩阵D。
D=10*rand(3,5)5.利用magic函数生成5×5维的魔方矩阵,取其对角向量e,并根据向量e生成一个对角矩阵E。
a=magic(5) e=diag(a) E=diag(e)
6.另AA是3×3维魔方矩阵,BB是A旋转180°得到。
CC是一个复数矩阵,其实部为AA,虚部为BB。
DD是CC的转置,EE是CC的共轭。
分别计算CC和EE的模和幅角。
AA=magic(3)BB=rot90(AA,2)CC=AA+j*BBDD=conj(CC')EE=conj(CC)abs(CC)angle(CC)abs(EE)angle(EE)
7.f是一个首项为20,公比为的10维等比数列;g是一个首项为1,公差为3的10维等差数列。
试计算向量f和g的内积s。
f=20*^(0:
9)g=(1:
3:
28)s=dot(f,g)
8.生成一个9×9维的魔方矩阵,提取其中心的3×3维子矩阵M,利用sum函数检验其各行和各列的和是否相等。
A=magic(9)M=A(4:
6,4:
6)sum(A)sum(conj(A'))conj(A')为A的转置
1234123423452340,利用函数生成左上三角矩阵T1。
9.已知T3456340045674000T=[1:
4;2:
5;3:
6;4:
7]T0=fliplr(T)T01=triu(T0)T1=fliplr(T01)
fliplr(A)矩阵A左右翻转flipud(A)矩阵A上下翻转
v=diag(A)提取A的对角线上的元素构造一个列向量v
M=diag(v)用向量v的元素作对角元素,构造一个对角矩阵ML=tril(A)取矩阵A的左下三角部分,其它元素为零U=triu(A)取矩阵A的右上三角部分,其它元素为零
《Matlab语言及其在电子信息科学中的应用》实验指导书
5
rot90(A)矩阵A逆时针旋转90°
三、设计提示
1.等比数列可利用首项和公比的元素群的幂乘积生成。
2.提取子矩阵,可灵活应用“:
”号或空阵[]。
3.尽量用Matlab函数生成上述矩阵或向量,不要用手工逐个输入。
四、实验报告要求
1.编写实现第二节实验内容中所使用的函数命令,并记录相应的生成结果。
2.思考题:
是否存在2×2维的魔方矩阵?
。
3.书写实验报告时要结构合理,层次分明,在分析描述的时候,需要注意语言的流畅。
实验四:
线性方程组的求解
一、实验目的
1.掌握恰定方程组的解法。
2.了解欠定方程组、超定方程组的解法。
3.掌握左除法求解线性方程组。
4.学会测试程序的运行时间。
二、实验内容
1.用两种方法求下列方程组的解,并比较两种方法执行的时间。
7x114x29x32x45x53x15x13x6x4x1234511x19x22x35x47x55x7x14x16x2x234512x15x212x311x44x510020XX00400500
方法一:
逆阵法
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=inv(A)*b
方法二:
左除法
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
2.判定下列方程是恰定方程组、欠定方程组还是超定方程组,并求其解。
《Matlab语言及其在电子信息科学中的应用》实验指导书
6
6x19x214x311x45x568x14x7x15x6x294123452x1x27x312x4x54416x111x211x39x413x5103
如果系数矩阵A的行数m等于列数n,且A为非奇异阵。
称方程为恰定方程;
如果m>n,称方程为超定方程;如果m20)error('f1超出范围!
'),return,endif(f220)error('f2超出范围!
'),return,endif(m12)error('m1超出范围!
'),return,endif(m22)error('m2超出范围!
'),return,end%---------------------------------------------------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;figure
subplot(311);plot(t,y1);title('y1波形');subplot(312);plot(t,y2);title('y2波形');
subplot(313);plot(t,y);title('y=y1+y2波形');
%=================================================== 保存为
调用函数>>mwave(3,1,10,1)
《Matlab语言及其在电子信息科学中的应用》实验指导书
9
第2题:
a=1;s=0;
fori=1:
64 s=s+a; a=2*a;end
n=s//10^8
运行后得:
n=+011
第3题:
解设x:
鸡翁数,则x的范围:
0~19 y:
鸡母数,则y的范围:
0~33 z:
鸡雏数,则z的范围:
0~100则:
x+y+z=100
5x+3y+z/3=100这是一个欠定方程。
forx=0:
19
fory=0:
33
forz=0:
100
if(x+y+z==100)&(5*x+3*y+z/3==100) d=[x,y,z] end end endend
运行后得结果:
d= 0 25 75d= 4 18 78d= 8 11 81d= 12 4 84
实验六:
二维图形和三维图形的创建
一、实验目的
1.掌握二维图形的绘制。
2.掌握图形的标注
3.了解三维曲线和曲面图形的绘制。
二、实验内容
1.生成1×10维的随机数向量a,分别用红、黄、蓝、绿色绘出其连线图、脉冲图、阶梯图和条形图,并分别标出标题“连线图”、“脉冲图”、“阶梯图”、“条形图”。
a=rand(1,10);
《Matlab语言及其在电子信息科学中的应用》实验指导书
10
subplot(141);plot(a,'r');title('连线图')subplot(142);stem(a,'y');title('脉冲图')subplot(143);stairs(a,'b');title('阶梯图')subplot(144);bar(a,'g');title('条形图')
x2.在同一个图形窗口中,绘制两条曲线y12x、y21/2;并分别在靠近相应的曲线处标注其函数表达式。
x=-5:
:
5;y1=2.^x;
y2=(1/2).^x;
plot(x,y1,'r',x,y2,'b');xlabel('x'),ylabel('y')
text(-,15,'\\leftarrowy2=(1/2)^x')%或者text(-,15,'y2=(1/2).^x')
text(2,15,'y1=2^x\\rightarrow')%或者text(2,15,'y1=2^x')
3.编写一个mcircle(r)函数,调用该函数时,根据给定的半径r,以原点为圆心画一个如图所示的红色空心圆。
4.绘一个圆柱螺旋线图。
圆柱截面直径为10,高度为5,每圈上升高度为1。
如左图所示。
利用的结果,对程序做少许修改,得到如右图所示图形。
《Matlab语言及其在电子信息科学中的应用》实验指导书
11
三、设计提示
1.Matlab允许在一个图形中画多条曲线:
plot(x1,y1,x2,y2,)指令绘制
y1f1(x1),y2f2(x2)等多条曲线。
Matlab自动给这些曲线以不同颜色。
标注可用text函数。
2.绘图时可以考虑极坐标和直角坐标的转换。
3.三维曲线绘图函数为plot3。
四、实验报告要求
1.编写实现第二节实验内容中所使用的函数命令,并对二-2记录相应的生成结果。
2.书写实验报告时要结构合理,层次分明,在分析描述的时候,需要注意语言的流畅。
五、参考答案
第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),plot3(x1,y1,z)
《Matlab语言及其在电子信息科学中的应用》实验指导书
12
gridon
%---------------------------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.了解符号运算。
二、实验内容
1.将多项式P(x)(x2)(x3)(x7)(x1)化为x的降幂排列。
2.求一元高次方程的根。
x95x830x7150x6273x51365x4820x34100x2576x-28800
3.求一元高次方程的根,并画出左边多项式函数在x[2,2]区间内的曲线。
x42x210
4.求多项式f1(x)x33x25x7和f2(x)8x36x24x2的乘积f(x);并求
f(x)f1(x)的商和余式。
f2(x)5.求yx5tan(4x2)3的符号导数。
6.用符号运算求实验内容4中的f(x)的表达式。
三、设计提示
1.关于多项式运算的函数有poly、roots等。
2.多项式做加减运算时要注意等长度。
3.符号表达式的输入可以用字符串方式,也可以用sym函数。
四、实验报告要求
1.编写实现第二节实验内容中所使用的函数文件,并记录相应的生成结果和图形。
《Matlab语言及其在电子信息科学中的应用》实验指导书
13
2.对于多项式的结果应以多项式向量和多项式表达式两种方式记录。
3.书写实验报告时要结构合理,层次分明,在分析描述的时候,需要注意语言的流畅。
五、参考答案
第1题:
P=poly([2,-3,7,-1])结果:
P=
1 -5-19 29 42即:
P(x)x45x319x229x42
第2题:
P1=[1-5-30150273-1365-8204100576-2880];x1=roots(P1)结果:
x1=
- - - -
第3题:
P2=[10-201];x2=roots(P2)n=1;
forx=-2:
:
2
y(n)=sum(P2.*(x.^[(length(P2)-1):
-1:
0])); %或者y(n)=x^4-2*x^2+1; n=n+1;end
x=-2:
:
2;plot(x,y)%或者
x=-2:
:
2;
y=x.^4-2*x.^2+1;plot(x,y)
结果:
(有重根!
)x2=
+ -
《Matlab语言及其在电子信息科学中的应用》实验指导书
14
-+ --
第4题:
f1=[1357];f2=[8-64-2];f=conv(f1,f2) %卷积
f11=[zeros(1,length(f)-length(f1)),f1]%补0,与f同维[q,r]=deconv(f-f11,f2) %解卷积结果:
f=
8 18 26 36-28 18-14即:
f(x)8x618x526x436x328x218x14f11=
0 0 0 1 3 5 7q=
r=
0 0 0 0---
第5题:
y='x^5+tan(4*x^2)+3';diff(y) %求导结果:
ans=
5*x^4+8*(1+tan(4*x^2)^2)*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*f2collect(f)(f-f1)/f2collect(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-14h=
(-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)
《Matlab语言及其在电子信息科学中的应用》实验指导书
15
实验八:
线性时不变系统的时域响应
一、实验目的
1.掌握线性时不变系统的三种描述形式——传递函数描述法、零极点增益描述法、状态空间描述法。
2.掌握三种描述形式之间的转换。
3.掌握连续和离散系统频率响应的求解。
二、实验内容
1.生成20个点的单位脉冲信号、单位阶跃信号,并记录下函数命令和波形。
function[x,n]=impseq(n0,ns,nf)n=[ns:
nf];x=[(n-n0)==0];stem(x)
调用函数:
>>impseq(1,0,20)%或者
N=20,n0=1;
x=zeros(1,N);x(1,n0)=1;stem(x)
function[x,n]=stepseq(n0,ns,nf)n=[ns:
nf];x=[(n-n0)>=0];Stairs(x)
调用函数:
>>stepseq(1,0,20)
2.生成占空比为30%的矩形波。
Fs=10000;%采样频率
t=0:
1/Fs:
1;%采样间隔1/Fsx=square(2*pi*50*t,30);
plot(t,x),axis([0,,-,]);
3.将连续系统转化为传递函数的形式,并显示其表(s1)(s3)H(s)达式。
(s1)(s2)(s4)35z12z24.将离散系统H(z)转化为零极点增益的描述
11234形式,并显示其表达式。
5.分别求实验内容3和4的频率响应。
6.分别求实验内容3和4的单位冲激响应。
《Matlab语言及其在电子信息科学中的应用》实验指导书
16
三、设计提示
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Matlab 实验 指导书 参考 程序
![提示](https://static.bdocx.com/images/bang_tan.gif)