Why do I get this error "In an assignment A(:) = B, the number of elements in A and B must be the same"?
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Mohannad Abboushi
el 21 de Abr. de 2016
Comentada: James Tursa
el 21 de Abr. de 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 comentarios
Respuesta aceptada
Jos (10584)
el 21 de Abr. de 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 comentario
James Tursa
el 21 de Abr. de 2016
Mohannad, for 2, you could change the for loop indexing to fix it for vector inputs. E.g.,
for i=1:numel(n)
Más respuestas (0)
Ver también
Categorías
Más información sobre Loops and Conditional Statements en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!