Bonjour !

Mon programme bugait pour certaines fonctions quand j'utilisais le mécanisme puissant "item-wise", générant des erreurs 9999 . J'ai réussi à reproduire ce qui me paraît être un bug ou à tout le moins un drôle de comportement.

Mes questions :
  • était-ce prévisible (par exemple item-wise réservé à certaines fonctions, autre façon d'écrire la fonction F2, ...)?
  • est-ce que je peux utiliser de manière sûre le mécanisme "item-wise" pour des fonctions, genre F(1:10), ou dois-je passer par l'écriture plus lourde avec feval(1:10,F) ?



Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
deff("y=F1(x)","y=x**2")
deff("y=F2(x)","y=1/x**2")
 
disp(F1(1:10),"F1(1:10):")
disp(F2(1:10),"F2(1:10):")
 
disp(feval(1:10,F1),"feval(1:10,F1):")
disp(feval(1:10,F2),"feval(1:10,F2):")

Résultat du programme :

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
19
20
21
22
23
24
F1(1:10):   
 
    1.    4.    9.    16.    25.    36.    49.    64.    81.    100.  
 
 F2(1:10):   
 
    0.00004  
    0.00016  
    0.00036  
    0.00063  
    0.00099  
    0.00142  
    0.00193  
    0.00253  
    0.00320  
    0.00395  
 
 feval(1:10,F1):   
 
    1.    4.    9.    16.    25.    36.    49.    64.    81.    100.  
 
 feval(1:10,F2):   
 
    1.    0.25    0.11111    0.0625    0.04    0.02778    0.02041    0.01563    0.01235    0.01