MATLAB基础:矩阵操作与元素处理技巧

1. 基本连接符[]

基本连接符:[],就是中括号,可以把两个矩阵进行合并(也称为矩阵连接),若水平方向合并,使用逗号分隔,若垂直方向合并,使用分号分隔;

程序示例如下:

a=[1 2;3 4]

b=[5 6;7 8]

[a,b]  %水平连接,返回[1 2 5 6;3 4 7 8]

[a;b]  %垂直连接,返回[1 2;3 4;5 6;7 8]

注意,合并方向上的行/列数应相同,否则,报错:矩阵大小不一致,这也是初学者常犯之错误。

2.水平连接和垂直连接的函数

水平连接horzcat

垂直连接vertcat

程序示例如下:

a=[1 2;3 4]

b=[5 6;7 8]

horzcat(a,b)  %水平连接,结果与上面相同

vertcat(a,b)  %垂直连接,结果与上面相同

3.平铺复制的函数

平铺复制repmat

程序示例如下:

a=[1 2;3 4]

repmat(a,1,3)  %把矩阵a看作一个整体,平铺复制成1*3的阵列

repmat(a,3,3)  %平铺复制成3*3的阵列

4.矩阵元素的提取

最实用、直接的方法就是使用矩阵索引进行元素的提取,矩阵索引的用法在我的另一篇文章中有详细讲述: Matlab矩阵索引、下标索引、线性索引、逻辑索引

5.提取矩阵对角线元素

函数:diag

程序示例如下:

a=[1 2 3

4 5 6

7 8 9]

diag(a)  %提取对角线元素,返回[1 5 9]

b=[1 2 3]

diag(b)  %输入b为向量,则把b看作对角线元素,扩展为方阵,非对角线元素默认0

6.提取上(下)三角形元素

提取上三角形元素triu

提取下三角形元素tril

程序示例如下:

a=[1 2 3

4 5 6

7 8 9]

triu(a)  %提取上三角形元素

tril(a)  %提取下三角形元素

tril(a,1)  %添加偏移量参数,1表示往右上偏移1个位置,再取下三角形矩阵

tril(a,2) %2表示对角线往右上偏移2个位置,再取下三角形矩阵

tril(a,-1)  %-1表示向左下偏移1个位置,再取下三角元素

7.元素重排

元素重排reshape,重排规则:把原矩阵按列优先重排为新矩阵的大小;

程序示例如下:

a=[1 2 3 4;5 6 7 8] %创建2*4的矩阵

reshape(a,4,2)  %矩阵a重排成4*2的矩阵

reshape(a,3,3)  %元素数量不一致,报错

8.排序

排序sort

程序示例如下:

a=[1 2 3 4;5 6 7 8]

sort(a)  %矩阵元素的列排序:默认升序排列

sort(a,'descend')  %降序排列

9. 翻转

左右翻转fliplr

上下翻转flipud

程序示例如下:

a=[1 2 3 4;5 6 7 8]

fliplr(a)  %矩阵左右翻转

flipud(a)  %矩阵上下翻转

附相关视频:

Matlab基础入门1.11:重塑矩阵/元素重排/旋转/翻转/移位/排序

End

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空