How do I create this sorting function?
조회 수: 1 (최근 30일)
이전 댓글 표시
Hi all. I am still a bit new to Matlab and I was asked to create a function with one input (X) and one output (Y) which ranks any set of numbers in such a way that for instance if X=[5 2 9 7], Y=[2 1 4 3]. This is to be done through the use of loops and logical operators. How would I go about doing this please? Thanks in advance.
댓글 수: 0
답변 (1개)
Dyuman Joshi
2022년 5월 3일
편집: Dyuman Joshi
2022년 5월 4일
For all unique values
input = [5 2 9 7];
output = sorting(input)
function y = sorting(x)
for i=1:numel(x)
y(i)=nnz(x(i)>=x); %you can use sum as well
end
end
댓글 수: 3
Walter Roberson
2022년 5월 4일
numel(x) is defined as the prod(size(x))
Walter Roberson
2022년 5월 4일
편집: Walter Roberson
2022년 5월 4일
Note: that sorting() function does not work if there are duplicate entries, and will return 0 for any entry that is NaN.
참고 항목
카테고리
Help Center 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!