matlab--------矩阵重构,重新排列的相关函数说明

reshape函数,例如矩阵原来2行6列,通过reshape(A,3,4)就变成了3行4列的矩阵,排列规则:先取第一列,再取下一列,按此原则生成新的矩阵,但是,我们也可以只给出行,或者只给出列,剩下的一个维度用空向量代替,例如12个元素,转变成3*4,我们可以简写reshape(A,3,\[\]),或者reshape(A,\[\],4).

sort函数:对向量,矩阵排序

默认从小到大,加上descend后变成从大到小进行排列

我们也可以让该函数有2个返回值,第一个是重新排列的,第二个是原来的顺序中所对应的索引。

对矩阵进行排列:sort(A,dim)理解:dim=1时,表示每一列从小到大排列;dim=2时,表示每一行按照从小到大的顺序进行排列;dim=1时,可以省略不写,即简写成sort(A);

sortrows函数:这个函数的理论难以理解,老师引入了一个具体的案例,即一个班级中不同学生的4门成绩所组成的一个矩阵.

他们的成绩组成了一个6行4列的矩阵,如果用sort函数进行排列,就会使得每列/每行都按照升序排列,这样就会导致每个人的成绩无法一一对应,而sortrows函数的强大之处就在于它可以让排列后的成绩仍然是一一对应的。

sort_scores=sortrows(score,1)表示按照语文成绩进行排序

sort_scores=sortrows(score,1,2,3,4)表示先按照语文成绩排序,再按照数学成绩排序,再按照物理成绩排序,最后按照化学成绩排序。

sort_scores=sortrows(score,1,2,3,4,'descend')原理同上,只是排序方式变成了降序;

sort_scores=sortrows(score,1,2,{'descend','ascend'})表示第1列降序,第2列升序;

sort_scores,ind=sortrows(score,1)表示对语文进行排列,但除了返回成绩,还要返回索引值,score(ind,:)同样也可以得到排序后的结果;

sortrows(A)等价于sortrows(A,1:6)这里不是对6列全部排序,而是如果某列元素相同时,我们一依次比较下一列,假如第一列的元素都不同,我们就可以直接得出结果,而不用继续向下比较;而sort(A)时就算第一列全都不同,依然会比较下一列,直到最后一列。

特此声明:sort函数的第二项表示维度,1表示列,2表示行;但是sortrows函数的第二列表示的是column,即第几列,具体是由矩阵的列数决定的。

flip,fliplr,flip函数

A=2 3 4 5 6 flip(A)表示相当于倒序排列,等价于A(end;-1;1)

如果A是矩阵,会保持每行不变,第1行和end行交换,2行和end-1行交换;

flip(A,1)即按照行反转,1表示维度,等价于flipud函数;

flip(A,2)按照列反转,等价于fliplr函数;

rot90(A,k)表示把矩阵逆时针旋转k*90度,省略k默认旋转90

(复习:randi(10,2,3)2行3列10是上限,默认最小值是1,完整写法randi(1,10,2,3))!!!!!!!!!!

相关推荐
知识分享小能手2 小时前
线性代数学习教程,从入门到精通,矩阵的初等变换与线性方程组(6)
学习·线性代数·矩阵
知识分享小能手3 小时前
线性代数学习教程,从入门到精通,矩阵的初等变换与线性方程组(5)
学习·线性代数·矩阵
SNAKEpc121384 小时前
OpenGL(十五)- 着色器语言GLSL
c语言·c++·线性代数·算法·矩阵·图形渲染·着色器
ShuiShenHuoLe7 小时前
HmarkX(码笺)的本地数据库模块重构实战
数据库·oracle·重构
世冠科技7 小时前
世冠科技CEO张桥:从“一句话完成产品研发”到工程智能,AI 原生如何重构复杂装备研发(上篇)
人工智能·科技·重构
碳基猿7 小时前
案例|新媒体/短视频矩阵代运营公司如何利用 CreBee 实现规模化交付:从“人力外包”到“内容运营服务系统”
矩阵·新媒体运营·用户运营·新媒体矩阵·多账号管理·矩阵运营方法论
evans在进步8 小时前
LeetCode 74:搜索二维矩阵——Java 虚拟一维数组与二分查找详解
java·leetcode·矩阵
微三云 - 廖会灵 (私域系统开发)8 小时前
人工智能在电商领域的全场景落地:从智能推荐到信任电商的技术重构摘要
人工智能·重构
海盗12348 小时前
AI新闻日报_2026-08-12-AI Coding 权限范式重构 / 10 亿用户里程碑 / 具身智能资本与基模双线冲刺
人工智能·重构