MATLAB实验指导书.docx
- 文档编号:11976717
- 上传时间:2023-04-16
- 格式:DOCX
- 页数:23
- 大小:217.26KB
MATLAB实验指导书.docx
《MATLAB实验指导书.docx》由会员分享,可在线阅读,更多相关《MATLAB实验指导书.docx(23页珍藏版)》请在冰豆网上搜索。
MATLAB实验指导书
实验一MATLAB基本操作
一、实验目的
1、熟悉MATLAB基本的操作界面。
2、掌握MATLAB中变量、数组、向量等对象的生成方法。
3、掌握符号矩阵的生成和基本运算方法。
4、掌握MATLAB中的常用帮助命令使用方法。
二、实验设备
计算机,MATLAB语言环境
三、实验基础理论
1、常见数学函数
如:
输入x=[-4.85-2.3-0.21.34.566.75],则
ceil(x)=-4-20257
fix(x)=-4-20146
floor(x)=-5-3-1146
round(x)=-5-20157
2、系统的在线帮助
(1)help命令:
1).当不知系统有何帮助内容时,可直接输入help以寻求帮助:
>>help(回车)
2).当想了解某一主题的内容时,如输入:
>>helpsyntax(了解Matlab的语法规定)
3).当想了解某一具体的函数或命令的帮助信息时,如输入:
>>helpsqrt(了解函数sqrt的相关信息)
(2)lookfor命令
现需要完成某一具体操作,不知有何命令或函数可以完成,如输入:
>>lookforline(查找与直线、线性问题有关的函数)
3、常量与变量
系统的变量命名规则:
变量名区分字母大小写;变量名必须以字母打头,其后
可以是任意字母,数字,或下划线的组合。
此外,系统内部预先定义了几个有特殊意
义和用途的变量,见下表:
(1)数值型向量(矩阵)的输入
1).任何矩阵(向量),可以直接按行方式输入每个元素:
同一行中的元素用逗号(,)
或者用空格符来分隔;行与行之间用分号(;)分隔。
所有元素处于一方括号([]内;
例1:
>>Time=[111212345678910]
>>X_Data=[2.323.43;4.375.98]
2).系统中提供了多个命令用于输入特殊的矩阵:
上面函数的具体用法,可以用帮助命令help得到。
如:
meshgrid(x,y)
输入x=[1234];y=[105];[X,Y]=meshgrid(x,y),则
X=Y=
12341111
12340000
12345555
目的是将原始数据x,y转化为矩阵数据X,Y。
(2)符号向量(矩阵)的输入
1).用函数sym定义符号矩阵:
函数sym实际是在定义一个符号表达式,这时的符号矩阵中的元素可以是任何的符号
或者是表达式,而且长度没有限制。
只需将方括号置于单引号中。
例2:
>>sym_matrix=sym('[abc;JackHelp_MeNO_WAY]')
sym_matrix=
[a,b,c]
[Jack,Help_Me,NO_WAY]
2).用函数syms定义符号矩阵
先定义矩阵中的每一个元素为一个符号变量,而后像普通矩阵一样输入符号矩阵。
例3:
>>symsabc;
>>M1=sym('Classical');
>>M2=sym('Jazz');
>>M3=sym('Blues');
>>A=[abc;M1,M2,M3;sym([235])]
A=
[a,b,c]
[Classical,Jazz,Blues]
[2,3,5]
4、数组(矩阵)的点运算
运算符:
+(加)、-(减)、./(右除)、.\(左除)、.^(乘方),
例4:
>>g=[1234];h=[4321];
>>s1=g+h,s2=g.*h,s3=g.^h,s4=g.^2,s5=2.^h
5、矩阵的运算
运算符:
+(加)、-(减)、*(乘)、/(右除)、\(左除)、^(乘方)、’(转置)等;
常用函数:
det(行列式)、inv(逆矩阵)、rank(秩)、eig(特征值、特征向量)、rref
(化矩阵为行最简形)
例5:
>>A=[20–1;132];B=[17–1;423;201];
>>M=A*B%矩阵A与B按矩阵运算相乘
>>det_B=det(B)%矩阵B的行列式
>>rank_A=rank(A)%矩阵A的秩
>>inv_B=inv(B)%矩阵B的逆矩阵
>>[V,D]=eig(B)%矩阵B的特征值矩阵V与特征向量构成的矩阵D
>>X=A/B%XB=A,求X
>>Y=B\A%BY=A,求Y
6、平面绘图
MATLAB能绘制表现非常丰富的平面图形,以下是一些常用的MATLAB绘图函数,以绘制不同平面图元和实现不同的平面图形绘制功能:
(1).利用plot函数可依据给定的数据绘制平面图形,如绘制正弦函数y=sin(x)的图形:
>>x=-2*pi:
pi/10:
2*pi
>>y=sin(x)
>>plot(x,y,’r*-’)
可以使用gridon绘图网格线和holdon同时绘制两个图形,还可以给图形加上各种注解和
处理:
>>x=-2*pi:
pi/10:
2*pi;
>>y=sin(x);
>>plot(x,y,‘r*:
’)
>>gridon%绘制网格线
>>holdon
>>y2=2*cos(x);
>>plot((x,y2,‘b+-’)
>>xlabel('x轴');%x轴注解
>>ylabel('y轴');%y轴注解
>>title('正弦和余弦函数');%图形标题
>>legend({'y=sin(x)','y2=cos(x)'});%图形注解
(2).MATLAB还可以在同一图形窗口完成多个子图的功能,如:
>>x=-2*pi:
pi/10:
2*pi;
>>y=sin(x);
>>y2=cos(x);
>>y3=2*cos(x);
>>y4=sin(x)+cos(x);
>>subplot(2,2,1);
>>plot(x,y,‘r*:
’)
>>subplot(2,2,2);
>>plot(x,y2,‘b+-’)
>>subplot(2,2,3);
>>plot(x,y3,‘gp:
’)
>>subplot(2,2,4)
>>plot((x,y4,‘kx’)
(3).其它的各种二维函数图
四、实验内容与步骤:
1.练习数据和符号的输入方式,将前面的命令在命令窗口中执行通过;
2.输入A=[715;256;315],B=[111;222;333],在命令
窗口中执行下列表达式,掌握其含义:
A(2,3)A(:
2)A(3,:
)A(:
1:
2:
3)A(:
3).*B(:
2)
A(:
3)*B(2,:
)A*BA.*BA^2A.^2B/AB./A
3.输入C=1:
2:
20,则C(i)表示什么?
其中i=1,2,3,…,10;
4.查找已创建变量的信息,删除无用的变量;
5.请查找相关的命令与函数,获取函数的帮助信息。
6.练习把y=sin(x)/x,z=cos(x),u=2sin(x),v=sin(x)/cos(x)在[0,2p]区间内的四个子图分别用不同的颜色、点型和线型绘制在同一个窗口中,并给其中加上纵坐标,标题、图例和网格线。
五、实验报告要求:
1、简述实验目的、实验原理、实验内容和实验过程
2、总结实验中的主要结论、实践技能和心得体会
3、附上实验过程中所用的程序
实验二矩阵及其运算
一、实验目的
1、熟悉MATLAB命令行输入方法,并熟悉历史命令窗口现场菜单的使用
2、掌握矩阵的基本运算命令
3、掌握符号矩阵的基本运算命令
4、掌握M文件的创建
二、实验设备
计算机,MATLAB语言环境
三、实验基础理论
1、矩阵的创建
(1).加、减运算
运算符:
“+”和“-”分别为加、减运算符。
运算规则:
对应元素相加、减,即按线性代数中矩阵的“十”、“一”运算进行。
(2).乘法
运算符:
*
运算规则:
按线性代数中矩阵乘法运算进行,即放在前面的矩阵的各行元素,分别与
放在后面的矩阵的各列元素对应相乘并相加。
1)两个矩阵相乘
2)矩阵的数乘:
数乘矩阵
3)向量的点乘(内积):
维数相同的两个向量的点乘。
命令:
dot向量点乘函数
还可用另一种算法:
sum(X.*Y)
4)向量叉乘
在数学上,两向量的叉乘是一个过两相交向量的交点且垂直于
Matlab中,用函数cross实现。
命令cross向量叉乘函数
5)混合积
混合积由以上两函数实现:
x=dot(a,cross(b,c))
注意:
先叉乘后点乘,顺序不可颠倒。
(3).矩阵的除法
Matlab提供了两种除法运算:
左除(\)和右除(/)。
一般情况下,x=a\b是方程a*x=b
的解,而x=b/a是方程x*a=b的解
如果a为非奇异矩阵,则a\b和b/a可通过a的逆矩阵与b阵得到:
a\b=inv(a)*b
b/a=b*inv(a)
(4).矩阵乘方
运算符:
^
运算规则:
1)当A为方阵,p为大于0的整数时,A^P表示A的P次方,即A自乘P次;p为小于0的整数时,A^P表示A-1的P次方。
2)当A为方阵,p为非整数时,则A^P=
其中V为A的特征向
量,
为特征值矩阵
(5).矩阵的转置
运算符:
′
运算规则:
与线性代数中矩阵的转置相同。
(6).矩阵的逆矩阵
inv(A)或A^(-1)
(7).方阵的行列式
命令:
det计算行列式的值
2、符号矩阵的运算
(1).符号矩阵的四则运算
符号矩阵的四则运算简化为与数值矩阵完全相同的运算方式,其运算符为:
加(+),减(-)、乘(×)、除(/、\)等或:
符号矩阵的和(symadd),差(symsub),乘(symmul)。
(2).其他基本运算
符号矩阵的其他一些基本运算包括转置(')、行列式(det)、逆(inv)、秩(rank)、幂(^)和指数(exp和expm)等都与数值矩阵相同
(3).符号矩阵的简化
符号工具箱中提供了符号矩阵因式分解、展开、合并、简化及通分等符号操作函数。
1)因式分解
命令:
factor符号表达式因式分解函数
格式:
factor(s)
说明:
s为符号矩阵或符号表达式。
常用于多项式的因式分解
2)符号矩阵的展开
命令expand符号表达式展开函数
格式:
expand(s)
说明:
s为符号矩阵或表达式。
常用在多项式的因式分解中,也常用于三角函数,指
数函数和对数函数的展开中
3)同类式合并
命令:
Collect合并系数函数
格式:
Collect(s,v)将s中的变量v的同幂项系数合并。
Collect(s)s—矩阵或表达式,此命令对由命令findsym函数返回的默认变量进行同类项合并。
4)符号简化
命令:
simple或simplify寻找符号矩阵或符号表达式的最简型
格式:
Simple(s)s—矩阵或表达式
说明:
Simple(s)将表达式s的长度化到最短。
若还想让表达式更加精美,可使用函数
Pretty。
格式:
Pretty(s)使表达式s更加精美
四、实验内容与步骤
1、在Matlab编辑器中建立m文件:
LX0701.m
设A=[1,1,1;1,2,3;1,3,6]
B=[8,1,6;3,5,7;4,9,2]
计算A+B、A-B、A*B、A\B、A/B,A^2、A.*B、A.\B、A./B、A.^2、A’,inv(A),det(A)
2、在Matlab编辑器中建立m文件:
LX0702.m
设a=[123];b=[456];c=[-36-3];计算A=dot(a,b),B=cross(a,b),
C=dot(a,cross(b,c))
3、在Matlab编辑器中建立m文件:
LX0703.m
将x9-1分解因式
4、在Matlab编辑器中建立M文件:
LX0704.m
问λ取何值时,齐次方程组
有非0解
5、在Matlab编辑器中建立M文件:
LX0705.m
将(x+1)^3、sin(x+y)展开
6、在Matlab编辑器中建立M文件:
LX0706.m
求矩阵X,使满足:
AXB=C
五、实验报告要求:
1、简述实验目的、实验原理、实验内容和实验过程
2、总结实验中的主要结论、实践技能和心得体会
3、附上实验过程中所用的程序
实验三电路分析的MATLAB仿真
一、实验目的
1、熟悉电路分析中常用方法的建模。
2、掌握电阻电路分析方法(网孔电流法、节点电压法、戴维南定理)的MATLAB编程。
3、掌握一阶动态电路分析的MATLAB编程。
4、掌握M文件的创建及运行操作。
二、实验设备
计算机,MATLAB语言环境
三、实验基础理论
1电阻电路的计算
(1)、网孔电流法
网孔方程通式
(2)、节点电压法
节点方程通式
(3)、戴维南定理
一个含独立源、线性受控源、线性电阻的二端电路N,对其两个端子来说都可等效为一个理想电压源串联内阻的模型。
其理想电压源的数值为有源二端电路N的两个端子间的开路电压uoc,串联的内阻为N内部所有独立源等于零(理想电压源短路,理想电流源开路),受控源保留时两端子间的等效电阻Req,常记为R0,
戴维南定理示意图
(1)开路、短路法。
(2)外加电源法
2、一阶电路全响应
利用三要素公式可以简便地求解一阶电路在直流电源或阶跃信号作用下的电路响应。
三要素公式为
t>0
求三要素的方法为
①初始值y(0+):
利用换路定律和0+等效电路求得。
②稳态响应y(∞):
在直流电源或阶跃信号作用下,电路达到稳态时,电容看作开路,电感看作短路,此时电路成为电阻电路。
利用电阻电路的分析方法,求得稳态响应y(∞)。
③时间常数τ:
RC电路,τ=RC;RL电路,τ=L/R。
式中R为断开动态元件后的戴维南等效电路的等效电阻。
四、实验内容与步骤:
1、对图3-1所示电路,采用网孔电流法或节点电压法或戴维南定理,用MATLAB编程求各支路电流。
图3-1图3-2
3、图3-2所示电路,t=0时开关S闭合,闭合前电路处于稳定。
求t>0时的电感电流iL。
采用MATLAB编程求解。
五、实验报告要求:
1、简述实验目的、实验原理、实验内容和实验过程
2、总结实验中的主要结论、实践技能和心得体会
3、附上实验过程中所用的程序
实验四连续时间系统响应的MATLAB分析
一、实验目的
1、熟悉常用的连续信号和连续系统的分析方法
2、掌握常用连续信号的MATLAB描述方法
3、掌握连续时间系统响应的MATLAB编程求解方法
二、实验设备
计算机,MATLAB语言环境
三、实验基础理论
1、连续信号的MATLAB描述
(1)单位冲激函数
(2)单位阶跃函数:
(3)复指数函数
2、LTI系统的零输入响应
n阶线性时不变连续系统的微分方程
已知y及其各阶导数的初始值为y(0),y
(1)(0),…,y(n-1)(0),求系统的零输入响应。
方程的解为
p1,p2…,pn是方程a1n+a2n-1+…+an+an+1=0的根,C1,…,Cn由y及其各阶导数的初始值来确定。
•C1+C2+…+Cn=y0y0=y(0)
•
p1C1+p2C2+…+pnCn=Dy0
•即V·C=Y0
•
其解为C=V\Y0
式中
•V为范德蒙矩阵,在MATLAB的特殊矩阵库中有vander。
调用方法:
V=vander(p)
3、n阶LTI系统的冲激响应
•n阶微分方程,写成系统函数为:
•
冲击响应就是H(s)的拉普拉斯反变换,可以把H(s)展开为极点留数式。
•其反变换为
4、卷积的计算
•根据卷积公式:
•因此编程的过程为:
•
(1)写出h(t)的MATLAB表达式;
•
(2)写出u(t)的MATLAB表达式;
•(3)利用MATLAB的卷积语句y=conv(u,h)求解
•(4)画曲线plot(t,y)。
5、LTI系统的零状态响应
•设二阶连续系统
求其冲激响应。
若输入为u=3t+cos(0.1t),求其零状态响应y(t)。
解:
特征方程2+2+8=0
•求出其特征根为p1,p2及相应的留数r1,r2,则冲击响应为:
•输出y(t)可用输入u(t)与冲击响应h(t)的卷积求得。
四、实验内容和步骤:
1、已知描述系统的微分方程和初始状态如下,求其零输入响应。
2、已知描述系统的微分方程和输入如下,求其零状态响应。
3、已知某连续系统的微分方程为
若系统的初始条件y(0-)=y′(0-)=1,输入f(t)=e-tε(t),求系统的完全响应y(t)。
五、实验报告要求:
1、简述实验目的、实验原理、实验内容和实验过程
2、总结实验中的主要结论、实践技能和心得体会
3、附上实验过程中所用的程序
实验五离散信号和系统的MATLAB分析
一、实验目的
(1)掌握MATLAB语言的基本操作,学习基本的编程功能。
(2)掌握MATLAB产生常用离散事件信号的编程方法。
(3)利用卷积方法观察分析系统的时域特性。
(4)熟悉连续信号经过采样前后的频谱变化,加深对采样定理的理解。
二、实验设备
计算机,MATLAB语言环境
三、实验基础理论
1、离散信号的产生及时域处理
(1)单位采样序列δ(n)
1,n=0
0,n≠0(1.2.3)
单位采样序列也可以称为单位脉冲序列,特点是仅在n=0时取值为1,其它均为零。
它类似于模拟信号和系统中的单位冲激函数δ(t),但不同的是δ(t)在t=0时,取值无穷大,t≠0时取值为零,对时间t的积分为1。
(2)单位阶跃序列u(n)
1,n≥0
0,n<0(1.2.4)
它类似于模拟信号中的单位阶跃函数u(t)。
δ(n)与u(n)之间的关系如下式所示:
δ(n)=u(n)-u(n-1)
(3)矩形序列RN(n)
1,0≤n≤N-1
0,其它n(1.2.8)
上式中N称为矩形序列的长度。
矩形序列可用单位阶跃序列表示,如下式:
RN(n)=u(n)-u(n-N)
(4)实指数序列
x(n)=anu(n),a为实数
如果|a|<1,x(n)的幅度随n的增大而减小,称x(n)为收敛序列;如|a|>1,则称为发散序列。
(5)正弦序列
x(n)=sin(ωn)
式中ω称为正弦序列的数字域频率,单位是弧度,它表示序列变化的速率,或者说表示相邻两个序列值之间变化的弧度数。
如果正弦序列是由模拟信号xa(t)采样得到的,那么
xa(t)=sin(Ωt)
xa(t)|t=nT=sin(ΩnT)
x(n)=sin(ωn)
因为在数值上,序列值与采样信号值相等,因此得到数字频率ω与模拟角频率Ω之间的关系为
ω=ΩT
上式具有普遍意义,它表示凡是由模拟信号采样得到的序列,模拟角频率Ω与序列的数字域频率ω成线性关系。
由于采样频率fs与采样周期T互为倒数,也可以表示成下式:
(6)复指数序列
x(n)=e(σ+jω0)n
式中ω0为数字域频率,设σ=0,用极坐标和实部虚部表示如下式:
x(n)=ejω0n
x(n)=cos(ω0n)+jsin(ω0n)
由于n取整数,下面等式成立:
ej(ω0+2πM)n=ejω0n,M=0,±1,±2…
2、序列的运算
在数字信号处理中,序列有下面几种运算,它们是乘法、加法、移位、翻转及尺度变换。
(1).乘法和加法
序列之间的乘法和加法,是指它的同序号的序列值逐项对应相乘和相加,
(2)移位、翻转及尺度变换
设序列x(n),其移位序列x(n-n0);当n0>0时称为x(n)的延时序列;当n0<0时,称为x(n)的超前序列。
x(-n)则是x(n)的翻转序列。
x(mn)是x(n)序列每隔m点取一点形成的,相当于时间轴n压缩了m倍。
3、离散系统对信号的响应
如果已知系统函数H(z)=B(z)/A(z),则filter函数可求出系统对输入信号x(n)的响应y(n)。
y=filter(B,A,x)
由差分方程可得到H(z)的分子和分母多项式系数向量A和B,再给出输入向量x即可。
4、
四、实验内容与步骤
1、编写MATLAB程序来产生下列基本典型脉冲序列:
单位脉冲序列:
起点n0,终点nf,在ns处有一单位脉冲
单位阶跃序列:
起点n0,终点nf,在ns前为0,在ns处及以后均为1
实指数序列:
复指数序列:
2、离散时间信号的卷积
若:
X=[340-2235];nx=[-3:
3];H=[145601];nh=[-1,4],试计算X和H的卷积。
(在MATLAB中,利用函数conv(x,h)可以实现两个有限长度序列的卷积,要注意conv函数假定两个序列都是从n=0开始的。
)
五、实验报告要求:
1、简述实验目的、实验原理、实验内容和实验过程
2、总结实验中的主要结论、实践技能和心得体会
3、附上实验过程中所用的程序
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 实验 指导书