实验目的:熟悉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程序编写过程中经常事先改写这两个变量的值...