Računamo z Mathematico

V tem zvezku najdete primere računov v Mathematici. Če želite izvedeti več o neki funkciji, postavite kurzor nanjo in pritisnite F1. Dokumenaticija vsebuje nadaljne primere in reference na sorodne funkcije.

Osnovno poenostavljanje izrazov

Osnovno računanje

2+2

10+30

2+2

Ulomki se okrajšajo sami:

16/60

(2^20000)

Računanje je eksaktno:

(Sqrt[2])

Nekatere definicije upošteva Mathematica samodejno:

Sin[x]/Cos [x]

Numerično računanje

Če želimo numerični približek, uporabimo funkcijo N:

N[(Sqrt[2]),1000]

N[Pi,1000]

Faktorizacija celih števil:

FactorInteger[2048023480293482309400]

FactorInteger[100]

Algebraični izrazi

Istovrstne monome matematika sešteje:

x+x+y+x+y+x

Vendar pa ne faktorizira ali odpravlja oklepajev:

(x^2)-(y^2)

V ta namen imamo posebne ukaze:

Factor[(x^2)-(y^2)]

Expand[(((x-y))^2)(((x+(y^2)))^4)]

Factor[2 (x^4)+7 (x^2) y-4 (x^3) y-14 x (y^2)+2 (x^2) (y^2)+7 (y^3)-(x^2) z+2 x y z-(y^2) z+6 (x^4) (z^2)+21 (x^2) y (z^2)-12 (x^3) y (z^2)-42 x (y^2) (z^2)+6 (x^2) (y^2) (z^2)+21 (y^3) (z^2)-3 (x^2) (z^3)+6 x y (z^3)-3 (y^2) (z^3)+6 (x^4) (z^4)+21 (x^2) y (z^4)-12 (x^3) y (z^4)-42 x (y^2) (z^4)+6 (x^2) (y^2) (z^4)+21 (y^3) (z^4)-3 (x^2) (z^5)+6 x y (z^5)-3 (y^2) (z^5)+2 (x^4) (z^6)+7 (x^2) y (z^6)-4 (x^3) y (z^6)-14 x (y^2) (z^6)+2 (x^2) (y^2) (z^6)+7 (y^3) (z^6)-(x^2) (z^7)+2 x y (z^7)-(y^2) (z^7)]

Pozor, zakaj ne deluje naslednji primer?

Factor[x^2+2xy+y^2]

Splošno poenostavljanje izrazov

Splošen ukaz za poenostavljanje je Simplify

Simplify[(1/(x^2))+(2/x)+1]

Takole združimo ulomke:

Together[(1/(x+1))+((x^2)/(1-(x^2)))-(1/(x-1))]

Pri poenostavljanju predpostavi, da so spremenljivke kompleksna števila:

Simplify[(Sqrt[(x^2)])]

FullSimplify je počasnejši, a močnejši od Simplify

FullSimplify[(Sqrt[(x^2)])]

Lahko mu podamo znane predpostavke o spremenljivkah:

FullSimplify[(Sqrt[(x^2)]),Assumptions->{x∈Reals}]

Še en način za podajanje predpostavk je Assuming:

Assuming[x ≥ 0, Simplify[(Sqrt[(x^2)])]]

Zmogljiv je tudi ukaz Reduce, ki izraz predela v logično ekvivalentno, a bolj enostavno obliko:

Reduce[Abs[3*x-7]+Abs[x]≤7,x,Reals]

Prepisovalna pravila in vzorci

Osnovni ukaz, s katerim en izraz zamenjamo z drugim je /. (ekvivalenten ReplaceAll):

a+(b^2)/.{b->(1+x)}

ReplaceAll[a+(b^2), {b->(1+x)}]

a+(b^2)/.{a->7,b->(1+x)}

a+(b^2)/.{a->b,b->a}

Splošno prepisovalno pravilo lahko uporabi vzorec. S podrčtajem označimo v vzorcu poljubni del izraza:

(a^2)+(b^2)+(((c+d))^2)/.{((x_)^2)->(((1+x))^3)}

Sin[2α+β]/.{Sin[x_+y_]->Sin[x]Cos[y]+Cos[x]Sin[y]}

