Bonjour,
D'une manière générale :
- Exécute le programme ligne à ligne pour voir ce qui fonctionne et si les variables prennent les valeurs attendues ;
- Lis et comprend les messages d'erreur renvoyés par matlab, ils sont généralement relativement clairs et instructifs.
Cela devrait te permettre de trouver pourquoi (ou au moins où) ton programme plante.
Plus spécifiquement :
- la ligne "E{1}=0 ;" fait que E{1} est ré-initialisée à chaque itération de la boucle for (i.e. pour chaque valeur de i), la boucle for est donc inutile et le résultat final ne dépend que de ce qui se passe pour i=length(v)
- pour donner à une variable chien la valeur de la somme cumulée des i premiers éléments de p, on peut faire :
chien = sum(p(1:i))
ou : tempVariable = cumsum(p); chien = tempVariable(i) ;
- en écrivant E{1}=i, tu mets dans E{1} la valeur de la variable i, c'est à dire 1, 2...
- pour mettre dans E{1} le kième élément de p, il faut faire E{1}(k)=p(k) ;
- tu as deux boucles imbriquées, chacune devrait avoir une variable de boucle différente : i pour la for et, par exemple k pour la while.
Partager