MATLAB错误-???尝试引用非结构数组的字段
我正在用MATLAB编写一个插入排序。我这样调用我的函数:MATLAB错误-???尝试引用非结构数组的字段,matlab,sorting,insertion-sort,Matlab,Sorting,Insertion Sort,我正在用MATLAB编写一个插入排序。我这样调用我的函数: >> A = [5 4 3 2 1] A = 5 4 3 2 1 >> insertion_sort(A) 但是当我运行它时,我得到了错误 ??? Attempt to reference field of non-structure array. Error in ==> insertion_sort at 6 for j=2:o
>> A = [5 4 3 2 1]
A =
5 4 3 2 1
>> insertion_sort(A)
但是当我运行它时,我得到了错误
??? Attempt to reference field of non-structure array.
Error in ==> insertion_sort at 6
for j=2:original.length
这是我的原始代码:
function sorted = insertion_sort(original)
for j=2:original.length
key = original(j);
i = j-1;
while i > 0 && original(i) > key
original(i+1) = original(i);
i = i-1;
end
original(i+1) = key;
end
sorted = original;
end
有人知道我做错了什么吗?你想用
numel(original)
而不是original.length
。没有length
方法,因此MATLAB错误地认为您试图访问a中名为length
的字段,而original
不是。尝试numel(original)
而不是original.length
。MatLab矩阵是基本类型,不是对象,它们没有长度属性