MATLAB基本操作

发布 2022-09-20 20:51:28 阅读 7968

实验目的:熟悉matlab的操作界面,了解matlab的操作方法,掌握matlab一些常用命令的作用。

实验内容:一、变量与函数。

1.变量。matlab中变量的命名规则:

1)变量名必须是不含空格的单个词;2)变量名区分大小写;3)变量名最多不超过19个字母;4)变量名必须以字母打头,之后可以是任意字母、数字或下划线,变量名中不允许使用标点符号。

2.数**算符号及标点符号。

+”:加法运算,适用于两个数或两个同阶矩阵相加。

-”:减法运算点除运算。

*”:乖法运算乘幂运算。

.*”点乖运算反斜杠表示左除。

1)matlab的每条命令后,若为逗号或无标点符号,则显示命令的结果,若命令后为分号,则禁止显示结果;2)“%后面所有文字为注释;3)“…表示续行。

3.数学函数。

与其它语言一样,matlab支持常用函数。

4.函数m文件。

matlab的内部函数是有限的,有时为了研究某一个函数的各种性态,需要为matlab定义新的函数,为此必须编写函数m文件。函数m文件是文件名后缀为m的文件,这类文件的第一行必须是以一特殊字符function开始,格式为:

fnction 因变量名=函数名(自变量名)

练习11)求时的值。

答案:当x=pi/5时。

y=0.5878

2)画出函数的图形。

步骤1:在m文件编辑窗口录下列两行。

function yy=f2(x)

yy=spqt((x-20).^2+100^2)+sqrt((x-120).^2+120^2);

以将文件存盘并退出编辑状态。

步骤2:在matlab命令窗口输入下列指令并按回车键。

x=20:120; y=f2(x);

plot(x,y)

运行结果:3)计算函数在(1,2)处的函数值。

步骤1:建立m文件:

function f=fun(x)

f=100*(x(2)-x(1)^2)^2+(1-x(1))^2

步骤2:在matlab命令窗口键入命令:

x=[1 2]

fun(x)

运行结果:100

二、向量与矩阵。

1.向量的建立(简单的输入方法)

x=[a b c d创建包含指定元素的行向量。

x=first: last创建从first开始,加1计数,到last结束的行向量。

x= first: increment: last 创建从first开始,加increment计数,到last结束的行向量。

linspace (first: last, n) 创建从first开始,到last结束,有n个元素的行向量。

2.向量分量元素的访问。

1)可以下标访问向量的某个分量,如x(i)表示向量的第i个分量;

2)访问向的某些分量或子块,x(a:b:c)表示访问向量x的从第a个分量开始,以步长为b到第c个元素(但不超过c),b可以为负数,缺省时为1;

3.向量的方向。

前面所产生的向量都是行向量,若产生列向量,可以用x=[a; b; c; d]直接产生,或用行向量转置产生;

4.向量的运算。

1)标量—向量运算。

设:a=[a1,a2,…,an],c=标量,则。

a+c=[a1+c,a2+c,…,an+c]

a*c=[a1*c,a2*c,…,an*c]

a./c=[a1/c,a2/c,..an/c](右除)

a.\c=[c/a1,c/a2,..c/an](左除)

a.^c=[a1^c,a2^c,..an^c]

c.^a=[c^a1,c^a2,..c^an]

2)向量—向量运算。

当两个向量有相同维数时,加、减、乖、除、幂运算可按分量对分量方式进行,不同大小或维数的向量是不能进行运算的。

设:a=[a1,a2,..an], b=[b1,b2,..bn],则。

a+b=[a1+b1,a2+b2,..an+bn]

a.*b=[a1*b1,a2*b2,..an*bn]

a./b=[a1/b1,a2/b2,…,an/bn]

a.\b=[b1/a1,b2/a2,…,bn/an]

a.^b=[a1^b1,a2^b2,…,an^bn]

练习21)输入如下命令,写出运行结果。

x=[1 2 3 4 5 6 7 18]

x =1 2 3 4 5 6 7 18

y=1:7y= 1 2 3 4 5 6 7

z=3:2:9

z=3 5 7 9

v=[y z]

v=1 2 3 4 5 6 7 3 5 7 9

u=linspace (2,9,11)

u= 2.0000 2.7000 3.

4000 4.1000 4.8000 5.

5000 6.2000 6.9000 7.

6000 8.3000 9.0000x(4)

y=u(2:2:11),z=u(10:-3:1)

