原创不易,路过的各位大佬请点个赞
MATLAB以矩阵做为数据操作的基本单元,因此matlab又被称之为举证实验室或大型计算器。Matlab计算矩阵非常便捷、方便、高效。
在matlab创建矩阵时基本语法:
1. 输入矩阵时要以“[ ]”为其标识符号,矩阵的所有元素必须都在括号内。
2. 矩阵同行元素之间由空格(个数不限)或逗号分隔,行与行之间用分号或回车键分隔。
3. 矩阵大小不需要预先定义。
4. 矩阵元素可以是运算表达式。
5. 若“[]”中无元素,表示空矩阵。
6. 如果不想显示中间结果,可以用“;”结束。
a=[15 15 15;15 15 15;15 15 15]
a =
15 15 15
15 15 15
15 15 15
A=[];
A=[a,a*2,a*10]
A =
15 15 15 30 30 30 150 150 150
15 15 15 30 30 30 150 150 150
15 15 15 30 30 30 150 150 150
A=[1,2,3;4,5,6;7,8,9]
A
A =
1 2 3
4 5 6
7 8 9
%事先在txt文件中存储1,2,3;3,4,5;5,6,7
load A.txt
A=[1,2,3;3,4,5;5,6,7];
save A.mat
load A.mat
zeros(3,4)
ans =
0 0 0 0
0 0 0 0
0 0 0 0
>> eye(3)
ans =
1 0 0
0 1 0
0 0 1
>> ones(1,3)
ans =
1 1 1
>> magic(3)
ans =
8 1 6
3 5 7
4 9 2
>> rand(2,4)
ans =
0.8147 0.1270 0.6324 0.2785
0.9058 0.9134 0.0975 0.5469
矩阵的:号表示该维的所有元素;比如*B(:,:)表示矩阵B的所有行和列
矩阵的:号表示该维的所有元素;比如*B(:,1)表示矩阵B的第一列的所有元素
矩阵的:号表示该维的所有元素;比如*B(1,:)表示矩阵B的第一行的所有元素
>> B(:,:,1)=[1,2;1,2];
>> B(:,:,2)=[3,4;3,4];
>> B(:,:,3)=[5,6;7,8];
>> B
ans
B(:,:,1) =
1 2
1 2
B(:,:,2) =
3 4
3 4
B(:,:,3) =
5 6
7 8
%Li表示第i维的维数
L1=2;
L2=4;
L3=2;
L4=2;
%生成L1 x L2 x L3 x L4的4维矩阵
for i4=1:L4
for i3=1:L3
for i2=1:L2
for i1=1:L1
CC(i1,i2,i3,i4)=i3*i4;
end
end
end
end
ans
>> CC
CC(:,:,1,1) =
1 1 1 1
1 1 1 1
CC(:,:,2,1) =
2 2 2 2
2 2 2 2
CC(:,:,1,2) =
2 2 2 2
2 2 2 2
CC(:,:,2,2) =
4 4 4 4
4 4 4 4
ones(2,3,4)
rand(3,4,5,6)
randn(4,5,6,1)
A=[1,2,3;3,4,5;5,6,7];
B(:,:,1)=A;
B(:,:,2)=A*2;
B(:,:,3)=A*3;
对角矩阵语法:diag( )
分块对角矩阵: blkdiag(A,B,C)
A=diag([1,2,3,4,5,6])
A =
1 0 0 0 0 0
0 2 0 0 0 0
0 0 3 0 0 0
0 0 0 4 0 0
0 0 0 0 5 0
0 0 0 0 0 6
B=diag(ones(1,5))
分块对角矩阵
>> A=[1,2,3;4,5,6;6,7,8];
>> B=[1,2;3,4];
>> C=[11,22;33,44];
>> blkdiag(A,B,C)
ans =
1 2 3 0 0 0 0
4 5 6 0 0 0 0
6 7 8 0 0 0 0
0 0 0 1 2 0 0
0 0 0 3 4 0 0
0 0 0 0 0 11 22
0 0 0 0 0 33 44
A=[1,2,3;4,5,6;7,8,9]
A =
1 2 3
4 5 6
7 8 9
>> A(1,:)=[]
A =
4 5 6
7 8 9
>> A(2,:)=[]
A =
4 5 6
A=[1,2,3;4,5,6;7,8,9]
>> A(2,2)=100
A =
1 2 3
4 100 6
7 8 9
A(2,3)=123456
A =
1 2 3
4 100 123456
7 8 9
同样高维矩阵也可以修改,修改方法一样,只要在()中标注好修改元素的位置
矩阵的变维可以用符号“:”法和reshape函数法。reshape函数的调用形式如下。reshape(X,m,n):将已知矩阵变维成m行n列的矩阵。
A=1:12;
B=reshape(A,2,6)
C=zeros(3,4); %用“:”法必须先设定修改后矩阵的形状
C(:)=A(:)
B =
1 3 5 7 9 11
2 4 6 8 10 12
C =
1 4 7 10
2 5 8 11
3 6 9 12
对矩阵元素的抽取主要是指对角元素和上(下)三角阵的抽取。对角矩阵和三角矩阵的抽取命见下
原创不易,路过的各位大佬请点个赞