Sort Function Help and Selecting Highest Values
2 次查看(过去 30 天)
显示 更早的评论
Hello, I am trying to create a MatLab function that takes in two inputs, x and y, and outputs select. select should be the same size as x. The elements of select should be the same as the corresponding element x if that element is one of the y largest values in x and 0 otherwise.
I know I am supposed to be using the Sort function to help pick the highest values, but I'm pretty unsure how to make this function.
Thank you for any help you can give.
0 个评论
回答(1 个)
Walter Roberson
2011-9-23
xsorted = sort(x(:));
y_largest_x = xsorted(end-y+1:end);
(Yes, that was deliberately written a bit clumsy.)
12 个评论
Walter Roberson
2011-9-23
No.
It is difficult to give any more hints without giving the key answer away, which would ruin the purpose of the assignment.
The entire assignment can be completed with two statements plus the function header. Ah yes... I just remembered the hack that would allow it to be written as a single statement plus the function header.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!