前言
在matlab中每个数据都是数组的形式存储,如一个变量x=4, x在工作区的形式也是1*1的数组,值为4;而一维数组又称向量,二维数组又称矩阵。
以下代码段中A表示一个矩阵
.^3是点乘三次 而^是乘三次,以矩阵A为例:
A=ones(3,3)
A=1 1 1
1 1 1
1 1 1
>>A^3
ans=
9 9 9
9 9 9
9 9 9
>>A.^3
ans=
1 1 1
1 1 1
1 1 1
求和
Sum_A = sum(A,1); %%按列求和(每一列上所有元素相加)
Sum_A = sum(A,2); %%按行求和(每一行上所有元素相加)
Sum_A = sum(A); %%默认按列求和
>>A=[1 2 3;
4 5 6;
7 8 9]
>>sum(sum(A))
ans=45
>>sum(A(:))
ans=45
相乘
Prduct_A = prod(A,1); %%按列相乘(每一列上所有元素相乘)
Prduct_A = prod(A,2); %%按行相乘(每一行上所有元素相乘)
Prduct_A = prod(A); %%默认按列相乘
特征值
E=eig(A); %%求矩阵A的全部特征值
[V,D]=eig(A); %%求矩阵A的全部特征值,构成对角阵D,A的特征向量构成V的列向量。
MAX
%%max返回一个向量中最大元素
C=max(A);%%A是矩阵,则将每一列作为一个向量,返回一行向量包含每一列最大元素。
C=max(max(A));%%返回了A中最大元素
>>B=[1 3 9;4 8 6];
>>max(B)
ans=4 8 9
>>max(B,[],1) %按列取最大值
ans=4 8 9
>>max(B,[],2) %按行取最大值
ans=9
8
生成矩阵
%1.
A=zeros(5,3); %%生成5行3列的全零矩阵
A=zeros(5); %%默认生成5行5列全零矩阵
%2.
A=ones(5,3) %% 5*3全1矩阵
%3.
A=eye(5) %% 5*5的单位矩阵(主对角线全1)
%4.
A=rand(5,1); %% 5*3的[0,1]间随机数矩阵
%5.
A=magic(7); %%7*7的幻方矩阵(行,列,对角线元素之和都相等)
%这个函数只有一个输入
元素个数与矩阵大小
n=numel(A)
矩阵大小
size(A) %返回一个向量,第一位是A的行长,第二位是A的列长
A=[1 2 3; 4 5 6]
[com,rol]=size(A)
>>com=2
rol=3
flipud fliplr rot90
flipud是顺序颠倒,rot90是旋转90度
>>A=[1 2 3;
4 5 6;
7 8 9]
>>B=flipud(A)
B=7 8 9
4 5 6
1 2 3
>>C=rot90(A)
C=3 6 9
2 5 8
1 4 7
meshgrid
生成网格矩阵
>>[x,y]=meshgrid(1:3,1:3)
x=[1 2 3
1 2 3
1 2 3]
y=[1 1 1
2 2 2
3 3 3]
总结
版权声明:本文为qq_50860232原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。