Matlab快速入门——矩阵的初级学习

学习目标:矩阵的初级学习

1.获取元素

clear all;
A=[3:6;7:10]
f1=A(1,3)                        % 第1行第3列的元素              
f2=A(5)                          %第5个元素

clear all;
A=[5:8;9:12;13:16;17:20]
f1=A(2,:)
f2=A(:,2)
f3=A(1:3,1:3)
f4=A(1:end,end)     %最后一列

2.单下标和双下标的转换        矩阵是按照列存储的

clear all;
A=[5:8;9:12;13:16;17:20]
ind1=sub2ind(size(A),2,3)    %双下标转换成单下标
A(ind1)     
A(2,3)
[I,J]=ind2sub(size(A),4)    %单下标转化成双下标
ind2=sub2ind(size(A),I,J)   

3.查找替换值

clear all;
A=[1:4;5:8;9:12;13:16]
B=A>8
A(A>8)=9
f1=find(A>2)
A(find(A>2))=0

4.矩阵的自动扩充

clear all;
A=[1:4;5:8]
a=A(2,3)
A(4,4)=3

5.矩阵的合并

clear all;
A=[1:4;5:8]
B=[1:2;3:4]
C=cat(2,A,B)
D=horzcat(A,B)     %水平合并
E=vertcat(A,B)     %这样就不可以

6.矩阵的块操作   数据块的复制

clear all;
A=magic(2)
B=repmat(A,2,3)
C=repmat(A,[2,3])    

7.将多个矩阵作为对角块产生新的矩阵

clear all;
A=magic(3)
B=[1:2;3:4]
C=blkdiag(A,B)
D=blkdiag(B,A)

8.删除矩阵中的某些元素

clear all;
A=rand(4,4)
A([1 3],:)=[]     %第一行和第三行删除
A(:,end)=[]       %最后一列进行删除

9.矩阵的转置   复数不一样,会转化为共轭复数

clear all;
A=rand(2,4)
A1=A'
A2=transpose(A)
B=[2+3i,4+5i,3;2 4+i 5+3*i]
B1=B'                          %没有一点
B2=ctranspose(B)               %和没有一点效果一样
B3=B.'                         %有一点不转为为共轭

10.逆时针旋转90度的K倍,默认为1倍,可以设定参数

clear all;
A=rand(2,3)
B=rot90(A)
C=rot90(A,2)

11.矩阵的翻转  左右    上下

clear all;
A=rand(2,3)
B=fliplr(A)                      %左右翻转
C=flipud(A)                      %上下翻转
D=flipdim(A,1)                   %指定的方向翻转 ,1相当于左右,2相当于上下
E=flipdim(A,2)

12.矩阵尺寸的改变

clear all;
X=[1:4;5:8]
Y1=reshape(X,1,8)       
Y2=reshape(Y1,[4,2])
Y3=reshape(X,size(Y2))  

13.矩阵的加减   维数必须相同

clear all;
A=[1:4;5:8]
B=[2 2 2 2;4 4 4 4]
C=A-B
D=A+12

14.矩阵的相乘     直接相乘的矩阵的列数和另一个矩阵的行数相等才行  有点没有点完全不一样 

clear all;
A=[1:4;5:8]
B=[2 2;2 2;2 2;2 2]
C=A*B        %直接相乘
D=A.*B'      %点乘必须具有相同的行和列
E=A*10

15.矩阵的相除   左右   逆

clear all;
A=[1 1 1;1 1 1;1 1 1]
B=[1 1 1;2 2 2;3 3 3]
C1=A\B
C2=inv(A)*B
D1=B/A
D2=B*inv(A)
E1=A^3
E2=A*A*A

16.矩阵的点除   左右     对应元素相除

clear all;
A=[1 1 1;1 1 1;1 1 1]
B=[1 1 1;2 2 2;3 3 3]
C1=A./B
C2=A.\B
C3=A./2
D=A.^2 

你可能感兴趣的:(MATLAB,学习,数学建模)