错在哪里?
我编写了这样一个将X由小到大排列,而与X有相同下标的Y也变到相应位置,我用的是冒泡法,可是结果总是不对,请高手指教,谢谢!function =arrange(X,Y,n)
for i=1:n
for j=i+1:n
if X(i)>X(j)
n=X(j);
X(j)=X(i);
X(i)=n;
r=Y(j);
Y(j)=Y(i);
Y(i)=r;
end
end
end 在练手是么?
拿去对比一下,没有修改你的程序结构,本来这是不应该用Matlab来编的,有内置函数就能直接实现的吧!
function =wwg(X,Y)
n = length(X);
temp = 0;
for i=1:n
for j=i+1:n
if X(i)>X(j)
temp=X(j);% n都变了,怎能不错!
X(j)=X(i);
X(i)=temp;
r=Y(j);
Y(j)=Y(i);
Y(i)=r;
end
end
end
:@D 原来是我重定义变量了啊,害我想了好久,谢谢!非常感谢!
页:
[1]