怎么用matlab自己定义一个函数,使这个函数可以将一个数组从小到大排列并取整!

不是matlab本身自带的sort函数,是自己编译的。... 不是matlab本身自带的sort函数,是自己编译的。 展开
 我来答
thu_yang
推荐于2016-02-08 · TA获得超过223个赞
知道小有建树答主
回答量:120
采纳率:0%
帮助的人:155万
展开全部
看你想用什么排序方法了,简单一些的话就是O(n^2)的方法如冒泡排序、插入排序和选择排序,复杂一些的有O(n*logn)的快速排序等。一个简单的选择排序可如下写:
function S = floorsort( A )
S = zeros(size(A));
for i = 1:length(A)
[a, b] = min(A);
S(i) = a;
A(b) = [];
end
S = floor(S);
end
望采纳,谢谢!
追问
谢谢啦,我试了,对的。你还能给我解释下每个语句的意思吗?谢谢啦。
追答
哦,好:
function S = floorsort( A ) %定义函数,输入为A,输出为S
S = zeros(size(A)); %初始化S的大小
for i = 1:length(A) %给S的每一个数赋值,第一个为A中最小的,第二个为第二小的。。。
[a, b] = min(A); %寻找A中最小的数a和其在A中的位置b
S(i) = a; %将a赋给S的第i个数
A(b) = []; %将这个数(当前A中的最小值)从A中删去,下次循环继续寻找剩下里边最小的即可
end
S = floor(S); %取整运算
end
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式