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))!!!!!!!!!!

相关推荐
梦子要转行3 小时前
matlab/Simulink-全套50个汽车性能建模与仿真源码模型9
开发语言·matlab·汽车
杨云强3 小时前
万能公式基分析重构补丁复分析和欧拉公式原理推导
重构
百度Geek说4 小时前
搜索数据建设系列之数据架构重构
数据仓库·重构·架构·spark·dubbo
Zevalin爱灰灰6 小时前
MATLAB GUI界面设计 第六章——常用库中的其它组件
开发语言·ui·matlab
曹勖之10 天前
simuilink和ROS2数据联通,Run后一直卡在Initializting
windows·matlab·simulink·ros2
引量AI10 天前
TikTok 矩阵如何快速涨粉
大数据·人工智能·矩阵·tiktok矩阵·海外社媒
Zevalin爱灰灰10 天前
MATLAB GUI界面设计 第三章——仪器组件
开发语言·ui·matlab
HR小何10 天前
人力资源战略重构,AI驱动高质量发展论坛顺利召开
大数据·人工智能·重构
SoFlu软件机器人10 天前
飞算 JavaAI:重构 Java 开发范式的工程化实践
java·开发语言·重构
Ultipa10 天前
数据驱动 AI 时代:数据库行业的技术跃迁与生态重构
大数据·数据库·人工智能·重构·云计算·图数据库