MATLAB上机实习指导书.docx
- 文档编号:26670944
- 上传时间:2023-06-21
- 格式:DOCX
- 页数:34
- 大小:340.22KB
MATLAB上机实习指导书.docx
《MATLAB上机实习指导书.docx》由会员分享,可在线阅读,更多相关《MATLAB上机实习指导书.docx(34页珍藏版)》请在冰豆网上搜索。
MATLAB上机实习指导书
MATLAB上机实习指导书
目录
实习内容一MATLAB基本操作-----------------------------------2
实习内容二数值数组及其运算---------------------------------8
实习内容三MATLAB图形绘制基础-------------------------------15
实习内容四SIMULINK仿真基础---------------------------------22
附录1流程控制------------------------------------------------24
附录2SIMULINK的库模块--------------------------------------25
附录3转义符号------------------------------------------------27
实习内容一MATLAB基本操作
一、实习目的
掌握MATLAB的启动和退出;
熟悉MATLAB的命令窗口;
熟悉其它常用窗口和工具栏。
二、实习内容与步骤
1、进入MATLAB的开发环境。
方法一:
点击桌面上的快捷方式或matlab\文件夹下的快捷方式图标。
方法二:
开始→所有程序→MATLAB6.5→MATLAB6.5.EXE。
方法三:
点击matlab\bin\win32文件夹下的matlab.exe。
这三种方法的当前目录不同。
优先选用方法一。
可见到如下交互界面(见图1-1):
图1-1Matlab默认桌名平台
2、退出MATLAB的开发环境。
退出Matlab的方式很多:
(1)在Matlab命令窗口的“File”菜单下选择“ExitMatlab”;
(2)快捷键“Ctrl+q”;
(3)在命令窗口输入“quit”命令;
(4)在命令窗口输入“exit”命令;
(5)用鼠标单击命令窗口右上角的“X”按钮;
(6)用鼠标双击命令窗口左上角的图标“
”。
3、熟悉MATLAB的desktop操作桌面
(1)熟悉指令窗(commandwindow)----界面见图1-2
图1-2
a、点击指令窗右上角的
可以从将指令窗从操作桌面独立出来,点击指令窗中view菜单下的DockCommandwindow可以使指令窗嵌入回操作桌面。
b、在指令窗的提示符>>后面键入所以下指令:
(12+2*(7-4))/3^2
观察指令窗中的结果。
c、通过下拉菜单File:
Preferences改变设置指令窗中的字体、颜色等。
如:
数据显示格式的设置:
formatshort小数点后四位(缺省情况),如显示π为3.1416。
formatlong小数点后十四位,如显示π为3.14159265358979。
formatbank小数点后两位,如显示π为3.14。
formatshorte小数点后四位科学记数法,如显示π为3.1416e+000。
formatlonge小数点后十五位科学记数法,如显示π为3.141592653589793e+000。
(2)熟悉当前目录浏览器(CurrentDirectory)
(A)观察当前目录是什么?
(B)打开我的电脑,在E盘下建立一个名为mydir的文件夹。
在MATLAB的commandwindow上方,有一个当前目录设置区。
它包括:
“目录设置栏”和“浏览键”,在目录设置栏中直接写待设置的目录名,或借助浏览键和鼠标选择待设目录。
(3)熟悉工作空间浏览器(WorkspaceBrowser)----见图1-3
在以上步骤的基础上,观察工作空间浏览器有哪些变量?
在指令窗中who和whos两条指令,观察指令窗中的结果。
(4)熟悉数组编辑器(ArrayEditor)
点中Workspace中任意一个数组,然后双击所选数组或点击
图标打开数组编辑器(见图1-4)。
观察此数值数组内部的值。
图1-3工作空间浏览器
图1-4数组编辑器
按照以下步骤建立一个新的数组:
(A)在指令窗里,向一个新变量赋“空”阵。
如:
A=[];
(B)在内存浏览器中,双击该变量,打开数组编辑器。
(C)在数组编辑器左上方的“行维”、“列维”栏中填写待建数组的“大小”,于是在编辑窗中就出现待填写的数组元素表格。
(D)逐格填写元素值,直到完成为止。
(5)熟悉M文件编辑器及运行一个简单的程序。
(A)点击MATLAB窗口上的
图标,弹出M文件编辑器(见图1-5);
图1-5
(B)在M文件编辑调试器的空白框中写入下面指令。
t=0:
pi/50:
4*pi;
y0=exp(-t/3);
y=exp(-t/3).*sin(3*t);
plot(t,y,'-r',t,y0,':
b',t,-y0,':
b')
(C)点击M文件编辑器的
(保存图标),或选中【File:
Save】下拉菜单项,会出现标准的文件保存对话框。
(D)在文件保存对话框中,选定目录(如mydir),填写文件名(try1),再按保存键,于是把try1.m脚本文件保存到了mydir目录上了。
(E)选中M文件编辑器下拉菜单项【Debug:
Run】或按功能键F5,就可在图形窗中看到该程序的运行结果曲线。
(6)在command窗中分别输入以下指令并观察其功能:
clc,clear,clf,cd,exit,quit
clear清除当前工作区中的所有变量
clc清除指令窗内容(未清除当前工作区中的变量)
clf清除图形窗口
cd设置当前工作目录
exit,quit退出MATLAB
(7)设置文件存放路径
(A)新建一个文件夹(自己的名字命名,在机器的最后一个盘符);
(B)将该文件夹添加到MATLAB路径管理器中,见图1-6。
(C)保存,关闭对话框,见图1-7。
图1-6
(8)了解MATLAB帮助系统
在指令窗中输入helpeye,阅读关于eye的帮助信息。
点击MATLAB的菜单项help:
MatlabHelp。
查看自己所需的帮助。
三、实习要求
1、熟悉MATLAB的启动与退出。
2、会熟练使用MATLAB的常用窗口(尤其是指令窗、编辑窗)以及各窗口之间的配合使用。
图1-7
实习内容二数值数组及其运算
一、实习目的
1、掌握一维数组的创建和寻访;
2、掌握二维数组的创建和寻访;
3、掌握MATLAB的矩阵和数组的运算;
4、熟悉MATLAB关系操作和逻辑操作。
二、实习内容和步骤
(1)常量与变量
系统的变量命名规则:
变量名区分字母大小写;变量名必须以字母打头,其后可以是任意字母,数字,或下划线的组合。
此外,系统内部预先定义了几个有特殊意义和用途的变量,见下表:
特殊的变量、常量
取值
ans
用于结果的缺省变量名
pi
圆周率π的近似值(3.1416)
eps
数学中无穷小(epsilon)的近似值(2.2204e-016)
inf
无穷大,如1/0=inf(infinity)
NaN
非数,如0/0=NaN(NotaNumber),inf/inf=NaN
i,j
虚数单位:
i=j=
(2)数值型向量(矩阵)的输入
a.任何矩阵(向量),可以直接按行方式输入每个元素:
同一行中的元素用逗号(,)或者用空格符来分隔;行与行之间用分号(;)分隔。
所有元素处于一方括号([])内;
例1:
>>Tim=[111212345678910]
>>X_Data=[2.323.43;4.375.98]
b.系统中提供了多个命令用于输入特殊的矩阵:
函数
功能
函数
功能
compan
伴随阵
toeplitz
Toeplitz矩阵
diag
对角阵
vander
Vandermonde矩阵
hadamard
Hadamard矩阵
zeros
元素全为0的矩阵
hankel
Hankel矩阵
ones
元素全为1的矩阵
invhilb
Hilbert矩阵的逆阵
rand
元素服从均匀分布的随机矩阵
kron
Kronercker张量积
randn
元素服从正态分布的随机矩阵
magic
魔方矩阵
eye
对角线上元素为1的矩阵
pascal
Pascal矩阵
meshgrid
由两个向量生成的矩阵
上面函数的具体用法,可以用帮助命令help得到。
如:
meshgrid(x,y)
输入x=[1234];y=[105];[X,Y]=meshgrid(x,y),则
X=Y=
12341111
12340000
12345555
目的是将原始数据x,y转化为矩阵数据X,Y。
(3)符号向量(矩阵)的输入
a.用函数sym定义符号矩阵:
函数sym实际是在定义一个符号表达式,这时的符号矩阵中的元素可以是任何的符号或者是表达式,而且长度没有限制。
只需将方括号置于单引号中。
例2:
>>sym_matrix=sym('[abc;JackHelp_MeNO_WAY]')
sym_matrix=
[a,b,c]
[Jack,Help_Me,NO_WAY]
b.用函数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(化矩阵为行最简形)
>>A=[20-1;132];B=[17-1;423;201];
>>M=A*B%矩阵A与B按矩阵运算相乘
>>det_B=det(B)%矩阵A的行列式
>>rank_A=rank(A)%矩阵A的秩
>>inv_B=inv(B)%矩阵B的逆矩阵
>>[V,D]=eig(B)%矩阵B的特征值矩阵V与特征向量构成的矩阵D
>>X=A/B%A/B=A*B-1,即XB=A,求X
>>Y=B\A%B\A=B-1*A,即BY=A,求Y
✧常见数学函数
函数名
数学计算功能
函数名
数学计算功能
abs(x)
实数的绝对值或复数的幅值
floor(x)
对x朝-∞方向取整
acos(x)
反余弦arcsin
gcd(m,n)
求正整数m和n的最大公约数
acosh(x)
反双曲余弦arccosh
imag(x)
求复数x的虚部
angle(x)
在四象限内求复数x的相角
lcm(m,n)
求正整数m和n的最小公倍数
asin(x)
反正弦arcsin
log(x)
自然对数(以
为底数)
asinh(x)
反双曲正弦arcsinh
log10(x)
常用对数(以10为底数)
atan(x)
反正切arctan
real(x)
求复数x的实部
atan2(x,y)
在四象限内求反正切
rem(m,n)
求正整数m和n的m/n之余数
atanh(x)
反双曲正切arctanh
round(x)
对x四舍五入到最接近的整数
ceil(x)
对x朝+∞方向取整
sign(x)
符号函数:
求出x的符号
conj(x)
求复数x的共轭复数
sin(x)
正弦sin
cos(x)
余弦cos
sinh(x)
反双曲正弦sinh
cosh(x)
双曲余弦cosh
sqrt(x)
求实数x的平方根:
exp(x)
指数函数
tan(x)
正切tan
fix(x)
对x朝原点方向取整
tanh(x)
双曲正切tanh
如:
输入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
(6)在指令窗中输入
x=[23pi/29];x=[2,3,pi/2,9]观察结果是否一样?
(7)要求在闭区间
上产生50个等距采样的一维数组A,试用两种不同的指令实现。
要寻访1到5个元素如何实现;寻访7到最后一个元素如何实现;寻访第2,6,8个元素如何实现;寻访大于2的元素如何实现。
给第3,5,9个元素赋值100如何实现;
(8)在指令窗中输入A=[123;456]观察结果;分别用“全下标”和“单下标”来寻访第2行第1列的元素,并说明二维数组元素的存储顺序。
(9)在指令窗中输入B=[1,2,3;6,7,8],并计算A.*B;和A*B并说明矩阵相乘和数组相乘的区别。
(10)关系操作和逻辑操作
表2-4Matlab常用关系运算符
关系运算符
<
<=
>
>=
==
~=
说明
小于
小于等于
大于
大于等于
等于
不等于
表2-4Matlab常用逻辑运算符
逻辑运算符
&
|
~
Xor
说明
与
或
非
异或
在指令窗中输入下列程序,观察结果并逐行分析程序的功能。
rand('state',0);
A=rand(3,5);
[ii,jj]=find(A>0.5);
disp('iijj')
disp([iijj])
(11)在时间区间
中,绘出
曲线。
(12)写出生成如图2-1所示波形的MATLAB脚本M文件。
图中虚线为正弦波,要求它的负半波被置零[z(find(z<0))=0],且在
处被削顶。
图2-1
(13)字符串数组
A、创建串数组
例:
a='Thisisanexample.'
B、size(a):
输出该数组的大小
C、串数组的元素标识
例:
a14=a(1:
4)即a14=This
D、字符串的存储是用ASCII码实现的
Abs和double指令:
将串数组转换为ASCII码数值数组
例:
Name='thomasr.lee';name1=double(Name)
char指令:
将ASCII码数值数组转换为串数组
例:
name1=102;name2=char(name1)
E、A='这是一个算例'。
中文字符串数组
F、b='example''3.1.2-1'''。
连续两个单引号可创建带单引号的字符串
G、可由小串构成大串.
H、利用串操作函数char,str2mat,strvcat,int2str,num2str,mat2str等创建数组。
例:
•Name=['ThomasR.Lee';'SeniorDeveloper'];须输入同一长度的字符串;
•Name=char('ThomasR.Lee','SeniorDeveloper','Kaiyi.wang','threemam','abcd')可输入不同长度的字符串;
•Fname=deblank(name(5,:
))删除尾部空格;
•可通过size(Fname)来检验;
•strcmp(str1,str2)可判断两个字符串是否相等;
•strncmp(str1,str2,3)用于判断两个字符的前3个字符是否相等;
•A==b用于比较两个字符串中对应字符是否相等;
•A~=b用于比较两个字符串中对应字符是否不等;
•isletter(mystring)用于判断mystring中字符是否为字母;
•isspace(mystring)用于判断mystring中字符是否为空格或制表符;
•strrep(label,’s1’,’s2’)可以将label中字符串s1用s2替换;
•findstr('s1',label)在label中找s1,找到返回位置;否则返回空矩阵符号“[]”;
•strtok(label)在label中找分隔字符(空格,/,制表符),返回第一个分隔字符前的子串.
在编辑窗中输入下列程序,观察结果并逐行分析程序的功能。
clear
a=2;
w=3;
t=0:
0.01:
10;
y=exp(-a*t).*sin(w*t);
[y_max,i_max]=max(y);
t_text=['t=',num2str(t(i_max))];
y_text=['y=',num2str(y_max)];
max_text=char('maximum',t_text,y_text);
tit=['y=exp(-',num2str(a),'t)*sin(',num2str(w),'t)'];
plot(t,zeros(size(t)),'k')
holdon
plot(t,y,'b')
plot(t(i_max),y_max,'r.','MarkerSize',20)
text(t(i_max)+0.3,y_max+.05,max_text)
title(tit),xlabel('t'),ylabel('y'),holdoff
三、实习要求:
1、分清数组运算与矩阵运算的区别与联系。
2、熟悉MATLAB的各种数据类型。
3、初步了解M文件及其编写、调试与运行。
实习内容三MATLAB图形绘制基础
一、实习目的
1、进一步熟悉M文件调试过程
2、熟练掌握MATLAB二维曲线的绘制
3、掌握图形的修饰
二、实习内容
1、基本命令:
plot(数据作图、函数作图),ezplot(简易作图),fplot(简易作图)
(1)plot(x,y,’s’)s用来表示色彩、线型、点型
例3.1用plot绘制y=sinx/x的图形
x=-2*pi:
pi/10:
2*pi;
y=sin(x)./x;%准备数据
plot(x,y)%用plot作图
注意x=0处的图形
例3.2x=-2*pi:
pi/10:
2*pi;
x=x+(x==0)*eps;
y=sin(x)./x;%(准备数据,处理分母零点))
plot(x,y)%(用plot作图):
例3.3画出函数sin(t)sin(9t)在
上的包络线。
t=(0:
pi/100:
pi);
y1=sin(t);y=-sin(t);
y2=sin(t).*sin(9*t);t3=pi*(0:
9)/9;
y3=sin(t3).*sin(9*t3);
plot(t,y1,'r:
',t,y,'r:
',t,y2,'b',t3,y3,'bo'),axis([0,pi,-1,1])
gtext('该点数值x')
运行结果见图3-1。
(2)ezplot用作图:
ezplot('sin(x)/x',[-4*pi,4*pi])
运行结果如图3-2
(3)fplot用作图:
fplot('sin(x)/x',[-2*pi,2*pi])
图3-1
图3-2
2、基本绘图控制参数:
设置线型、线色、数据点形
(1)、曲线点型、线色允许设置值
线型
符号
-
:
-.
--
含义
实线
虚线
点划线
双划线
线色
符号
b
g
r
c
m
y
k
w
含义
蓝
绿
红
青
品红
黄
黑
白
(2)、数据点形常用设置值
符号
.
o
x
+
*
s
d
p
含义
实心黑点
空心圆圈
叉字符
十字符
八线符
方块符
菱形符
五角星符
(3)、坐标轴控制(axis)、分格线(grid)
(4)、图形标注:
坐标轴名(label)、图形标题(title)、图例(legend)、图形说明(text,gtext),格式如下:
title(‘s’)书写图形标题
xlabel(‘s’)横坐标轴名
ylabel(‘s’)纵坐标轴名
legend(‘s1’,’s2’,…)绘制曲线所用线型、色彩、或数据点型图例
text(x1,y1,’s’)在图面(x1,y1)坐标处书写字符注释
gtext(‘s’)用鼠标选择书写字符注释的位置
(5)、常用坐标控制命令
指令
含义
指令
含义
axisoff
取消轴背景
axisequal
纵、横轴采用等长刻度
axison
使用轴背景
axisimage
同上且坐标框紧贴数据范围
axis(v)
v=[x1,x2,y1,y2,z1,z2]
人工设定范围
axissquare
产生正方形坐标系
(6)、多次叠绘、子图
holdon使当前轴及图形保持而不被刷新,准备接受此后将绘制的新曲线。
holdoff使当前轴及图形不再具备不被刷的性质。
hold是否具备不被刷的性质的双向开关。
subplot(m,n,k)图形窗中有m×n幅子图,k是子图的编号。
3、三维曲线绘图
(1)基本命令:
plot3(x,y,z,’s’)%s为线色、线形、点形
plot3(x1,y1,z1,’s1’,….xn,yn,zn,’sn’)
例3.5
t=-2*pi:
0.01:
2*pi;
x=2*cos(t);y=2*sin(t);z=3*t;%(准备数据)
plot3(x,y,z,'r:
');%(用plot3作图)
(2)三维曲面作图
1)三维网格命令(mesh)
例3.6x=-1:
0.05:
1;y=x;
[x,y]=meshgrid(x,y);
z=x.^2+2*y.^2;
mesh(x,y,z)
运行结果如图3-3。
图3-3
2)三维表面命令surf
例3.7
x=-1:
0.05:
1;y=x;
[x,y]=meshgrid(x,y);
z=x.^2+2*y.^2;
surf(x,y,z)
运行结果如图3-4。
图3-4
3)基本三维命令的几个改进命令
mesh
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 上机 实习 指导书
![提示](https://static.bdocx.com/images/bang_tan.gif)