Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
我在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: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 。 MatLab矩阵是原始类型,而不是对象,并且它们没有length属性。 更多&回答... |
![]() |
![]() |