matlab矩阵里有很多有相同值的元素,如何剔除多余的,每个值只留一个元素
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab矩阵里有很多有相同值的元素,如何剔除多余的,每个值只留一个元素相关的知识,希望对你有一定的参考价值。
如图,最终所需要生成的矩阵
sum=
2.5000 5.0000
3.0000 5.5000
2.5000 4.0000
你这个确实很简单,但是不是我想要的啊,我是要找出值相同的行,可能描述有误,但是图很清楚,大神还有另解吗?
本回答被提问者采纳matlab中常用的函数
find()函数:
功能:用于返回矩阵中想要的元素的索引值;
用法: index = find(X), 当X为一个矩阵时,返回的index是一个列向量,表示矩阵X中非零值的索引值,这个索引值吧,是按把矩阵按column-major 排成列向量的索引值;
index = find(X, k, ‘first’) , 与上面相同,只是返回前K个不为零的索引值;
index = find(X, k, ‘last’), 上上面相同,只是返回后K个不为零的索引值;
[row, col] = find(X,……), 返回不为零的元素的行索引值与列索引值;其中row与col 都是列向量;
[row,col, v] = find(X,……), 增加了一个V, 用于存放非零的元素;
另外,还可以这样: index = find(X > n) 或 index = find(X = n) 等返回我们需要的元素的索引;
sort()函数:
功能: 排序;
用法: [B, index] = sort(A, dimenstion, mode), 其中dimenstion表示需要排序的维度, mode: ‘ascend’表示升排列, ’descend’表示降序排列; B表示排序后的矩阵, index 表示排序后的索引;
待补;
以上是关于matlab矩阵里有很多有相同值的元素,如何剔除多余的,每个值只留一个元素的主要内容,如果未能解决你的问题,请参考以下文章