Borrar filtros
Borrar filtros

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)
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
jgg
jgg el 21 de Abr. de 2016
Editada: jgg el 21 de Abr. de 2016
I do not get that error when I run your code, but it definitely does not sort a vector either. Have you posted the right code?
What was wrong with the sort function?
Mohannad Abboushi
Mohannad Abboushi el 21 de Abr. de 2016
I have to write a function without using the built in sort feature of matlab. Also that's what I get when I use it.

Iniciar sesión para comentar.

Respuesta aceptada

Jos (10584)
Jos (10584) el 21 de Abr. de 2016
You seem to use the variable n in two ways:
  1. an unsorted variable (vector? or array?)
  2. 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 ...

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by