2009-12-05 11 views
10

¿Cómo hago una matriz que está definido con un punto inicial, un punto final y un tamaño total matriz? Algo así como una matriz que va del 1 al 10 y tiene 20 elementos. Por ejemplo, la matriz podría ser algo como: vectores¿Cómo creo una matriz de valores regularmente espaciados en MATLAB?

1 1.5 2 2.5 3 3.5 ... 
+0

En el vector de la muestra se da, en movimiento de 1 a 10 en pasos de 0,5 haría darte un vector de 19 elementos, no 20. – gnovice

+0

19 - Conté con mis dedos. No pude encontrar mi ábaco. – Doresoom

Respuesta

18

Hay un par de maneras que usted puede hacer esto:

  • usando el colon operator:

    startValue = 1; 
    endValue = 10; 
    nElements = 20; 
    stepSize = (endValue-startValue)/(nElements-1); 
    A = startValue:stepSize:endValue; 
    
  • Uso de la función linspace (como se sugiere por Amro):

    startValue = 1; 
    endValue = 10; 
    nElements = 20; 
    A = linspace(startValue,endValue,nElements); 
    

Tenga en cuenta que el número de elementos en las matrices resultantes incluye los puntos finales. En los ejemplos anteriores, la diferencia entre los valores del elemento de la matriz será 9/19, o un poco menor que0.5 (a diferencia de la matriz de muestra en la pregunta).

10

linspace genera linealmente espaciadas:

>> A = linspace(1, 10, 20-1) 
ans = 
1 1.5 2 2.5 3 3.5 ... 9.5 10 
+0

n.b. 'linspace' outputs * row * vectores; aquí en tierra de optimización, todos los vectores son vectores de columna. tener cuidado. – shabbychef

+2

OP quiere crear una matriz con 20 elementos y está hablando de una optimización despreciable (¡que puede que ni siquiera sea el caso!) – Amro

5

simple de una sola línea!

1:0.5:10; 

de salida:

1 1.5 2 2.5 ... 9 9.5 10 

Tenga en cuenta que esto sería un vector 19-elemento, no 20.

+0

No, esto sería un vector de * 19 elementos *. Incluiría los números enteros 1 a 10 (de los cuales hay 10), junto con los puntos medios entre cada par de números enteros (de los cuales hay 9). – gnovice

+0

@gnovice: Gracias por el aviso. – Zaid

Cuestiones relacionadas