Prepisovalna pravila so lahko bolj zapletena:

3*Sin[0.001]*Cos[π/13]+Sin[π/5]/.{Sin[α_]/;Abs[α]<(10^(-2))->α}

(a^2)+(b^3)+(c^4)/.{k_Integer->k+1}

{1,2,3,4,5,6}/.{{x_,xs___}->{xs,x}}

Defincije spremenljivk in funkcij

Takole definiramo spremenljivko:

a=5

Tako definiramo funkcijo. Podčrtaj pri x_ pomeni, da je x poljuben.

f[x_]:=(x^2)+13x-2

g[x_,y_]:=Sin[(Sqrt[(x^2)+3(y^2)])]

Funkcijo lahko uporabimo na dva načina:

f[3]

3 // f

Drugi način se pogosto uporablja za ukaze Simplify, Factor ipd., s katerimi manipuliramo izraze.

Simplify[((((x^2)-(y^2)))^2)+(((2x y))^2)]

((((x^2)-(y^2)))^2)+(((2x y))^2)//Simplify

((((x^2)-(y^2)))^2)+(((2x y))^2)//Simplify//Expand

Če pobrišemo definicijo spremenljivke ali funkcije, jo kernel pozabi:

ClearAll[a,f]

a

f[3]

Linearna algebra

a={{1,2,4},{1,3,9},{1,4,16}}

v={1,0,2}

Množenje matrike z vektorjem

a.v

Z MatrixForm lahko lepše prikažemo matriko:

a//MatrixForm

Transpose[a]//MatrixForm

Inverse[a]//MatrixForm

Det[a]

Eigenvalues[a]

Eigenvalues[a]//N

b=(({{Cos[t], -Sin[t], 0}, {Sin[t], Cos[t], 0}, {0, 0, y}}))

a.b//MatrixForm

Eigenvalues[b]

Eigenvectors[b]

Risanje grafov

Plot[Sin[x],{x,-5,5}]

Plot[{Sin[x],Sin[x]*Cos[50*x],Sin[-x]},{x,-5,5}]

f[x,y,opt->a,opt2->b]

RGBColor[1,0.5,0]

Plot[{Sin[x], -Sin[x],Sin[x]*Cos[16 x]},{x,-5,5},PlotStyle->{RGBColor[1,0,0],RGBColor[0,1,0],RGBColor[0.5,0.5,0.5]}]

Plot[{Sin[x], -Sin[x],Sin[x]*Cos[16 x]},{x,-5,5},PlotStyle->{RGBColor[1,0,0],RGBColor[0,1,0],RGBColor[0.5,0.5,0.5]},
AspectRatio->Automatic]

Plot[{Sin[x], -Sin[x],Sin[x]*Cos[16 x]},{x,-5,5},PlotStyle->{RGBColor[1,0,0],RGBColor[0,1,0],RGBColor[0.5,0.5,0.5]},
AspectRatio->1]

Plot[{Sin[x]*Cos[16 x],Sin[x],Sin[-x]},{x,-5,5},PlotStyle->{RGBColor[0.5,0.5,0.5],RGBColor[1,0,0],RGBColor[0,1,0]},
AspectRatio->Automatic]

Plot[{Sin[x]*Cos[16 x],Sin[x],Sin[-x]},{x,-5,5},PlotStyle->{{RGBColor[0.5,0.5,0.5],Dashed,Thin},RGBColor[1,0,0],RGBColor[0,1,0]},
AspectRatio->Automatic]

Table[(x^k),{k,0,10}]

Table[(i^2),{i,1,10}]

Table[1000*i+j,{i,1,5},{j,1,5}]

Table[1000*i+j,{i,1,5},{j,1,5}]//MatrixForm

Table[1000*i+j,{i,1,5},{j,1,i}]

Plot[Table[(x^k),{k,0,10}],{x,0,1}]

Table[RGBColor[k/10,0,(10-k)/10],{k,0,10}]

lst=Table[RGBColor[k/10,0,(10-k)/10],{k,0,10}]

funkcije=Table[(x^k),{k,0,10}]

Plot[{1,x,(x^2),(x^3),(x^4),(x^5),(x^6),(x^7),(x^8),(x^9),(x^10)},{x,0,1},PlotStyle->{,,,,,,,,,,}]

