Matlab - vectores con ceros

 
Vista:
sin imagen de perfil
Val: 1
Ha disminuido su posición en 78 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

vectores con ceros

Publicado por Jeferson (1 intervención) el 22/03/2019 16:20:52
Hola

Necesito ayuda con algo que depronto es basico , estoy apenas comenzando con matlab y pues tengo una duda con respecto a los vectores, los que pasa es que yo ingresé esto
>> for j=5:10;
v(j)=j;
end
>> v

v =

0 0 0 0 5 6 7 8 9 10

La duda que tengo es por qué me salen esos ceros en mi vector, si se supone que el primer elemento del vector debería ser 5 y no cero, ya que puse en el [FOR] que comenzara desde 5. Como haria para que mi vector comenzara desde 5 o cualquier número que coloque como inicial en el [FOR] hasta el ultimo número.

Otra duda es que al colocarle un paso de 0.5 me sale este error
>> for j=5:0.5:10;
v(j)=j;
end
Attempted to access v(5.5); index must be a positive integer or logical.

¿Como hago para que me acepte pasos no enteros?, Les agradeceria mucho su respuesta.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 918
Bronce
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

vectores con ceros

Publicado por Daniel (354 intervenciones) el 23/03/2019 09:32:54
Hola,

Matlab cambia el tamaño de los vectores y matrices cuando se le asigna un valor en una posición que no existe. En los valores que no existían datos los rellena con 0. Por eso si se crea un vector y se le asigna el valor a la posición 5 rellena el resto con 0.

Este método, a pesar de ser útil, es muy ineficiente y debería de evitarse en la medida de lo posible. Tan ineficiente que Matlab avisa del problema.

Por otro lado, los índices de los vectores y matrices solamente pueden ser enteros positivos. Por eso no se puede asignar números reales.

Por otro lado, el operado “:” de Matlab crea un vector con los valores. No es, como mucha gente piensa, algo que solamente se puede usar en los bucles for. Si se quiere crear un vector de 5 a 10 directamente con este operador sin necesidad de iterar.
Por lo que es la forma mas eficaz de crear los vectores. Es decir, todo el código se puede hacer con:

1
v = 5:10;

o

1
v = 5:0.5:10;

Saludos,
Daniel Rodríguez.
Analytics Lane
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar