使用matlab怎么找出重复率 万方
2023-01-05阅读(111)
问:matlab 如何筛选一组数中重复的数
- 答:a=randint(4,10,[120]);
u=unique(a);
m=size(u,1);
id=1;
fork=1:m
[ia,ib,ic]=find(u(k)==a);
ifsum(ic)>1
R{id,1}=u(k);
R{id,2}=[iaib];
R{id,3}=sum(ic);
id=id+1;
end;
end;
强大处理
MATLAB是一个包含大量计算算法的集合。其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而且经过了各种优化和容错处理。在通常情况下,可以用它来代替底层编程语言,如C和C++ 。在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。
以上内容参考: - 答:例如:
x =
2 2 6 5
2 3 2 4
3 4 3 4
4 4 4 5
第一步:找到唯一的.
X=unique(x);
X =
2
3
4
5
6
第二步:查找相应位置
for i=1:length(X)
[m n]=find(x==X(i));
if length(m)>=2
disp(strcat(num2str(X(i)),'重复',num2str(length(m)),'次','位置为:' ,mat2str([m n])))
end
end
结果如下: - 答:a = randint(4,10,[1 20]);
u = unique(a);
m = size(u,1);
id = 1;
for k = 1:m
[ia,ib,ic] = find(u(k)==a);
if sum(ic)>1
R{id,1} = u(k);
R{id,2} = [ia ib];
R{id,3} = sum(ic);
id = id+1;
end;
end;
R
问:如何用matlab从一列数据中找出重复次数最多的数据?
- 答:你用for 循环嵌套if....end 去读这一组数据中的每一个,每读一个数据,针对这个数据做一次计数,下面接着读,如果有和前面读的数据相等的,那么再在前面的计数变量上加1,以此类推直到把所有的数据读完!
然后你根据各个不同计数变量的大小以及对应的数据,就可以直到那个重复的最多 - 答: tabulate函数
用于统计矩阵中各元素出现的次数
>> x = [2 2 6 5 2 3 2 4 3 4 3 4 4 4 4 2 2
6 0 4 7 2 5 8 3 1 3 2 5 3 6 2 3 5
4 3 1 4 2 2 2 3 1 5 2 6 3 4 1 2 5];
>> tabulate(x(:))
Value Count Percent
0 1 1.96%
1 4 7.84%
2 14 27.45%
3 10 19.61%
4 10 19.61%
5 6 11.76%
6 4 7.84%
7 1 1.96%
8 1 1.96% - 答:运用tabulate函树,输入以下矩阵即可
>> x = [2 2 6 5 2 3 2 4 3 4 3 4 4 4 4 2 2
6 0 4 7 2 5 8 3 1 3 2 5 3 6 2 3 5
4 3 1 4 2 2 2 3 1 5 2 6 3 4 1 2 5];
>> tabulate(x(:))
Value Count Percent
0 1 1.96%
1 4 7.84%
2 14 27.45%
3 10 19.61%
4 10 19.61%
5 6 11.76%
6 4 7.84%
7 1 1.96%
8 1 1.96%
MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB应用非常之广泛。 - 答:a=[1,3,3,5,5,6,2,6,9,9];
b=unique(a);
c=histc(a,b);
问:有1500万行数据,如何用matlab统计每行数据出现的次数并将该条数据输出到相应的文件中?
- 答:这玩意其实不应该用MATLAB做,用任意一种高级语言比如Python做比较好。
有两种方案,都是借助hash做
如果你懂hash map的底层原理可以自己手动实现,数组嵌套,数组的每一个元素是一个链表,数组长度设为2^24,数据存放在数组哪个位置通过hash算法得到,将该数据添加到链表中,一次遍历就可以对数据完成统计,然后相同的数据必定都在同一个链表中,如果链表长度小于10(自己定)就手动判断重复,如果长度过大就再在链表里通过加salt再次统计。
嫌麻烦就借助hash map,map结构为<string,list>,如果数据未在map中出现,就添加进去,并加到list后,以后都可以直接加到list中,这样实际也是借助hash完成了分类,但list中重复率可能高了点(hash长度为16),这里统计完成了,然后是一样的操作。
使用matlab怎么找出重复率 万方
下载Doc文档