Why do I get this error "In an assignment A(:) = B, the number of elements in A and B must be the same"?
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Mohannad Abboushi
il 21 Apr 2016
Commentato: James Tursa
il 21 Apr 2016
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 Commenti
Risposta accettata
Jos (10584)
il 21 Apr 2016
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 Commento
James Tursa
il 21 Apr 2016
Mohannad, for 2, you could change the for loop indexing to fix it for vector inputs. E.g.,
for i=1:numel(n)
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Loops and Conditional Statements in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!