Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 2 odgovora
  • 2.924 pregleda

Najnovija ↓

Funkcija kao argument u Mathematici 25.05.2007. u 02:33 · pre 237 meseci #1
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?
Re: Funkcija kao argument u Mathematici 25.05.2007. u 10:07 · pre 236 meseci #2
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[])...
Potpis
Put the funk in funktion.
Re: Funkcija kao argument u Mathematici 11.06.2007. u 01:13 · pre 236 meseci #3
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.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme