1.矩阵的创建
生成一个a行b列的矩阵。
clear;clc
A = [1,2,3;4,5,6;7,8,9]%创建矩阵,其中;为换行
B = 2.6:2:11.2%通过冒号创建数组格式为初始值:步长:最大值
C = linspace(1,3,7)%通过linspace创建一维矩阵,3为第一个元素,3为最后一个元素,7为元素的个数,n默认个数为100,的等差数列
D = logspace(2,5,8)%10^2到10^5之间生成8个差值相等的数
E = ones(2)%构建一个n*n的1矩阵,ones(a,b,c,……)构建一个a*b*c的1矩阵,ones(size(A))构建一个和矩阵A同样大小的1矩阵
F = zeros(2)%构建一个N*n的0矩阵,同ones
G = eye(3)%构建一个n*n的单位矩阵,同ones
H = magic(3)%构建一个魔方矩阵,每一行每一列之和相等
I = rand(3)%构建一个n*n的矩阵,元素为0-1之间的随机数,同ones
J = randn(3)%构建一个元素为零均值,单位方差的正态分布随机数,同ones
2.矩阵的操作
2.1矩阵的部分删除
A = [1:3;4:6;7:9]%
B = [A;10:12]%B在A的基础上加了一行
B(:,2) = []%删除掉了B的第二列
2.2矩阵元素修改
clear;clc
v1 = 1:3
X1 = diag(v1,1)%将向量v放在方阵X1的主对角线往上一条,负数代表往下
X2 = diag(v1)
v3 = diag(X1,1)%代表取出X1的主对角线往上一条的对角线
v4 = diag(X1)
L = tril(X1,1)%取出X1的下三角部分,对角线为主对角线往上一条,其余为零
M = triu(X1,1)%取出X1的上三角部分,对角线为主对角线往上一条,其余为零
2.3矩阵结构的修改
clear;clc
A = magic(3)
B = reshape(A,9,1,1)%9,1,1分别为行数,列数,页数
rot90(A)%逆时针旋转90度
rot90(A,2)%逆时针旋转90*2度
fliplr(A)%左右翻转矩阵,flipud上下翻转矩阵
2.4矩阵元素的数据变换
clear;clc
A = rand(4)
floor(A)%向下取整
ceil(A)%向上取整
round(A)%四舍五入取整
fix(A)%按接近零的方向取整
[n,d] = rat(A)% A=n./d
B = rem(A,2)%表示将矩阵除以模数2的余数
2.5矩阵下标引用
clear;clc
A = magic(6)
A(:)%将矩阵以列优先,合并成一个长的列向量
A(2:3,3:6)%2-3行,3-6列的元素
A([7:10,26:31])%A(:)中的第7-10和26-31个元素
%matlab中的:可以表示所有,也可以表示到的意思
单下标,为A(:)中的顺序的编号
双下标为行列值
内部函数sub2ind可以完成两者间的转换
2.6矩阵信息的获取
clear;clc
A = zeros(3,4)
isempty(A)%是否为空矩阵
isscalar(A)%是否为标量
isvector(A)%判断矩阵A是否为向量
issparse(A)%是否为稀疏矩阵
B = eye(5,3)
[m,n] = size(B)%获取矩阵在各维的长度
c = numel(B)%获得矩阵元素的个数
3.矩阵运算
未完成。。。。。。