2010-02-27 6 views
5

Dans Mathematica,Mathematica -création listes et des vecteurs de longueur spécifique

  1. Comment puis-je créer une liste de longueur n et remplir avec des zéros?
  2. Comment puis-je créer un vecteur de longueur n et remplir avec des zéros?
+0

En plus du commentaire de Timo si vous pensez que la réponse n'a pas été fournie dans vos questions précédentes, veuillez ajouter un commentaire (s) disant ainsi et pourquoi. – Davorak

+0

Davorak, Vos réponses ont été fantastiques! J'ai finalement compris que je pouvais déboguer mma en n'utilisant d'abord pas la déclaration du module, le faire fonctionner et ensuite utiliser un module. Le module me donnait seulement une ligne orange sans bon diagnostic quand il y avait une erreur dans mon code. Après avoir supprimé le titre du module et travaillé de cette façon, les choses se sont bien améliorées - bons diagnostics, etc. Je disposais d'environ 20 versions de mon module lorsque j'ai contacté stackoverflow. J'avais besoin d'avoir la syntaxe correcte. Cette expérience a vraiment aidé. J'avais besoin d'arriver au point où je pourrais programmer rapidement. Merci. MM –

Répondre

3

En Mathematica, il n'y a pas de distinction entre les listes et les vecteurs. Vous pouvez utiliser la fonction Table pour générer une liste de longueur n:

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

Version 6.0 et inclure une nouvelle fonction ConstantArray pour faire exactement cela, et est plus efficace que l'utilisation Table:

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

Documentation ici:
http://reference.wolfram.com/mathematica/ref/ConstantArray.html

+1

J'expérimente depuis longtemps des listes dans Mathematica, et je pense que l'efficacité de 'ConstantArray' sur Table est due au fait qu'il est capable de pré-calculer et d'allouer la taille de la liste. Puisque 'Table' ne peut pas toujours le faire, il doit allouer comme il se passe. – rcollyer

Questions connexes