一个matlab的问题

来源:百度知道 编辑:UC知道 时间:2024/05/28 20:50:20
我的一个关于十个数的数组从大到小重排的M文件如下:
function b=bubble(array)
for i=1:9
for j=i+1:10
if array(i)>array(j)
temp=array(i)
array(i)=array(j)
array(j)=temp
end
end
end
结果中有一句:
Error using ==> >
Function '>' is not defined for values of class 'cell'.

Error in ==> E:\matlab\work\bubble.m
On line 4 ==> if array(i)>array(j)
这是怎么回事?急。。。。

程序好像没什么问题,大概你用的时候array用了细胞数组,所以出错。
不要用细胞数组,就用一般的数组就可以了。
这是我的实验结果:
程序后面加了一句话b=array
function b=bubble(array)
for i=1:9
for j=i+1:10
if array(i)>array(j)
temp=array(i) ;
array(i)=array(j) ;
array(j)=temp ;
end
end
end
b=array;
然后输入
bubble([3 4 6 1 9 3 2 8 4 1])
输出
ans =

1 1 2 3 3 4 4 6 8 9
所以没问题