MATLAB基本操作.docx
- 文档编号:4099962
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:16
- 大小:45.94KB
MATLAB基本操作.docx
《MATLAB基本操作.docx》由会员分享,可在线阅读,更多相关《MATLAB基本操作.docx(16页珍藏版)》请在冰豆网上搜索。
MATLAB基本操作
实验一MATLAB基本操作实验
实验目的:
1.掌握Matlab软件使用的基本方法;
2.熟悉Matlab的数据表示、基本运算和程序控制语句;
3.熟悉Matlab绘图命令及基本绘图控制;
4.熟悉Matlab程序设计的基本方法。
实验装置:
计算机
实验原理及内容:
1.1基本规则
1.1.1一般MATLAB命令格式为
[输出参数1,输出参数2,……]=(命令名)(输入参数1,输入参数2,……)
输出参数用方括号,输入参数用圆括号如果输出参数只有一个可不使用
括号。
1.1.2%后面的任意内容都将被忽略,而不作为命令执行。
1.1.3可用↑、↓键来重现已输入的数据或命令。
用←、→键来移动光标进行修改。
1.1.4所有MATLAB命令都用小写字母。
大写字母和小写字母分别表示不同的变量。
1.1.5常用数有特定的名字,如pi(=3.141596)、Inf(=∞)、NaN则表示不定型求得的结果(如0/0)。
1.1.6矩阵的输入要一行一行的进行,每行各元素用空格或(,)分开,每行用(;)分开。
如
123
A=456
789
MATLAB书写格式为A=[123;456;789]
在MATLABZ中运行如下程序可得到A矩阵
a=[123;456;789]
a=
123
456
789
1.1.7需要显示命令的计算结果时,则语句后面不加“;”号,否则要加“;”号。
运行下面两种格式可以看出他们的区别
a=[123;456;789]a=[123;456;789];
a=(不显示计算结果)
123
456
789
1.1.8当输入语句过长需要换行时,应加上“…”后再回车,则可连续输入。
1.2文件管理常用命令
1.2.1帮助(HELP)命令
MATLAB有很多命令,因此很不容易记忆。
使用HELP命令可以得到有关命令的屏幕帮助信息。
如在MATLAB环境下直接运行HELP命令就会在屏幕上给出MATLAB的基本命令以及相关的工具箱软件命令(请同学自行验证)。
而下面的格式可以得到指定命令的帮助信息,和详细说明。
help命令名
如:
helpstep
STEPStepresponseofLTIsystems.
STEP(SYS)plotsthestepresponseofeachinputchannelof
theLTIsystemSYS.Thetimerangeandnumberofpointsare
chosenautomatically.
STEP(SYS,TFINAL)simulatesthestepresponsefromt=0tothe
finaltimet=TFINAL.Fordiscrete-timesystemswithunspecified
samplingtime,TFINALisinterpretedasthenumberofsamples.
STEP(SYS,T)usestheuser-suppliedtimevectorTforsimulation.
Fordiscrete-timesystems,TshouldbeoftheformTi:
Ts:
Tf
whereTsisthesampletimeofthesystem.Forcontinuoussystems,
TshouldbeoftheformTi:
dt:
Tfwheredtwillbecomethesample
timeofadiscreteapproximationtothecontinuoussystem.
STEP(SYS1,SYS2,...,T)plotsthestepresponseofmultipleLTI
systemsSYS1,SYS2,...onasingleplot.ThetimevectorTis
optional.Youcanalsospecifyacolor,linestyle,andmarker
foreachsystem,asinstep(sys1,'r',sys2,'y--',sys3,'gx').
Wheninvokedwithleft-handarguments,
[Y,T]=STEP(SYS,...)
returnstheoutputresponseYandthetimevectorTusedfor
simulation.Noplotisdrawnonthescreen.IfSYShas
NUinputsandNYoutputs,andLT=length(T),thearrayYis
LT-by-NY-by-NUandY(:
:
j)givesthestepresponseofthe
j-thinputchannel.
Forstate-spacesystems,
[Y,T,X]=STEP(SYS,...)
alsoreturnsthestatetrajectoryXwhichisanLT-by-NX-by-NU
arrayifSYShasNXstates.
SeealsoINITIAL,IMPULSE,LSIM.
Overloadedmethods
helplti/step.m
1.2.2diary命令
使用该命令可以在窗口中以ASCII码形式记录所有的输入和输出。
但这个命令不是存储数据,而是存储输入与屏幕上输出的内容。
它可以记录下工作的过程。
在每个工作过程之前使用该命令,工作结束后使用diary
off则能将整个工作过程记录下来。
格式diary(文件名)(扩展名)
.
.
diaryoff
一般来说扩展名可取,m这样就可在MATLAB\BIN\目录下存入该文件。
1.2.3save命令
该命令存储定义的变量或演算结果,也可以用来存储指定的变量。
命令格式为
save文件名.扩展名
1.2.4what命令
该命令可以在当目录下显示MATLAB文件和MAT数据文件
1.2.5dir命令
显示当前目录下的所有文件.
1.2.6clear命令
如果输入clearabc,则表示清除工作空间中指定变量a,b,c;如果仅仅输入clear命令,则清除整个工作空间。
1.3矩阵运算
MATLAB具有强大的矩阵运算功能,但由于我们实验所涉及的不多,因此这里我们只作简单介绍.
1.3.1在MATLAB中表示一个矢量要用方括号,而列矢量的输入只需在行矢量输入格式基础上加转置符(‘)即可。
如x=[123;456]
x=
123
456
而
x=[123;456]'(加转置符)
x=
14
25
36
注意上面两式的区别。
1.3.2下面三条命令可以产生一个行矢量
1a=linspace(x,y,n)
2a=logspace(x,y,n)
3a=[x:
n:
y]
第一条命令可以在线性空间产生一个值在10x至10y之间间隔点数为n的行矢量(一组数据)。
第二条命令可以在对数空间产生一个值在x至y之间等间隔的行矢量(一组数据)。
其行矢量的起始值是x,终值为y,点数为n。
第三条命令产生X至y步长为n的行矢量。
但是,三个命令之间存在差别,下面的例子可以说明这一点。
例一x=logspace(0,5,6)
x=
110100100010000100000
例二x=linspace(0,10,11)
x=
012345678910
例三x=[0:
1:
10]
x=
012345678910
通过上面三个例子可以看出例一,例二中n代表选取的点数。
而在例三中n则表示步长.请同学注意它们的区别。
1.3.3矩阵的加,减,乘,除等,和其它语言书写一样。
但要注意的是在运算符前面加有(.)则表示是元素对元素的操作.
例四请同学们注意下面的不同情况.
a=[12;34];
b=[22;22];
c=a*b
c=
66
1414
c=a.*b
c=
24
68
c=a/b
c=
1.0e+015*
-2.25182.2518
-2.25182.2518
c=a./b
c=
0.50001.0000
1.50002.0000
1.4常用运算命令
运算命令名
功能
Angle
求复数的角
Min
求最小值
Max
求最大值
Sum
求和
Roots
求多项式的根
Poly
由多项式的根求多项式的系数
Polyval
求给定点多项式的值
Polyder
多项式求导
例五求a=S^3+2S^2+3S+4根.
a=[1234];
roots(a)
ans=
-1.6506
-0.1747+1.5469i
-0.1747-1.5469i
或
roots([1234])
ans=
-1.6506
-0.1747+1.5469i
-0.1747-1.5469i
例六已知某多项式的根如下
-1.6506
-0.1747+1.5469i
-0.1747-1.5469i
求该多项式.
poly([-1.6506,-0.1747+1.5469i,-0.1747-1.5469i])
ans=
1.00002.00003.00014.0001
即所求多项式为S^3+2S^2+3S+4.
1.5绘图命令
1.5.1Plot
该命令在线性坐标系下绘制y对应于x的轨迹。
若其中之一为矩阵则该命令将对应于矩阵的行或者列绘制一簇曲线。
该命令也可以在同一坐标轴下绘制多条曲线。
例七运行程序
t=[0:
1:
10];
x1=t;
plot(x1)
可在图形窗口得到下面图形。
例八
x=[0:
0.5:
7];
y=sin(x);
y1=2*x;
y2=3*x;
plot(y,x,y1,x,y2,x)
从上面的例子可以看出,如果要在同一坐标轴下绘制多条曲线,可用如下格式:
plot(x1,y1,x2,y2……..xn,yn)%对应于不同矢量时
其中x1,y1……….xn,yn是对应的关系。
1.5.2loglog
在两个对数(标准对数)坐标间绘制图形。
1.5.3semilogx或semilogy
在x轴或y轴为对数坐标,而另一轴为线性轴的空间绘制图形。
1.5.4Polar
在极坐标空间绘制图形。
1.5.5Grid
在图形中加栅格,其格式为
命令句,grid
1.5.6Subplot(r,c,p)
该命令将屏幕分成r*c个窗口,p表示在第几个窗口.同时绘制多个图形窗口时,绘图语句间应用逗号分开。
例九下面的程序产生四个窗口,且分别绘制相应图形.
t=[0:
0.01:
2*pi];
y=sin(t);
x=cos(t);
subplot(221),plot(t,y),grid,subplot(222),plot(t,x),
grid,subplot(223),polar(t,y),subplot(224),polar(t,x)
从上面的程序可以看出,subplot语句中的r,c,p可以不用逗号分开。
在语句后面应有相应的绘图命令.
上面程序执行后得到如下图形:
1.5.7Gtext
该命令用于鼠标定位的文字注释.执行完绘图命令后再执行gtext(‘说明文字’)命令,就可在屏幕上得到一个光标,然后,用鼠标选择说明文字的位置。
例十t=[0:
1:
10];
x1=2*t;
x2=0.5*t;
plot(x1,t,x2,t);
gtext('x=2t');
gtext('x=0.5t')
1.5.8如果需要同时在不同窗口绘制图形,可用figure语句来完成。
例十一t=[0:
1:
10];
x1=2*t;
x2=3*t;
figure,plot(x1),figure,plot(x2)
上面程序执行后,可得到面两个图形窗口。
1.5.8有关绘图方面的还有
✧Title给当前图像加标题。
✧xlabel或ylabel给x或y轴加标注。
✧text在当前图像上指定位置加注释。
等。
1.5.9在同一座标系中绘制多个曲线时,曲线的颜色可以自动确定,也可以自己选择。
在颜色选项中r=红色,g=绿色,b=蓝色.也可以选择线形.如’#’,’*’等.其使用格式如下:
plot(x,y,’r’)或plot(x,y,’$’)
1.6关系及逻辑运算
1.6.1关系运算允许常量(或矩阵中的元素与元素)之间的比较.如果比较结果为真,则答案为1,否则为0.常用的关系运算符如下:
<小于,>大于,==等于
<=小于等于,>=大于等于,~=不等于
对于复数”==”和”~=”既比较实部也比较虚部,而其它运算仅比较实部。
例十二比较a=[5:
1:
15]与b=[12887101211131415]中的对应元素是否相同,则运行下面程序
a=[5:
1:
15];
b=[12887101211131415];
y=a==b
y=
00010100111
1.6.2MATLAB有三个逻辑运算符.
&逻辑与|逻辑或~逻辑非
在矩阵运算中,以上命令是将两个矩阵中的对应元素进行运算,得到的结果是具有同样元素的矩阵。
例十三分别对下面两个矩阵进行逻辑运算.
X=[01;10];Y=[00;10];
X&Y
ans=
00
10
X|Y
ans=
01
10
~X
ans=
10
01
MATLAB在进行混合运算时,其顺序为:
算术运算→关系比较→逻辑运算
例十四计算x&y+x>y时,程序首先执行x+y运算,然后将相加结果与y比较,最后将比较结果和x作与运算,运行结果如下。
x=[01;10];
y=[00;10];
x&y+x>y
ans=
01
10
1.7环与条件结构
MATLAB中有三个命令用于循环,条件循环,与条件叙述.它们是for,while,ifelse。
循环可以嵌套,陈述句可以跨行,但所有命令必须用end作为结束命令。
1.7.1for它执行一系列重复的陈述命令.其格式如下
for循环变量=起始值:
步长:
终止值(步长缺省值为1)
循环体
end
例十五注意下面两条程序的不同点。
1.forx=1:
1:
5;
y=5*x
end
y=
5
y=
10
y=
15
y=
20
y=
25
2.x=[1:
1:
5];
y=5*x
y=
510152025
通过上面的例子可以看出,第一个程序是将每次循环的x值乘以5;而第二个程序则是将5与x矢量中的每个元素相乘。
1.7.2while条件循环命令。
命令格式如下
while表达式
循环体
end
若表达式为真,则执行循环体的内容,执行后再判断是否满足表达式,若不满足,则跳出循环体。
例十六求出1到多少的自然数之和大于或等于100。
其程序如下
a=0;y=0;设置初始值
whilea<100;设置表达式
y=y+1;取自然数
a=a+y;自然数累加
end循环结束
y=y显示y值
a=a显示a值
执行上面程序后,结果如下
y=
14
a=
105
1.7.3if,else,elseif条件转移语句。
其格式如下
if表达式
执行语句
end
其执行方式为∶若表达式为真则执行语句中的内容,然后向下执行。
若表达式为假,则跳过执行语句向下执行。
另有两种格式如下∶
if表达式
执行语句1
else
执行语句2
end
和∶
if表达式1
执行语句1
elseif表达式2
执行语句2
……
end
在if-else格式中执行的方式为∶若表达式为真,则执行语句1,然后跳过语句2向下执行。
若表达式为假,则行语句2,然后向下执行。
在if-elseif格式中执行的方式为∶若表达式1为真,则执行语句1,若表达式1为假,则判断表达式2是否为真,如果为真,则执行语句2,否则向下执行。
实验方法及步骤:
1、运行Matlab软件;
2、在其命令窗口中输入响应的命令或程序;
3、观察并记录。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 基本 操作