Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Funkcija kao argument u Mathematici

[es] :: Art of Programming :: Funkcija kao argument u Mathematici

[ Pregleda: 2193 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

adnanK
Sarajevo

Član broj: 146055
Poruke: 31
*.sa-ma.dlp173.bih.net.ba.



Profil

icon Funkcija kao argument u Mathematici25.05.2007. u 01:33 - pre 205 meseci
Mozda nije pravo mjesto za ovo pitanje, ali nisam skontao bolje ;) Zna li neko kako da u Mathematici posaljem funkciju kao argument nekoj drugoj funkciji?

Da objasnim:

neka je zadan neki izraz npr.

x2+Cos[2*x]


ja hocu da napisem funkciju:

MojaFunkcija[f_]=Module[{},
Return[ f[2*x] ]
];


kojoj mogu dati prethodni izraz kao parametar:

MojaFunkcija[x2+Cos[2*x]]


ili da je mogu pozvati na ovaj nacin

f[x_]=x2+Cos[2*x];
MojaFunkcija[f];


tj. mora moci i prvi i drugi nacin. Zna li neko kako se ovo moze implementirati?
 
Odgovor na temu

cynique
Ivan Štambuk
Zagreb@Croatia

Član broj: 93690
Poruke: 155
*.cmu.carnet.hr.

ICQ: 106979934
Sajt: istambuk.blogspot.com


Profil

icon Re: Funkcija kao argument u Mathematici25.05.2007. u 09:07 - pre 205 meseci
Mathematica nativno podržava funkcije višeg reda (high-order fje, first-class fje). Nemam Mathematicu instaliranu pri sebi, ali ovako bi nešto trebalo raditi:

Code:

MojaFunkcija[f_] := Module[{
  duplo
 },
  duplo[x_] := f[2*x];
  duplo
]


ili kraće preko lambda izraza:
Code:
MojaFunkcija[f_] := Function[{x}, f[2*x]]


Izraz bi mogao prenijeti kao parametar enkapsulirajući ga u fju koristeći lambda apstrakciju (preko Function[])...

 
Odgovor na temu

adnanK
Sarajevo

Član broj: 146055
Poruke: 31
*.sa-ma.dlp346.bih.net.ba.



Profil

icon Re: Funkcija kao argument u Mathematici11.06.2007. u 00:13 - pre 205 meseci
Prvi nacin ne radi bas dobro uvijek (ako hocu da kao argument dajem i izraz i vec definisanu funkciju), ali uz ideju iz drugog prijedloga sam uspio nesto napraviti: definisao sam funkciju sa razlicitim brojem argumenata i to:

Code:

MojaFukcija[izraz_, argument_]:=MojaFunkcija[Function[argument, izraz]]

MojaFunkcija[funkcija_]:=Module[{},
funkcija[bilo_sta]]


Mislim da je ovo i najbolji nacin.
 
Odgovor na temu

[es] :: Art of Programming :: Funkcija kao argument u Mathematici

[ Pregleda: 2193 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.