Bizarre : mécanisme "Item-wise" vs. feval
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:
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:
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 |