Error 15 scilab

Fermé
i - Modifié par baladur13 le 17/12/2016 à 14:28
 yamarashi - 19 déc. 2016 à 14:38
bonjour,
j'ai un programme à faire sur scilab :
écrire une fonction qui prend en argument un entier naturel n et qui renvoie le polynôme P(n) tel que
P(0) = 2
P(1) = X
P(n+2)=X*P(n+1) - P(n)
Chaque polynôme est représenté comme la liste de ces coefficients. Par exemple le polynôme X^3 + 3X^2 - 7 correspond à la liste [-7,0,3,1]
je l'ai fait mais il me met error 15, voici le programme :

function g=suiteP(n)
    P(1)=[2]
    P(2)=[0,1]
    for k=1:n-2
        P(k+2)=[0,P(k+1)]-[P(k),0,0]
    end
    g=P(k+2)
endfunction


le message d'erreur est le suivant :

-->suiteP(3)
!--error 15
La sous-matrice n'est pas correctement définie.
at line 3 of function suiteP called by :
suiteP(3)

je ne comprend pas ce qui ne vas pas, merci d'avance pour vos réponses.

2 réponses

1 function g=suiteP(n)
2 P(1)=[2]
3 P(2)=[0,1]
4 for k=1:n-2
5 P(k+2)=[0,P(k+1)]-[P(k),0,0]
6 end
7 g=P(k+2)
8 endfunction

Ton probleme est la ligne 5:
- les deux vecteurs n'ont pas la meme dimension!
0
Le problème n'était pas celui la j'avais déjà essayer en changeant la taille. J'ai trouver le problème c'est le fait que les matrices soient définies par P(n) j'ai donc changer le programme ce qui donne :

function g=suiteP(n)
A=[2]
B=[0,1]
for k=1:n-2
C=[0,B]-[A,0,0]
A=B
B=C
end
g=C
endfunction
0