矩阵和数组操作
Matlab中文含义就是矩阵实验室的意思,轻松灵活的处理矩阵式Matlab语言的特色。
概念:
数组:与其它编程语言一样,定义是:相同数据类型元素的集合。
矩阵:数学中早已定义。不再赘述,matlab中处理最多的是二维矩阵
矩阵的创建:
1直接输入
在命令行窗口中定义 A=[1,2,3;4,5,6;7,8,9] 分好是换行,逗号是本行 回车后如
2函数法生成特殊的矩阵
(1)零矩阵:zeros(n) :生成n*n的零矩阵
zeros(n,m): 生成n*m的零矩阵
(2)单位矩阵:eye(n): 生成n*n的单位矩阵(对角线元素为1 其余元素为0)
eye(n,m): 生成n*m的单位阵
如下图:
(3)魔方矩阵(行、列、对角线元素和相同):magic()用法和以上函数一样
(4)对角矩阵(对角线上的矩阵非0):dig(1:5) :生成对角线元素为1,2,3,4,5 的5*5矩阵 如下图:
(5)上三角矩阵(对角线以下的元素为0): triu()
(6)下三角元素(对角线元素以上为0): tril()
代码:
>>a=[1,2,3;4,5,6;7,8,9]
a =
1 2 3
4 5 6
7 8 9
>>a=zeros(3,2)
a =
0 0
0 0
0 0
>> a=eye(4)
a =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
>>a=magic(3)
a =
8 1 6
3 5 7
4 9 2
>>a=diag([1:5])
a =
1 0 0 0 0
0 2 0 0 0
0 0 3 0 0
0 0 0 4 0
0 0 0 0 5
>>b=magic(3)
a=triu(b)
b =
8 1 6
3 5 7
4 9 2
a =
8 1 6
0 5 7
0 0 2
>>b=magic(3)
a=tril(b)
b =
8 1 6
3 5 7
4 9 2
a =
8 0 0
3 5 0
4 9 2
3 矩阵的基本操作
显示矩阵:直接在命令中输入矩阵名称回车即可,或者使用函数disp(矩阵名字) 也可以
矩阵判空:isempty(A) 为空返回1 不空返回0
isequal(A,B) 判断矩阵A和矩阵B是否相等(矩阵相等当且仅当矩阵行列一样,并且对应元素都相等)
size(A) 获取矩阵行数和列数
length(A) 获取矩阵的长度(行数和列数中的最大值)
numel(A) 获取A矩阵中元素个数之和
ndims(A) 获取A矩阵的维度(注意是维度不是列数)
代码:
>>a=magic(4);
disp(a)
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
>>b=magic(4);
disp(isequal(a,b))
1
>>[m,n]=size(a)
m =
4
n =
4
>>disp(length(a))
4
>> numel(a)
ans =
16
>> ndims(a)
ans =
2