MATLAB基本操作.docx

上传人:b****5 文档编号:4099962 上传时间:2022-11-27 格式:DOCX 页数:16 大小:45.94KB
下载 相关 举报
MATLAB基本操作.docx_第1页
第1页 / 共16页
MATLAB基本操作.docx_第2页
第2页 / 共16页
MATLAB基本操作.docx_第3页
第3页 / 共16页
MATLAB基本操作.docx_第4页
第4页 / 共16页
MATLAB基本操作.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

MATLAB基本操作.docx

《MATLAB基本操作.docx》由会员分享,可在线阅读,更多相关《MATLAB基本操作.docx(16页珍藏版)》请在冰豆网上搜索。

MATLAB基本操作.docx

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、观察并记录。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1