Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 27/09/2009, à 22:15

gilbert

[octave] définir une fonction inline somme

salut,

j'aimerai bien définir sous octave une fonction inline basé sur une sommation du genre :

f = @(x) 1/1 * sin(2*pi*1*x) + 1/3 * sin(2*pi*3*x) + 1/5 * sin(2*pi*5*x) + ... + 1/99 * sin(2*pi*99*x)

Est-ce qu'il y a un moyen en définissant un vecteur pour mes entiers allant de 1 à 99 de définir cette fonction d'une façon plus concise ?

merci pour votre aide.


Simplement moi-même..

Hors ligne

#2 Le 28/09/2009, à 12:02

olsman037

Re : [octave] définir une fonction inline somme

Salut,

Tu fais les entiers de 1 à 99 ou que les impairs ?

en faisant une fonction f_.m

function f=f_(X,Y)
f=@(X) sum((1./Y) .* sin(2*pi.*Y.*X));

puis

Y=[1:99]; (ou Y=[1:2:99] si tu veux que impair)

f=f_(@X,Y)

Je ne sais pas si ça fait ce que tu veux mais ça peut te donner des idées, moi je suis sous matlab et normalement si ça marche sur matlab ca marche sous octave, par contre j'y connais rien en math donc je ne sais pas si la fonction définie correspond vraiment à celle que tu demande... il faut vérifier...

Dernière modification par olsman037 (Le 28/09/2009, à 12:04)


Sony Vaio VPC-SB1C5E, i7-2620M, 8Go, GPU AMD 6470M avec triple boot W7, Ubuntu 10.10 et Arch...
Galère les nouveaux sony sous linux!!!! (switch AMD/Intel, touchpad, ethernet,....)

Hors ligne

#3 Le 28/09/2009, à 18:26

gilbert

Re : [octave] définir une fonction inline somme

oui, la fonction que j'ai donné en exemple n'est là qu'à titre illustratif. Elle fonctionne avec les impairs. Si on la plot, ça doit donner un signal rectangulaire.. Mais là n'est pas vraiment mon problème..

alors j'ai fait ce que tu m'as indiqué et j'obtiens cela :

octave:2> f=f_(@X,Y)
error: error creating function handle "@X"
error: evaluating argument list element number 1
error: evaluating assignment expression near line 12, column 2

j'ai pourtant bien créé la fonction f_ dans le fichier f_.m :

octave:12> f_
ans =

@(X) sum ((1 ./ Y) .* sin (2 * pi .* Y .* X))

Simplement moi-même..

Hors ligne