blkdiag
eye
linespace
logspace
ones
rand
randn
zeros
matlab命令集:矩阵和矩阵操作基础-->特殊变量和常量
ans
computer
eps
flops
i
inf
inputname
j
nan
nargin
nargout
pi
realmax
realmin
varargin,varargout:返回参数数目(matlab函数)
matlab命令集:矩阵和矩阵操作基础-->时间和日期
calendar
clock
cputime
date
datenum
datestr
datevec
eomday
etime
now
tic,
weekday
matlab命令集:矩阵和矩阵操作基础-->矩阵操作
cat
diag
fliplr
flipud
repmat
reshape
rot
tril
triu
matlab命令集:矩阵和矩阵操作基础-->特殊函数矩阵
compan
eig
gallery
hadamard
hankel
hilb
invhilb
magic
pascal
toeplitz
wilkinson
matlab 矩阵,数组,算术运算及实例
矩阵
A =
注:数组用方括号括起来后已作为一个抽象的特殊量——矩阵
数组
数组是由一组复数排成的长方形阵列(而实数可视为复数的虚部为0的特例)
注:数组的所有运算都是对被运算数组中的每个元素平等的执行同样操作。矩阵运算是从把矩阵整体当作一个特殊的量这个基点出发,依照线性代数的规则来进行运算。
1、
(1)一维数组的元素的标识,访问和赋值
一维数组标识:使用方括号以及在括号内列出以空格或逗号分隔其元素的表。一维数组的元素是以数组名后圆括号内的元素在数组中位置的顺序号来标识的,数组元素的访问与赋值就是根据数组元素的标识进行的。
【例2-5】一维数组元素的标识
x = [1* pi
x( 2:4 ) x ( 4: end ) x ( 3: -1:1) x ( find ( x<10 )) x ( 1) =1
(2)多维数组或矩阵元素的标识,访问与赋值
A (m, n)
说明:1)A:数组名;()数组名后用圆括号;
2)m,n:前面为行号,后面为列号,顺序不能颠倒;
3)行、列之间用逗号分开,此处逗号不能换成空格。
子数组访问与赋值常用的相关指令格式
指令格式 |
指令功能 |
A(r,c) |
由数组A中指定行r,指定列c元素组成的子数组 |
A(r,:) |
由数组A中指定行r对应的所有列元素组成的子数组 |
A(:,c) |
由数组A中指定列c对应的所有行元素组成的子数组 |
A(:) |
由数组A的各个列按从左到右的次序首末相接的“一维长列”子数组 |
A(i) |
“一维长列”子数组的第i个元素 |
【例2-6】数组(矩阵)元素的标识
A ( 2 ,3 )
2、数组与矩阵的输入
(1)
A.显示元素的列表输入 ( 在MATLAB命令窗口输入指令并回车)
【例2-7】向量元素的列表输入
A =[ 1
【例2-8】t = 0: 0.1:0.6
(2)二维数组(或矩阵)的输入
A.显示元素列表输入
在MATLAB 中输入数组需要遵循以下基本规则:
1) 把数组元素列入括号[ ] 中;
2) 每行内的元素间(列)用逗号或空格分开;
3) 行与行之间用分号(或回车键enter)隔开。
【例2-9】元素列表输入数组(矩阵)
A =
B.利用M文件生成数组或矩阵[M210]
【例2-10】
C.小矩阵联接生成大矩阵
在MATLAB中利用联接算子----方括号[ ] 可将小矩阵联接为一个大矩阵
【例2-11】 利用方括号 [ ] 将小矩阵联接成大矩阵
A = [ 1 2;3 4];A
A1 = A + 5 A2= A + 10 A3= A1 + 10 G = [ A A1;A2 A3 ]
3.数组、矩阵的算术运算
(1)数组、矩阵的加减运算
在MATLAB里,维数为1×1 的数组叫做标量。而MATLAB里的数值元素是复数,所以一个标量就是一个复数。
注:标量与数组间可以进行加减运算。其规则是标量与数组的每一个元素进行加减操作。矩阵与标量间不存在这种运算。
【例2-12】数组与标量之间实施加减运算
S=5;
A = [ 1 2 3 ;4 5 6;7 8 9 ];
A+S A - S
(2)数组、矩阵的乘法运算
数组乘法运算:“. * ”
数组的乘法运算必须在具有相同维数的数组间进行,其结果是数组对应元素间相乘的结果组成的新数组。而两矩阵相乘必需服从数学中矩阵叉乘的条件与规则。
A 、数组、矩阵与标量的乘法运算
【例2-13】 标量与数组(矩阵)之间的乘法运算
B、数组、矩阵间的乘法运算
数组的乘法运算必须在具有相同维数的数组间进行,两矩阵相乘的条件是左矩阵的列数必须等于右矩阵的行数,矩阵乘法不满足交换律。
【例2-14】 数组乘法运算
a = [1 2 3;4 5 6;7 8 9];
b= [ 2 2 2;2 2 2;2 2 2];
a .*b
【例2-15】 矩阵乘法运算
a=
b= [ 2 2 2;2 2 2;2 2 2];
a * b
由此可见,在MATLAB中数组的乘法与矩阵的乘法遵循的运算规则是不同的,其结果也不同。
数组乘法 : a .* b = b .* a
矩阵乘法 : a * b ≠ b * a
(3)数组、矩阵的除法运算
A.数组与标量间的除法运算
标量与数组间可以进行除法运算,其规则是标量与数组的每一个元素进行除法操作。
注: 矩阵与标量间则无这种运算
【例2-16】 数组与标量间的除法运算
B.数组、矩阵的除法运算
矩阵:矩阵除法运算有左除与右除之分,即运算符号 “\ ” “/ ”
指代的运算。
运算规则: a \ b = inv (a) * b a / b = a * inv (b)
【例2-17】数组的除法
b= [ 2 2 2;2 2 2;2 2 2];
a./ b
运算结果说明:
数组除法中,a. / b = b. \ a
. / .\ 两种符号运算结果是一致的。
【例2-18】矩阵的除法
c\d
运算结果说明:
(4)数组、矩阵的乘方运算
【例2-19】 以数组为底而以标量为指数的乘方运算
a.^ 4
②以标量为底而以数组为指数的乘方运算
B.数组与数组的乘方运算
【例2-20】 a = [ 4 5 6];
b = [1 2 3 ];
c = [ 2 3;5 6 ];
d = [1 2;3 4 ];
e = a.^b
显然,数组间的乘方运算只在维数相同的数组间进行。
C.矩阵的乘方运算
【例2-21】矩阵的乘方运算示例
a = [ 1 2 ;3 4 ];b = 2; c = -0.2;
a^b
所以:a为矩阵, b为整数,矩阵的乘方a^b是矩阵a自乘b次,若b = 2 , a ^ b = a * a
a ^ c