《MATLAB SYNTAX》第2章 向量和矩阵

第2章 向量和矩阵

(2.1) 向量

%创建向量
v = a:step:b; %在[a,b]上以step为步长生成向量,缺省值为1
v = linspace(a,b,n); %在[a,b]上等距取n个元素构成向量
v = logspace(a,b,n); %在[10^a,10^b]上等10倍频程取n个元素构成向量
%访问向量中的元素
arr(i); %数组第i个元素
arr(i:j); %数组第i到第j个元素
arr(i:end); %数组第i个到最后一个元素
arr([i,j]) %数组第i个和第j个元素
isempty(A); %检测A是否为空向量
isscalar(A); %检测A是否是单个元素的向量
isvector(A); %检测A是否是行向量或列向量
isrow(A); %检测A是否是行向量
iscolumn(A); %检测A是否是列向量
isnumeric(A); %检测A中的元素是否是数值型
isinteger(A); %检测A中的元素是否是整数型
isreal(A); %检测A中的元素是否是实型
islogical(A); %检测A中的元素是否是逻辑型
[m,n] = size(A); %获取A的行数m和列数n
length(A); %获取向量A的长度,如果是矩阵,则返回行数和列数中较大者
ndims(A); %获取A的维数
find(A > 5); %返回A当中大于5的元素的下标
max(x); %求向量x的元素的最大值
min(x); %求向量x的元素的最小值
mean(x); %求向量x的元素的平均值
median(x); %求向量x的元素的中位数
std(x); %求向量x的元素的标准差
diff(x); %求向量x的相邻元素的差
sort(x,'method'); %对向量x元素进行升序(ascend)/降序(descend)排序
sum(x); %求向量x的元素总和
prod(x); %求向量x的元素总乘积
cumsum(x); %求向量x的累积和
cumprod(x); %求向量x的累积积
dot(x,y); %求向量x和y的点积
cross(x,y); %求向量x和y的叉乘

(2.2) 矩阵

对于三维矩阵,第一、二维分别成为,第三维称为

clc;clear;
A = [1 2 3;4 5 6;7 8 9]
linear_Index = sub2ind(size(A),2,2); %将下标(2,2)转换为线性索引
fprintf('A(%d) = A(2,2) = %d\n',linear_Index,A(2,2));
[i,j] = ind2sub(size(A),6); %将线性索引6转换成下标
fprintf('A(%d,%d) = A(6) = %d\n',i,j,A(6));
>>
A =
    1     2     3
    4     5     6
    7     8     9
A(5) = A(2,2) = 5
A(3,2) = A(6) = 8
clc;clear;
A = [1 2;3 4]
A(4,4) = 5 %此时矩阵自动用0填充至4行4列
>>
A =
    1     2
    3     4
A =
    1     2     0     0
    3     4     0     0
    0     0     0     0
    0     0     0     5
C = vertcat(A,B); %在水平方向上连接矩阵,相当于C = cat(1,A,B)
C = horzcat(A,B); %在垂直方向上连接矩阵,相当于C = cat(2,A,B)
B = repmat(A,m,n); %产生以A为元素的m×n的矩阵B
Y = blkdiag(A,B,...); %以矩阵A、B...为对角块,产生新的矩阵Y
A'; %矩阵的共轭转置
A.'; %矩阵的转置,相当于transpose(A)
rot90(A,k); %将矩阵A逆时针旋转90度的k倍,k默认为1
flipud(A); %将矩阵上下翻转,相当于flipdim(A,1)
fliplr(A); %将矩阵左右翻转,相当于flipdim(A,2)
clc;clear;
A = [1 2 3;4 5 6]
B = reshape(A,3,2)
>>
A =
    1     2     3
    4     5     6 
B =
    1     5
    4     3
    2     6
%DIM=1(默认)和2分别对应按列操作和按行操作
%MODE=ascend(默认)和descend分别对应升序和降序排序
Y = sort(X,DIM,'MODE'); %排序函数
Y = sum(X,DIM); %元素求和
Y = prod(X,DIM); %元素求积
Y = cumsum(X,DIM); %元素求累积和
Y = cumprod(X,DIM); %元素求累积积
clc;clear;
A = [1 2 2;2 1 3;3 2 1]
X = cumsum(A,1)
Y = cumprod(A,1)
>>
A =
    1     2     2
    2     1     3
    3     2     1
X =
    1     2     2
    3     3     5
    6     5     6
Y =
    1     2     2
    2     2     6
    6     4     6
det(A); %求矩阵的行列式
E = eig(A); %求矩阵的全部特征值,放在向量E中
[V,D] = eig(A); %V的每一列为一个特征向量;D为对角矩阵,对角线上的元素为特征值
diag(A); %提取矩阵的主对角线上的元素,产生一个列向量
diag(A,k); %提取第k条主对角线上的元素组成一个列向量
triu(A); %获取矩阵A的上三角矩阵
triu(A,k); %获取矩阵A的第k条主对角线及以上的元素
tril(A); %获取矩阵A的下三角矩阵
tril(A,k); %获取矩阵A的第k条主对角线及以下的元素
inv(A); %求矩阵的逆矩阵
rank(A); %求矩阵的秩
trace(A); %求矩阵的迹
zeros(m,n); %生成全0矩阵
eye(m,n); %生成单位矩阵
rand(m,n); %生成0~1之间均匀分布的矩阵
randn(m,n); %生成均值为0方差为1的标准正态分布矩阵
magic(n); %生成魔方矩阵
vander(n); %生成范德蒙德矩阵
hilb(n); %生成希尔伯特矩阵
invhilb(n); %生成希尔伯特逆矩阵
toeplitz(n); %生成托普利兹矩阵
pascal(n); %生成帕斯卡矩阵

《 M A T L A B   S Y N T A X 》系列博客创作参考资料来源 《MATLAB\ SYNTAX》系列博客创作参考资料来源 MATLAB SYNTAX》系列博客创作参考资料来源

  1. 《自动控制原理实验教程》.巨林仓.西安交通大学出版社.
  2. 《MATLAB工程与科学绘图》.周博.薛世峰.清华大学出版社.
  3. 《MATLAB R2018a完全自学一本通》.刘浩.韩晶.电子工业出版社.
  4. 《科学计算与MATLAB语言》.刘卫国.蔡旭晖.吕格莉.何小贤.中国大学MOOC.
  5. 《MATLAB软件与基础数学实验》.李换琴.朱旭.王勇茂.籍万新.西安交通大学出版社.
  6. 《Matlab教程 - 图像处理》@正月点灯笼.https://www.bilibili.com.
  7. 《MATLAB从入门到秃头》@古德谓尔.https://www.bilibili.com.

博客创作: A i d e n   L e e 博客创作:Aiden\ Lee 博客创作:Aiden Lee
特别声明:文章仅供学习参考,转载请注明出处,严禁盗用!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值