matlab基础知识Word文档下载推荐.docx
《matlab基础知识Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《matlab基础知识Word文档下载推荐.docx(17页珍藏版)》请在冰豆网上搜索。
注意:
MATLAB使用变量时不需要预先对变量类型进行说明,MATLAB会自动根据所输入的数据来决定变量的数据类型和分布空间。
1.2 MATLAB基本表达式
MATLAB采用命令行式的表达式语言,每一个命令行就是一条语句,其格式与书写的表达式十分相近,非常容易掌握。
用户在命令窗口输入语句并按下回车键以后,该语句就由MATLAB系统解释运行,并及时给出运行结果。
MATLAB的语句采用以下两种形式之一:
(1) 表达式
(2) 变量=表达式
表达式由变量名、常数、函数和运算符构成。
在上述MATLAB语句的第一种形式中,表达式执行运算后产生的矩阵,将自动赋给名为“ans”的默认变量,并即时在屏幕上显示出来,变量“ans”的值将在下一次运行第一种形式的语句时被刷新;
在MATLAB语句的第二种形式中,语句执行的结果是将表达式计算产生的矩阵,赋值给等号左边表量,并存入内存。
【举例】>>4*2*pi
ans=
25.1327
>>a=14*i
a=
1.00004.0000i
MATLAB语句结尾若加上分号“;
”,其作用是将计算结果存入内存,但不显示在屏幕上,反之,语句结尾若不加“;
”,则表示在语句执行后,在将计算结果存入内存的同时,还将运算结果显示出来。
1.3矩阵
1.3.1矩阵的创建
在MATLAB中,矩阵可以通过下列方法创建:
◆直接输入法
◆利用MATLAB内部函数创建
1. 直接输入法
对于简单而且维数较少的矩阵,创建矩阵的最佳方法就是从键盘直接输入矩阵,即按矩阵行的顺序输入矩阵各元素,在输入过程中必须遵循以下原则:
▲矩阵的所有元素必须放在方括号“[]”内
▲矩阵元素之间必须用逗号“,”或空格隔开
▲矩阵行与行之间用“;
”或回车符隔开
▲矩阵元素可以是任何不含未定义变量的表达式【举例】>>a=[1,2,3,4,5,6,7,8,9] %一维矩阵
1 2 3 4 5 6 7 8 9
>>a=[1,2,3;
4,5,6;
7,8,9]
1 2 3
4 5 6
7 8 9
>>x=2;
y=pi/3;
>>A=[2,5,cos(y);
x,2*x,3*x;
x,x/2,x/4]
A=
2.0000 5.0000 0.5000
2.0000 4.0000 6.0000
2.0000 1.0000 0.5000
2.利用MATLAB函数创建矩阵
MATLAB提供了大量的函数用于创建一些特殊的矩阵及其派生矩阵,表2-2列出了一些常用函数的含义。
表2-2 一些常用的矩阵生成函数
函数名称 含义和功能
zeros(m,n) 生成m×
n全部元素为0的矩阵
ones(m,n) 生成m×
n全部元素为1的矩阵
eye(m,n) 生成m×
n的单位阵
下面以函数zeros为例介绍它的调用格式及其应用,其他函数的调用格式与此大致相同,可参阅MATLAB的联机帮助。
【举例】>>B=zeros(2,5)
B=
0 0 0 0 0
3.在MATLAB中,矩阵数据可以调用命令save和load存储和读取。
save命令调用格式为
save 路径\文件名变量名
如用户输入:
>>savec:
\mya
则表示将矩阵a以文件名my.mat保存在C盘根目录下,若路径默认,则MAT自动将变量保存到其默认的目录(work)中。
以MAT文件保存的矩阵,用户在使用MATLAB的任何时候均可用load命令装载到MATLAB的工作区中,如要将矩阵a重新装载到MATLAB的工作空间,只需键入命令:
>>loadc:
\my
1.3.2向量的生成
在MATLAB系统中,仅有一行或一列的矩阵成为向量。
向量是矩阵的一种特例,前面所介绍的有关矩阵的创建及保存的所有方法完全适用于向量。
生成向量常用方法:
1. 利用冒号“:
”运算生成向量
冒号具有多种功能,在用于生成向量时,使用以下格式:
x=i:
j
◆ 如果i<j,生成均匀等向分量x=[i,i1,i2,…j>
◆ 如果i<j,则生成x空向量
j:
k
◆ 如果j>0且i<k或j<0且i>k,则生成向量x=[i,ij,i2j,…,k>
◆ 如果j>0且i>k或j<0且i<k,则生成向量x为空向量。
【举例】
>>a=1:
6;
>>b=2:
2:
10;
>>c=8:
-1:
2;
>>d=8:
1:
4;
>>a=
1 2 3 4 5 6
>>b
b=
2 4 6 8 10
>>c
c=
8 7 6 5 4 3 2
>>d
d=
Emptymatrix:
1-by-0
1.3.3矩阵的标识
在MATLAB系统中,矩阵的元素是通过其行、列的标号来标识的,矩阵元素所处的行号和列号称为该元素的下标,矩阵元素可以通过下标来引用,A(i,j)即表示矩阵A第i行第j列的元素。
>>A=[1.11.21.3
1.41.51.6
1.71.81.9]
1.1000 1.2000 1.3000
1.4000 1.5000 1.6000
1.7000 1.8000 1.9000
>>X=A(1,1)A(2,2)A(3,3) %X即是矩阵A的对角线元素之和
X=
4.5000
注意:
在MATLAB中,矩阵下标的行、列号都是从1开始的
◆利用矩阵的下标来生成某个矩阵的子阵。
命令格式为B=A(x,y)
该命令由已定义的矩阵A,根据向量x指定的行和向量y指定的列生成新的向量B。
其中x是由A的行号组成的任意排序的行向量,y是由A的列号组成的任意排序的列向量,x和y的元素值不应超过A的最大行号和列号。
【举例】>>A=[1234
5678
9101112
13141516>
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
>>x=[2,4];
>>y=[1,3];
>>B=A(x,y)
5 7
13 15
◆ 向量x和y中任一个可以是冒号“:
”,表示所有的行和列。
对上述矩阵A,A(:
y)表示取出矩阵A中所指定位置的所有列,A(x,:
)表示取出矩阵A中所指定位置的所有行。
【举例】>>A(:
[1,4])
1 4
5 8
9 12
13 16
>>A([2,3],:
)
9 10 11 12
◆MATLAB还可以将若干个小矩阵,通过方括号连接算子,生成较大的矩阵,但各个小矩阵的维数要满足矩阵运算的要求
【举例】>>a=ones(2,2);
>>b=a*2;
>>c=a*3;
>>d=a*4;
>>[ab;
cd]
1 1 2 2
3 3 4 4
>>[abcd]
1 1 2 2 3 3 4 4
1.3.4矩阵的运算
矩阵算术运算的书写格式普通算术相同,包括加、减、乘、除,也可用括号来规定运算的优先次序。
运算符 名称 指令示例 说明
加 AB 若A、B为同维矩阵,则表示A与B对应元素相加;
若其中一个矩阵为标量,则表示另一矩阵的所有元素加上该标量
- 减 A-B 若A、B为同维矩阵,则表示A与B对应元素相减;
若其中一个矩阵为标量,则表示另一矩阵的所有元素减上该标量
* 矩阵乘 A*B 矩阵A与B相乘,A和B均可是向量或标量,但A和B的维数必须符合矩阵乘法的定义
^ 矩阵乘方 A^B A、B均为标量时,表示A的B次方幂;
A为方阵,B为正整数时,表示矩阵A的B次乘积;
A为方阵,B为负整数时,表示矩阵A的逆矩阵的B次乘积;
当A和B均为矩阵时,无定义
\ 矩阵左除 A\B 方程A*X=B的解X
‘ 共轭转置 A’ 矩阵A的共轭转置
【举例】作矩阵A和B的加、减、乘、除和乘方运算。
>>A=[135;
246;
789];
>>B=[1,2,3;
7,8,9];
>>C1=A+B
C1=
2 5 8
6 9 12
14 16 18
>>C2=A-B
C2=
0 1 2
-2 -1 0
0 0 0
>>C3=A*B
C3=
48 57 66
60 72 84
102 126 150
>>C4=A/B
Warning:
Matrixissingulartoworkingprecision.
(Type"warningoffMATLAB:
si