永发信息网

怎么用matlab生成随机数,排序,取数排序前的位置?

答案:1  悬赏:20  手机版
解决时间 2021-03-27 22:46
  • 提问者网友:抽煙菂渘情少年
  • 2021-03-27 16:33
怎么用matlab生成随机数,排序,取数排序前的位置?
最佳答案
  • 五星知识达人网友:像个废品
  • 2021-03-27 16:54
clear
Num=input('please input Num=');
M=input('please input M=');
N=input('please input N=');
%我也不知道你的Num,M,N是什么,你自己输入吧!
A=5*rand(1,Num);%产生Num个随机数
[B,Ix]=sort(A,'descend');
%对产生的随机数按由大到小的顺序排序,并取随机数在排序前的位置Ix
x=floor(Ix./N);%将排序前的位置除以N 所得商作为横坐标x
y=rem(Ix,N);%所得余数作为纵坐标y
I=Ix(1:M);%取排序后前M个随机数在排序前的位置
X=x(1:M);
Y=y(1:M);
%I,X,Y为你所求!
%以下是你复制所有上面代码后运行举例!
please input Num=10
please input M=5
please input N=4
>> I

I =

9 6 1 7 8

>> X

X =

2 1 0 1 2

>> Y

Y =

1 2 1 3 0
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