y= 2.7000 4.1000 5.5000 6.9000 8.3000

z= 8.3000 6.2000 4.1000 2.0000

m=u([8 2 9 1])

m= 6.9000 2.7000 7.6000 2.0000

c=[1;2;3;4],b=c’

b=1 2 3 4

5.矩阵的建立。

矩阵的创建遵循创建行向量和列向量所用的方式,逗号或空格用分隔某一行的元素,分号用于区分不同行。输入矩阵时,严格要求所有行有相同的列。

matlab提供了几个建立特殊矩阵的命令如下:

a产生一个空矩阵,当对一项操作无结果时,返回空矩阵,空矩阵的大小为零。

b=zeros(m,n) 产生一个m行、n列的零矩阵。

c=ones(m,n) 产生一个m行、n列的元素全为1的矩阵。

d=eye(m,n) 产生一个m行、n列的单位矩阵。

6.矩阵中元素的操作。

1)矩阵a的第r行:a(r,:)

2)矩阵a的第r列:a(:,r);

3)依次提取矩阵a的每一列,将a拉伸为一个列向量:a(:)

4)取矩阵a的第i1~i2行,第j1~j2列构成新矩阵:a(i1:i2,j1:j2);

5)以逆序提取矩阵a的第i1~i2行,构成新矩阵:a(i1:-1:i2,:)

6)以逆序提取矩阵a的第j1~j2列,构成新矩阵:a(:,j1:-1:j2);

7)删除a的第i1~i2行,构成新矩阵:a(i1:i2,:)

8)删除a的第j1~j2列,构成新矩阵:a(:,j1:j2)=[

9)将矩阵a和b拼接成新矩阵:[a b];[a;b]

7.矩阵的运算。

1)标量—矩阵运算:与标量—向量运算类似;

2)矩阵—矩阵运算:矩阵的元素对元素运算,与向量的向量—向量运算类似,而线性代数中所定义的矩阵运算的命令如下:

矩阵加法:a+b

矩阵乖法:a*b

方阵的行列式:det(a)

方阵的逆:inv(a)

方阵的特征值与特征向量:[v,d]=eig[a]

练习31)写出下列命令的运行结果。

a=[1 2 3 4; 5 6 7 8; 9 10 11 12]

a=[ b=zeros(2,3)

c=ones(2,3)

d=eye(2,3)

e=eye(3,3)

2)编写m文件ex_如下并运行,写出运行结果。

a=[1 2 3; 4 5 6; 7 8 9]

a1=a(2,:)

a2=a(:,2)

a3=a(:)

a4=a(1:2,2:3)

a5=a(2:-1:1,:)

a6=a(:,3:-1:2)

a7=a;a7(1:2,:)

a8=a;a8(:,1)=[

a9=[a a2]

a10=[a;a1]

3)编写m文件ex_如下并运行,写出运行结果。

a=[1 2 3;4 5 6]

b=[1 2; 1 2; 1 2]

c1=a+a

c2=a*b

c=[2 7 3; 3 9 4; 1 5 3]

c3=det(c)

c4=inv(c)

v,d]=eig(c)

c1=2 4 6

c2= 6 12

c3= -3

c4= -2.3333 2.0000 -0.3333

v=-0.5515 -0.7857 -0.2743

d=13.4635 00

作业1MATLAB的基本操作

1.设矩阵,下列命令的运行结果是什么?1 c 2,c 2取出矩阵c的第二行。ans 2 c end c end取出矩阵c的最后一列。ans 3 c 1 2,2 end c 1 2,2 end取出矩阵c的第。一 二行,第。二 三 四 五列的元素。ans 4 c 6 c 6取出矩阵c的第六个元素。ans...

MATLAB基本语法

转 matlab基本语法 保留的常数 eps 机器的浮点运算误差限。pc机上eps的默认值为2.2204 10 16,若某个量的绝对值小于eps,则可以认为这个量为0。i和j 若i或j量不被改写,则它们表示纯虚数量j。但在matlab程序编写过程中经常事先改写这两个变量的值,如在循环过程中常用这两个...

MATLAB基本语法

bilcos90 2005 01 16 22 22 保留的常数 eps 机器的浮点运算误差限。pc机上eps的默认值为2.2204 10 16,若某个量的绝对值小于eps,则可以认为这个量为0。i和j 若i或j量不被改写,则它们表示纯虚数量j。但在matlab程序编写过程中经常事先改写这两个变量的值...