f[x_,y_]:=Sin[(x^2)+2(((y-x))^2)]+Cos[3 x+4y]

?f

f[1,a]

Plot3D[f[x,y],{x,-2,2},{y,-2,2}]

Plot3D[f[u,v],{u,-2,2},{v,-2,2},
Mesh->False,Boxed->False,Axes->None]

Plot3D[f[u,v],{u,-3,3},{v,-3,3},PlotPoints->50,ViewPoint->{0,0,100}]

DensityPlot[f[x,y],{x,-2,2},{y,-2,2}]

ContourPlot[f[x,y],{x,-2,2},{y,-2,2}]

ContourPlot[f[x,y]==0,{x,-2,2},{y,-2,2}]

ContourPlot[(x^2)+3x*y-3(y^2)-6x==0,{x,-10,10},{y,-10,10}]

ContourPlot[((((x^2)+(y^2)-1))^3)==4*(x^2)*(y^3),{x,-2,2},{y,-2,2}]

Plot3D[f[x,y],{x,-1,1},{y,-1,1}]

Grad[f[x,y],{x,y}]

VectorPlot[Evaluate@Grad[f[x,y],{x,y}],{x,-1,1},{y,-1,1}]

VectorPlot[{x,y},{x,-2,2},{y,-2,2}]

VectorPlot[{-y,x},{x,-2,2},{y,-2,2}]

pic=Plot3D[f[x,y],{x,-2,2},{y,-2,2},Mesh->False]

pic

Export["~/Desktop/pic.pdf",pic]

Export["~/Desktop/pic.gif",pic]

Export["~/Desktop/pic.jpg",pic]

Export["~/Desktop/pic.pdf",Plot[Sin[1/x]*(x^2),{x,-1,1}]]

Export["~/Desktop/pic.png",Plot[Sin[1/x]*(x^2),{x,-1,1}]]

Limite

Limit[x *Log[x],x->0]

Limit[(Sqrt[(x^2)-3x+1])-(Sqrt[(x^2)+7x+15]),x->∞]

Vsote

Sum[(2^k),{k,0,n}]

Sum[(k^2),{k,0,n}]

Sum[(1/(k^2)),{k,1,∞}]

Sum[((a-k)/(k^3)),{k,1,∞}]

Odvodi in integrali

D[Sin[x],x]

D[Sin[Exp[2(x^3)+7]/Log[x]],x]

D[f[x,y],y]

Integrate[Sin[x],x]

Integrate[(1/(1+(x^4))),x]

Integrate[(1/(1+(x^4))),{x,0,1}]

Integrate[((Sin[x])/x),{x,0,∞}]

Integrate[((Sin[x])/x),{x,1,2}]

NIntegrate[((Sin[x])/x),{x,1,2}]

NIntegrate[((Sin[x])/x),{x,1,2},WorkingPrecision->30]

Enačbe

Solve[(x^2)+x+1==0,x]

Solve[a (x^2)+b x+ c==0,x]

Solve[(x^5)+2x==1,x]

NSolve[(x^5)+2x==1,x]

Solve[{(x^2)+(y^2)==a,(x^2)-(y^2)==b},{x,y}]

(h=Table[1/(i+j),{i,1,10},{j,1,10}])//MatrixForm

w=LinearSolve[h,Table[1,{k,1,10}]]

h.w

Diferencialne enačbe

DSolve[{x''[t]+x[t]==0,x[0]==0,x'[0]==1},x[t],t]

DSolve[{x'[t]==Sin[t]+x[t]},x[t],t]

DSolve[{x''[t]+2x[t]==0,x[0]==0,x'[0]==1},x,t]

solution=First@NDSolve[{x''[t]+2x[t]==0,x[0]==0,x'[0]==1},x,{t,0,3}]

Plot[x[t]/.solution,{t,0,3}]

Potenčne vrste in aproksimacije

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

s=Series[(m/(((x-y))^2)),{x,0,5}]

Normal[s]

Series[(m/(((x-y))^2)),{x,∞,5}]

((Series[Sin[(x^2)],{x,0,6}])/(Series[(1/(x^2)),{x,0,6}]))