Matlab程序中temp(ic)= [data id]= out(ir) = Data(ir,id
答案:2 悬赏:0 手机版
解决时间 2021-01-30 07:22
- 提问者网友:趣果有间
- 2021-01-30 04:01
Matlab程序中temp(ic)= [data id]= out(ir) = Data(ir,id
最佳答案
- 五星知识达人网友:零点过十分
- 2021-01-30 04:59
1、第一句:temp(ic) = size(find(Data(ir,:) == Data(ir,ic)),2);以ir=1,ic=2为例说明>> Data(1,:)%第一行所有的数ans =1 2 3 2 2>> Data(1,2)%第一行第二列的数ans =2>> find(Data(1,:) == Data(1,2))%找出 “Data(1,:)中大小为Data(1,2)的数” 所在的列的序号ans =2 4 5>> size(find(Data(1,:) == Data(1,2)),2)%计算 “Data(1,:)中大小为Data(1,2)的数” 的数目ans =32、第二句:C = max(A,[],dim) returnsthe largest elements along the dimension of A specifiedby scalar dim.For example,max(A,[],1) producesthe maximum values along the first dimension (the rows) of A.[C,I] = max(...) findsthe indices of the maximum values of A,and returnsthem in output vector I.If there are several identicalmaximum values,the index of the first one found is returned.[data id] = max(temp,[],2);%求出temp每行最大的数data ,并返回该数的序号id3、第三句out(ir) = Data(ir,id); %ir为行数,id为出现最多次数的数所在的列======以下答案可供参考======供参考答案1:temp(ic) = size(find(Data(ir,:) == Data(ir,ic)),2);find(Data(ir,:) == Data(ir,ic)) 返回第ir行 中和 第ir行ic列相同的元素的下标有一个相同,find就返回一个下标,有n个相同,就返回n个下标再用size(find(...),2)统计find到的个数因此在内曾循环结束后temp是个长度和原来矩阵列数一样的向量第一个数纪律ir行中,与ir行1列相同的元素的个数第二个数纪律ir行中,与ir行2列相同的元素的个数,依次类推内层循环结束后,再根据temp找出出现最多的数[data id] = max(temp,[],2);max寻找temp中最大的数,数值返回给data,下标位置返回给id由于max无论有多少个相同的最大值,只返回一个最大值所以返回data和id都只是一个数,而data还没有用,我们只需要idout(ir) = Data(ir,id);输出的第ir个数 赋值为Data的第ir行,id列的数由于之前的工作已经确定,第ir行,重复最多的数的列下标是id所有Data(ir,id)就是ir行,出现最多的数把它赋值给out(ir)外循环也结束的时候,所有行都统计完成out(1) 就是第1行出现最多的数out(2) 就是第2行出现最多的数依次类推
全部回答
- 1楼网友:天凉才是好个秋
- 2021-01-30 05:41
感谢回答,我学习了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