Why do I get this error "In an assignment A(:) = B, the number of elements in A and B must be the same"?
1 次查看(过去 30 天)
显示 更早的评论
In this code I created a function to sort a vector from smallest to largest. It works when the vector has odd number of elements but not when it is even. Here's the code:
function[r] =vecsort(n)
r=zeros(size(n));
for i=1:n
[a,b]=min(n);
r(i)=a;
n=n([1:b-1 b+1:end]);
end
end
2 个评论
采纳的回答
Jos (10584)
2016-4-21
You seem to use the variable n in two ways:
- an unsorted variable (vector? or array?)
- the number of elements of something (for i=1:n)
I assume you want to change the second one.
Furthermore, min(A) will give a single value when A is a vector, but multiple values when A is a matrix ...
1 个评论
James Tursa
2016-4-21
Mohannad, for 2, you could change the for loop indexing to fix it for vector inputs. E.g.,
for i=1:numel(n)
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!