2010-02-27 11 views
5

En Mathematica,Mathematica -creando las listas y los vectores de longitud específica

  1. ¿Cómo puedo crear una lista de longitud n y rellenar con ceros?
  2. ¿Cómo puedo crear un vector de longitud n y rellenar con ceros?
+0

Además del comentario de Timo si cree que la respuesta no se ha proporcionado en sus preguntas anteriores agregue un comentario (s) diciendo eso y por qué. – Davorak

+0

Davorak, ¡Tus respuestas han sido geniales! Finalmente descubrí que puedo depurar mma al primero no usar la declaración del módulo, ponerla en funcionamiento y luego usar un módulo. El módulo solo me daba una línea naranja sin buenos diagnósticos cuando había un error en mi código. Después de eliminar el encabezado del módulo y trabajar de esa manera las cosas fueron mucho mejor, buenos diagnósticos, etc. Tenía alrededor de 20 versiones de mi módulo cuando contacté con stackoverflow. Necesitaba tener la sintaxis correcta. Esta experiencia realmente ha ayudado. Necesitaba llegar al punto donde pudiera programar rápidamente. Gracias. MM –

Respuesta

3

En Mathematica, no hay distinción entre listas y vectores. Puede utilizar la función Table para generar una lista de longitud n:

x = Table[0, {n}] 
(* If n was 4, x would now be the list {0, 0, 0, 0} *) 
9

versión 6.0 y hasta incluir una nueva función ConstantArray por hacer exactamente esto, y es más eficiente que el uso Table:

In[2]:= ConstantArray[0,10] 
Out[2]= {0,0,0,0,0,0,0,0,0,0} 

Documentación aquí:
http://reference.wolfram.com/mathematica/ref/ConstantArray.html

+1

He estado experimentando con listas en Mathematica durante mucho tiempo, y creo que la eficacia de 'ConstantArray' con respecto a' Table' proviene de que es capaz de precalcular y asignar el tamaño de la lista. Como 'Table 'no siempre puede hacer eso, debe asignarlo a medida que avanza. – rcollyer

Cuestiones relacionadas