作业帮 > 综合 > 作业

matlab程序问题求解

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/23 19:23:37
matlab程序问题求解
程序如下:%一个向量中找到比某一个数大的全部数,并从小到大排列这些书
g=[4 4 7 10 -6 42 1 0];
a=4;
index=find(g>a)
x=g(index);
for j=1:index
for i=1:length(x)
if (x(i)>x(i+1))
a=x(i+1);
x(j)=x(i+1);
x(i)=a;
x=x[1:i i+2:length(x)];
end
end
end
程序的目的是在一个向量中找到向量比某个值大的值,并把这些值从小到大排序.我编译的时候是显示x=x[1:i i+2:length(x)];不是matlan合法的表达式.好怪.
中间掉了逗号
再问: 好像中间空格和逗号不是一样呀
再答: sort就是排序,为什么要自己写,先输出一个矩阵看看

g=[4 4 7 10 -6 42 1 0];
a=4;
index=find(g>a)
x=g(index);
y=sort(x);
y就是你要的
再问: 确实是这么滴,就不是不知道这函数怎么编的。。。
再答: 排序算法就那几种,你想看也可以看到的,你在matlab的文件夹下面搜索sort.m可以看看。一般知道怎么用就可以了,你在命令窗口里面 help或者doc 都可以看看这个函数的用法的,虽然是英文,但是例子比较多,你看着应该不会有很大压力的。