How to sort a random input numbers
4 次查看(过去 30 天)
显示 更早的评论
Hello Matlab Community
I have a code where I can input a set of numbers (3) and a random generator that is suppose to match which ever 3 numbers I pick in the given range.
To test this I set my code up like so:
clc
k=1;
s=3;
p=3;
x=0;
code = input('three numbers')
times=0;
while x<1
[~, Stemp] = sort(rand(k, s), 2);
S = Stemp(:, 1:p)
x=any( ismember(code,S, 'rows') )
times=times+1;
end
times=times
I would use [ 1 2 3] and it will run smoothly. However I still trying to test if it works so I only kept it 3. When I run it the answer S will give me number between 1 and 3 in any order but stop when it is all in the right order of example:
#> [1 2 3]
code =
1 2 3
S =
2 1 3
x = 0
S =
2 3 1
x = 0
S =
1 3 2
x = 0
S =
1 2 3
x = 1
times = 4
I would like it to stop when it just has all three numbers no matter which order. Is there a way to do that? Please provide example. Thank you.
4 个评论
Adam Danz
2019-6-25
编辑:Adam Danz
2019-6-25
I don't understand "I would like it to stop when it just has all three numbers no matter which order. ".
It will always have 3 numbers because s = 3.
Also, if the user inputs [3,4,5] the loop will never end. Can you explain what your goal is and wehre you're stuck?
回答(1 个)
Vaibhav Tomar
2019-6-26
Hey, what do you exactly mean by "Like to stop it all when it just has all three numbers no matter which order" Doesn't it initally or will certainly have three numbers as per your code. And the loop doesn't really seem to terminate as per the code and the aim required.
2 个评论
Adam Danz
2019-6-26
This comment should be moved to the comment section under the question since it is not an answer.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!