Bonjour, j'utilise SCILAB pour chercher à déterminer l'équation qui caractérise un jeu de données. Voici le petit morceau de code que j'ai écrit :
Dans ce code les fichiers .dat sont en colonne, la variable t est stockée dans 't.dat', ses valeurs vont de 1 à 8784. Lors de l'exécution, j'obtiens une semble t'il "classique" erreur 21 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 M=fscanfMat('total_simple.dat'); fxm=M T=fscanfMat('temp_pond.dat') tm=fscanfMat('t.dat') m=8784 x0=[0;0;0;0;0;0;0;0] wm=ones(m,1) function fx=f(t,x); fx=x(1)*sin((2*%pi*t/24)+x(2))+x(3)*sin((2*%pi*t/12)+x(4))+x(5)*sin((2*%pi*t/168)+x(6))+x(7)(1+x(8)*T(t))-M(t) endfunction function e = myfun(x,tm,fxm,wm) e=wm.*(f(tm,x)-fxm) endfunction [fopt,xopt,gropt]=leastsq(list(myfun,tm,fxm,wm),x0)
Mais je n'arrive pas vraiment à déterminer d'où vient le problème.
!--error 21
Index invalide.
at line 2 of function f called by :
at line 2 of function fn called by :
at line 2 of function %opt called by :
at line 92 of function leastsq called by :
[fopt,xopt,gropt]=leastsq(list(myfun,tm,fxm,wm),x0)
at line 17 of exec file called by :
Quelqu'un serait'il susceptible de m'aider ?
Merci d'avance.
Partager