株洲市网站建设_网站建设公司_UX设计_seo优化
2025/12/22 1:52:54 网站建设 项目流程

1.写在前面

虽然很基础,但是还是想再复习一下。

2.矩阵的序号和下标

%% 矩阵的序号和下标 %注意,在matlab中矩阵的序号是按列存储的 %以A=[1,2,3;4,5,6;7,8,9;10,11,12]为例 A=[1,2,3;4,5,6;7,8,9;10,11,12]; [m,n]=size(A); a=A(4,2) ;%=11 b=A((2-1)*m+4); %=11 %可以看到a=b,也就是说,A(i,j)=A((j-1)*m+i)

主要的结论就是:若A是m×n矩阵,那么A(i,j)=A((j-1)*m+i),这个点很小,但是有的时候写代码经常忘记

3.矩阵拆分(就是拿出原有矩阵的一部分赋值给新的矩阵)

%% 矩阵拆分 j=3; B=A(:);%得到按列堆起来的矩阵(不是[1;2;3;4;5;6;7;8;9;10;11;12]而是[1;4;7;10;2;5;8;11;3;6;9;12]) C=A(:,j); %就是把A的第3列赋给C,C现在为[3,6,9,12] D=A(3:4,1:2);%D=[7,8;10,11]

4.矩阵运算

%% 矩阵的运算 %矩阵加减:维数相同对应元素相加减,维数不同则报错 %矩阵乘法:A为m×n矩阵,B为n×p矩阵,C=A*B为m×p矩阵 %矩阵除法:A为非奇异方阵:左除:A\B=inv(A)*B,右除:B/A=B*inv(A) %矩阵乘方:A^b,要求A为方阵,b为标量 %还有点除,点乘。 a=[1,2;3,4]; b=[3,5;5,8]; a.*b %[3,10;15,32]就是对应元素相乘 a./b %[0.3333,0.4;0.6,0.5]就是对应元素相除 %矩阵求和 X=[0,1,2;3,4,5]; a=sum(X,1); %数组X的第1维元素求和,得到一个行向量[3,5,7](每一列求和) b=sum(X,2); %数组X的第2维元素求和,得到一个列向量[3;12](每一行求和)

重点是左除和sum的用法

  1. 若A为非奇异方阵:左除:A\B=inv(A)*B,右除:B/A=B*inv(A)

  2. X=[0,1,2;3,4,5];

    a=sum(X,1); %数组X的第1维元素求和,得到一个行向量[3,5,7](每一列求和)

    b=sum(X,2); %数组X的第2维元素求和,得到一个列向量[3;12](每一行求和)

5.矩阵其他运算

%% 矩阵其他运算

%inv:矩阵求逆

%det:求行列式的值

%eig:求矩阵的特征向量和特征值

A=[1,2,3;4,5,6;7,8,9];

[V,D]=eig(A) %V是特征向量,D是特征值构成的对角阵

E=eig(A);%E是A的全部特征值构成的列向量

%trace 求矩阵的迹

%rank 求矩阵的秩

6.特殊矩阵

%% 特殊矩阵

%zeros 全零矩阵

%ones 全1矩阵

%eye 单位矩阵(对角线位1)

%rand:0~1均匀分布的随机矩阵

%randn 生成均值为0,方差为1的标准正态分布随机矩阵

7. 善于运用点乘实现循环

要实现1+2+2^2+2^3+...2^63可以直接用一行matlab代码搞定

a=sum(2.^[0:63])

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询