Újdonságok, érdekességek

Ami tetszett, nincs benne rendszer.

Globális minimalizálás

Clear[a,f];a=Reverse/@Distribute[{{-32,-16,0,16,32},{-32,-16,0,16,32}},List];f=1/(0.002+Plus@@MapIndexed[1/(#2[[1]]+Plus@@(({x,y}-#1)^6))&,a]);Plot3D[f,{x,-50,50},{y,-50,50},Mesh->None,PlotPoints->25]

f[x,y]

Do[Print[NMinimize[f,{{x,-50,50},{y,-50,50}},Method->{"NelderMead","RandomSeed"->i}]],{i,5}]

TableForm[Table[NMinimize[f,{{x,-50,50},{y,-50,50}},Method->{"NelderMead","RandomSeed"->i}],{i,5}],TableHeadings->{Range[5],{"minval","argmin"}},TableAlignments->{Right,Right,Right}]

Do[Print[NMinimize[f,{{x,-50,50},{y,-50,50}},Method->{"NelderMead","ShrinkRatio"->0.95,"ContractRatio"->0.95,"ReflectRatio"->2,"RandomSeed"->i}]],{i,5}]

Adatfeltárás (Exploratory Data Analysis)

Távolság- és különbözőségmértékek

FindClusters[{1,2,10,12,3,1,13,25}]

FindClusters[{1,2,10,12,3,1,13,25},4]

Framed[Column[#]]&/@FindClusters[DictionaryLookup["ax"~~__],20]

Automatikus tételbizonyítás

FullSimplify[(Subscript[∀, x])(x·e==x∧a·(OverBar[a])==e), (Subscript[∀, {x,y,z}])(x·(y·z)==(x·y)·z∧e·x==x∧(OverBar[x])·x==e)]

FullSimplify[a∘b == b∘a, (Subscript[∀, {p,q,r}])((p∘q)∘r)∘(p∘((p∘r)∘p))==r]

Analízis

Feladat

Legyen ds olyan függvény, amely képes globális alakban megadott differenciálegyenletek megoldására.

ds[x'==(x^2),x]

eredménye ugyanaz legyen, mint ezé:

DSolve[{x'[t]==((x[t])^2)},x,t]

Feladat

Feladat, bugár?

Speciális függvények

Series[BesselJ[0,x],{x,0,10}]

DSolve[{z'[x]==(x^2)+((z[x])^2)},z[x],x]//FullSimplify

{{z[x]->((x (-BesselJ[-(3/4),((x^2)/2)]+BesselJ[(3/4),((x^2)/2)] C[1]))/(BesselJ[(1/4),((x^2)/2)]+BesselJ[-(1/4),((x^2)/2)] C[1]))}}

Differenciálegyenletek

St. Etienne-ből

DSolve[{y''[x]+(a+b (E^(c x)))y'[x]+d y[x]==0},y[x],x]

Stirling

GeneratorForStirlingS1[x_,y_] = FullSimplify[u[x, y] /.DSolve[{(1-x)D[u[x,y],x]==y u[x, y],u[0, y]==1},u, {x,y}][[1]], 
   x>=0 && y>=0]

SeriesCoefficient[Series[GeneratorForStirlingS1[x,y],{x,0,10},{y,0,4}],{10,4}]10!

StirlingS1[10,4]

Statisztika

Hyperlink[stat,"http://reference.wolfram.com/mathematica/guide/DescriptiveStatistics.html"]

Egy példa - GhorbanMTabrizUniv

Data={54.41,52.79,52.13,49.63,49.42,48.13,47.87,
47.79,46.06,45.95,45.90,45.84,44.82,43.66,43.36,
42.63,42.06,41.15,41.05,40.47,40.43,40.42,40.00,
39.14,38.80,38.37,37.83,37.78,35.45,35.20,34.95,
34.04,33.40,33.27,33.03,32.20,29.88,29.43};

<<Histograms`

Histogram[Data]

Cases[Data,y_?(#<50&)]

cc[x_]:=((Length[Cases[Data,y_?(#<x&)]])/(Length[Data]))

dist=NormalDistribution[Mean[Data],StandardDeviation[Data]]

Plot[cc[x],{x,0,60}]

Plot[cc[InverseCDF[dist,q]],{q,0,1}]

Adatok, adatbázisok

Az egész világ egy nb.

Pénzügyi adatok

Dow-Jones index, amióta ismert:

ListLogPlot[Reverse[Sort[Select[Quiet[FinancialData[{#,"USD"}]&/@FinancialData["Currencies"]],NumericQ]]],Filling->Axis,Joined->True]

DateListPlot[{#1,Log[10,#2]}&@@@FinancialData["^DJI",All],Joined->True,Filling->Bottom]

FinancialData["Currencies"]

Szótár

WordData["fish","Definitions"]

Kémiai adatok

ChemicalData["Caffeine","MoleculePlot"]

ChemicalData["Caffeine","MolecularWeight"]

Gráfok adatai

GraphData["PappusGraph","AllImages"]

Adatformátumok

g=Import["ExampleData/ocelot.jpg"]

Shallow[InputForm[g]]

Take[InputForm[g][[1,1]],-3]

ColorFunction -> GrayLevel

Graphics[g/.GrayLevel->Hue]

d=g[[1,1]];

ListPlot[Sort[Flatten[d]],PlotLabel->"A pixelek eloszlása"]

Graphics[Raster[(d^2.9)/Max[(d^3)]]]

Graphics[Raster[(d^5)/Max[(d^4)]]]

rozsa=Import["ExampleData/rose.gif"]

Import["ExampleData/rose.gif","Elements"]

Import["ExampleData/rose.gif","ImageSize"]

ListPlot[Sort[Flatten[r=rozsa[[1,1]]]],PlotLabel->"A pixelek eloszlása"]

Graphics[Raster[(r^5)/Max[(r^4)]]]

EXCEL!!!

Feladat:

ColorFunction, Hue

Kapcsolat az Internethez

For example, the Import function can read from a URL, and the Web Services Link can load and call standard web services. Mathematica 6 supports a major new innovation called "paclets", which are units of functionality that can be updated on demand via the internet.

Régiségek

Programozásról

Apróságok

Ctrl+L, Ctrl+.

Feladat

Ctrl (* kurzor helye az ábrán?*)

Tiltott, tűrt és támogatott függvények

Külön engedéllyel használható szavak listája

Az alábbi szavak használatához külön engedély kell (aki ,,tud" programozni, az különösen veszélyeztetett):

* Goto és Label (az engedélyt nem fogom megadni)
    * Break
    * Continue
    * Do
    * For
    * Length
    * Print
    * Return

Jól gondolja meg azt is valaki, hogy a Table vagy a Length függvényre van-e szüksége. Ezek helyett funkcionális programozási struktúrákat, mintaillesztést, listakezelést, akármit használhatunk, de nem szedünk szét egy matematikai objektumot elemeire azért, hogy azután összerakjuk, hasonlóan (de szigorúbban, mert lehet és mert érdemes) ahhoz, ahogyan lineáris algebrában amíg lehet, nem használunk koordinátákat.

Írjon progamot, amely a FactorInteger függvény eredményéből előállítja a bemenetet, azaz az argumentumot! Több megoldás, ha lehet, de szép legyen!

1. megoldás

szam=FactorInteger[120]
megoldas=1;
For[i=1,i≤Length[szam],i++,megoldas=megoldas*((szam[[i,1]])^(szam[[i,2]]))]
Print[megoldas]

2. megoldás

szam=FactorInteger[120]
megoldas=1
i=1;While[i≤Length[szam],megoldas=megoldas*((szam[[i,1]])^(szam[[i,2]]));i++];Print[megoldas]

3. megoldás

szam=FactorInteger[120]
hatvany[a_,b_]:=(a^b)
(∏_(i=1)^(Length[szam]))hatvany[szam[[i,1]],szam[[i,2]]]

4. megoldás

szam=FactorInteger[120]
hatvany[a_,b_]:=(a^b)
megoldas=1
For[i=1, i≤Length[szam],i++,megoldas =megoldas*hatvany[szam[[i,1]],szam[[i,2]]]]
Print[megoldas]

5. megoldás

(∏_(i=1)^(Length[l]))Det[DiagonalMatrix[Table[l[[i,1]],{j,1,l[[i,2]]}]]]

FactorInteger[(2^163)-1]

φ=FactorInteger[180]

6. megoldás

l={{2,3},{3,1},{5,1}};
i=1;
k=1;
Do[k=k* ((l[[i,1]])^(l[[i,2]])),{i,1,Length[l],1}];k

Bajok: gyűjtőrekesz, ciklusváltozó, Length és Print. Egyik se kell.

ClearAll[a,b,c,d,e,f];
(({a,b,c})^d)

(a^({d,e,f}))

(({a,b,c})^({d,e,f}))

Times[a,b]

FullForm[{(a^d),(b^e),(c^f)}]

Apply[Times,{(a^d),(b^e),(c^f)}]

φ=FactorInteger[(2^163)-1]

Transpose[φ]

Apply[Times,((Transpose[φ][[1]])^(Transpose[φ][[2]]))]

Log[2,%+1]

Mandelbrot

mandelbrot=Compile[{x,y,lim},Module[{z,ct=0},
z=x+I y;
While[Abs[z]<2.0∧ct<lim,z=z^2+(x+I y);++ct];ct]
];
Timing[DensityPlot[-mandelbrot[x,y,50],{x,-2.,1.},{y,-1.5,1.5},PlotPoints->50,Mesh->False,ColorFunction->"SunsetColors"]]

Iteráció, rekurzió

NestList[ff,(Subscript[x, 0]),3]

NestList[ff,(Subscript[x, 0]),3]

FixedPointList[Cos,1.0]

{a,b,c,a,c}/.{a->2}

ReplaceAll[{a,b,c,a,c},{a->2}]

rules={Log[x_ y_]:>Log[x]+Log[y],Log[x_^k_]:>k Log[x]};

Log[Sqrt[a(b c^d)^e]]//.rules

?ReplaceRepeated

1.//.x_->Cos[x]

Listakezelés

ClearAll[g,s,d,e];
Map[g,{s,d,e}]

ClearAll[mymap,s,d,e];
mymap[f_,l_List]:=mymap[f,{},l]

mymap[gg,{s,d,e}]

mymap[f_,{x___},{y_,z___}]:=mymap[f,{x,f[y]},{z}]

mymap[gg,{s,d,e}]

mymap[_,l_,{}]:=l

mymap[gg,{s,d,e}]

Hány sort lehet leírni egy nap? 
Akkor milyen sorokat érdemes leírni?

Bevezetés az animációhoz és manipulációkhoz

Manipuláció

Manipulate[∫(x^n)\[DifferentialD]x,{n,-2,3,1}]

A diffúzió megmutatása

ClearAll[f,x,m,t,σ];f[x_,m_,σ_]:=(1/((Sqrt[2π])σ))(E^(-((((x-m))^2)/(2(σ^2)))))
Animate[ParametricPlot3D[{t,x,f[x,1,2t]},{x,0,2},PlotRange->{{0.2,.5},{0,2},{0,1}},BoxRatios->{1,1,1},PlotStyle->{Green, Thickness[0.02Sin[32t]]},AxesLabel->{"t",x,f}],{t,0.2,.5}]

Végetelen sok demo, szépek, érdekesek

Hyperlink["Kabai Sándor, egyelőre 151-szer","http://demonstrations.wolfram.com/search.html?query=Kabai&imageField.x=0&imageField.y=0&limit=20"]

Információ

Az érdeklõdõ olvasó számára szeretnénk még további segítséget nyújtani. Az általános iskola és a középiskola közötti átmenetet segíti a nemzetközi összefogással készült kilencnyelvű

Hyperlink["Matematikai fogalomtár","http://mbuttons.bolyai.hu/"]

Megmégezis:

Hyperlink["Speciális függvények","http://functions.wolfram.com"]

Jó kiegészítõ a magyar

Hyperlink["Angol Wiki","http://hu.wikipedia.org/wiki/Kezdõlap"]

és az angol

Hyperlink["Magyar Wiki","http://en.wikipedia.org/wiki/Main\_Page"]

nyelvű wikipédia is. Egyértelműen felsõfokú értelmezõ szótárként használható az Eric Weisstein által szerkesztett lap:

Hyperlink["Lexikon: Eric Weisstein","http://mathworld.wolfram.com"]

Michiel Hazewinkel a szerkesztője a Springer által a legkülönbözőbb formában megjelentetett, Encyclopaedia of Mathematics című -- eredetileg orosz nyelvû, ötkötetes -- kiadványnak, amely szintén felsőfokú:

Hyperlink["De: Math. enciklopédia is van","http://eom.springer.de"]

Magunk is jól hasznosítottuk, ezért talán az olvasónak is hasznára válhat az alábbi néhány szótár:

Hyperlink["rengeteg angol egynyelvû szótár egy helyen","http://www.onelook.com/"]

egy félkész, de sok szót tartalmazó angol-magyar és magyar-angol szótár:

Hyperlink["félkész","http://mek.oszk.hu/00000/00076/html/index.htm"]

Hyperlink["idegen szavak szótára (Magyarító könyvecske)","http://www.net.klte.hu/{\mytilde}keresofi/mke/r.htm"]

és természetesen mindenek előtt a SZTAKI szintén nem tökéletes, de nagyon hasznos soknyelvű szótára:

Hyperlink["SZTAKI","http://szotar.sztaki.hu/index.hu.jhtml"]

És mindenek után, de Vecsei Balázs előtt:

Hyperlink["Mathematica TJ","http://www.math.bme.hu/~jtoth/Mathematica/Mathematica.html"]