matlab常用函数汇总

前言

在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); %%生成53列的全零矩阵
A=zeros(5); %%默认生成55列全零矩阵

%2.
A=ones(5,3) %%  5*31矩阵

%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版权协议,转载请附上原文出处链接和本声明。