Tiszta függvények

h = Function[x, x^2]

h[zs]

Plot[h[t], {t, 0, 1}]

h1 = Function[{x, y}, x^2 + y^3]

h1[a, b]

h2 = (#^2) &

{h2[1], h2[Range[5]], h2'[t], h2'}

m = ((#1 #2 #3)^(1/3)) &

m[a, b, c]

hh[##] &[1, 2, 3, 4]

hh[##2] &[1, 2, 3, 4]

mm = Apply[Times, {##}]^(1/Length[{##}]) &

mm[a, b, c, d, e]

mm[a, b]

Select[
      Range[100], (Mod[#, 3] == 1  &&  PrimeQ[#]) &]

Select[
      Range[10000, 
        99999], (Mod[#, 7] == 
              0  &&  IntegerDigits[#][[1]] == IntegerDigits[#][[-1]]) &]

Iterációk

Nest[f, x, 3]

\(a = Nest[\((#1 + 1. \/#1)\) &, 1, #] &\)

Map[a, Range[0, 50]]

ListPlot[%]

NestList[f, x, 5]

\(NestList[\((#1 + 1. \/#1)\) &, 1, 50]\)

NestList[D[#, x] &, x^n, 4]

ListPlot[{Re[#], Im[#]} & /@ 
          NestList[Log, 1.  + I, 12], AspectRatio -> Automatic, 
        PlotJoined -> True, PlotRange -> All];

Nest[(# + 2. /#)/2 &, 3, 10]

NestList[(# + 2. /#)/2 &, 3, 10]

FixedPoint[(# + 2. /#)/2 &, 3]

FixedPointList[(# + 2. /#)/2 &, 3]

FixedPoint[N[Cos[#]] &, 0]

Cos[%]

FixedPointList[N[Cos[#]] &, 0]

Clear[f, a]

Fold[f, x, {a, b, c, d, e}]

fac[n_] := Fold[Times, 1, Range[n]]

fac[5]

Fold[#1  x + #2 &, 0, {a, b, c, d, e}]

horner[l_List, x_] := Fold[#1  x + #2 &, 0, Reverse[l]]

horner[{1, -1, 1, -1}, x]

CoefficientList[Expand[(1 - x) (1 + x^2) (2 - x)], 
      x]

horner[%, 2]

FoldList[f, x, {a, b, c, d, e}]

\(MandelbrotFunction[
        c_Complex] := \(-Length[
          NestWhileList[#\^2 + c\  &, c, \((Abs[#] < 2.0\  &)\), 1, 
            50]]\)\)

\(NestWhileList[#\^2 + 1\  &, 1, \((Abs[#] < 2.0\  &)\), 1, 
      50]\)

\(NestWhileList[#\^2 +  .5 &,  .5, \((Abs[#] < 2.0\  &)\), 1, 
      50]\)

DensityPlot[
      MandelbrotFunction[x + y I], {x, -2, 0.5}, {y, -1, 1}, 
      Mesh -> False, AspectRatio -> Automatic, Frame -> False, 
      PlotPoints -> 125]

Órai feladatok

1. Írjunk fv-t, ami egy beadott valós polinomra kirajzolja a gyököket a komplex számsíkon!

2. Határozzuk meg a \(TraditionalForm\`1\/\(1 + 1\/\(1 + 1\/\(\(\(1\)\(+\)\) ... \)\)\)\)lánctört értékét a Mathematica-val, ha 20 emelet van. Mi a végtelen lánctört értéke?

3. Készítsünk a Fibonacci számokra egysoros, Nest-et és tiszta fv-t felhasználó fv-t. (Generáljuk az {F_n, F_(n+1)} vektorsorozatot, és vesszük az eredmény első elemét)

4. Írjunk fv-t, ami egy beadott listából elkészíti a hozzátartozó lánctörtet. ({a,b,c,d}→a + (1/(b + (1/(c + (1/d))))))  
Készítsük el az inverzfv-t is, azaz azt, ami egy adott számból elkészíti a lánctört közelítését (k emeletig).

Házi feladatok

1. Legyen n adott, és f(x)=x+((x^2)/n). Jelölje g(n,x) az  f(f(f(...f(x)...))) függvényt (n-szeres kompozíció). Hova tart g(n,x0), ha n tart a végtelenbe  (x0 adott 1-nél kisebb absz. értékű szám) ?
Írjunk a Mathematica segítségével függvényeket (használjuk a Nest fv-t, és tiszta fv-eket), ábrázoljuk g(n,x0)-t x0 függvényében n=5,10,20...-ra, esetleg konkrét x0-kra nézzük meg a számértékeket. Próbáljuk megsejteni a végeredményt. 
(Segítség: a g(n,x) sorozat egy differenciálegyenlet egyre jobban közelítő megoldását adja a [0,1] intervallumon, pontosabban a megoldás értékét az 1 pontban. Próbáljuk meg kitalálni a diffegyenletet g képzési szabályából, oldjuk meg (Mathematica-val...), és egyeztessük a kisérleti eredményekkel. )

2. Egy mezőn nyulak és rókák élnek, a populációk nagyságét az Ny[t] és az R[t] függvények írják le az idő fv-ében (az egység 100, t években van megadva, de ez mind nem fontos...). Egy egyszerű model szerint az egyes fajok létszáma a következő szabály szerint változik: R'[t]=(Ny[t]-1)R[t] (a rókák kihalnak, ha nincs elég nyúl, ha van elég akkor nő a számuk) ill. Ny'[t]=(2-R[t])Ny[t] (a nyulak kihalnak, ha sok a róka, egyébként szaporodnak, "mint a nyulak"). Mi történik, ha kezdetben R[0]=2, Ny[0]=2 (azaz 200-200 állat volt), ábrázoljuk a populációk alakulását 0<t<10-re! (Használjuk az NDSolve fv-t, és utána  a Plot segítségével ábrázoljuk egyszerre a két fv-t.)

3.   Határozzuk meg a \(TraditionalForm\`\@\(1 + \@\(1 + \@\(1 + \@\(1 + \@\(\(\(1\)\(+\)\) ... \)\)\)\)\)\) kifejezés numerikus (estleg pontos...) értékét.

Figyelem! A házi dolgozat leadásának határideje május 6. !!!