Mathematica (II)
1998/05/01 Angulo, Patxi | Lazkano, Elena Iturria: Elhuyar aldizkaria
• Enuntziatua
Praktikaren helburua ekuazio baten soluzio konplexuak irudikatzea izango da.
• Ebazpenaren urratsak
Lehendabizi, ekuazioa ebatziko dugu. Soluzioak adierazpide binomikoan kalkulatuko ditugu. Planoko puntu bezala adierazteko soluzioen zati erreala eta irudikaria erabiliko ditugu, zati erreala lehenengo osagaia eta zati irudikaria bigarren osagaia izango dira. Gero, soluzioei dagozkien planoko puntuak irudikatuko ditugu.
• Erabiliko diren aginduak
Solve: ekuazioak ebazteko agindua da.
Re,Im: zenbaki konplexuen zati erreala eta irudikaria, hurrenez hurren.
Table: taula bat sortzen du, bere osagaiak adierazten zaizkion modukoak izango direlarik.
Length: ilara baten luzera itzuliko du.
/.: ezkerreko espresioari eskuinean adierazten zaion erregela edo erregela-multzoa aplikatuko dio.
/@: ezkerrean adierazitako agindua aplikatuko dio eskuineko elementu edo zerrendari. Graphics: ematen zaion datua irudika daitekeen elementu bihurtuko du.
Point: bi edo hiru elementuko zerrendak plano edo espazioko puntu bati egokituko dizkio.
RGBColor: grafiko baten irudiari kolorea ematen dio.
PointSize: puntuak irudian edukiko duen tamaina da.
Show: osagai grafikoak bistaratuko ditu.
Axes: grafikoen ardatzak irudikatu ala ez adierazteko ezaugarria da.
AspecRatio: grafikoaren ardatzen arteko proportzioa adierazteko ezaugarria da.
• Ebazpena Mathematica-ren bidez
guresolve[ek_,ald_]:= solukoord[ald/.Solve[ek,ald]]
solukoord[em_]:= Table[{Re[em[[ i]] ], Im[em[[ i]] ]}, {i, Length[em]}]
soluirudikatu[ek_,ald_]:= Show[Graphics[{RGBColor[1,0,0], PointSize[0.025], Point/@guresolve[ek,ald]}], AxesÆTrue,
AspectRatioÆAutomatic]
• Iruzkinak
Solve -k ekuazioaren soluzioak adierazpide binomikoan jartzen ditu eta guk modu erosoan erabiltzeko formatua moldatu beharko dugu.
Lehenengo, /. erabiliko dugu soluzioen zerrendako z-solu erregela bakoitzaren eskuinaldea bakarrik gordetzeko (solu), hau da, soluzioen zerrenda lortzeko.
Ondoren, soluzio bakoitzaren koordenatuak kalkulatu beharko dira, hots, soluzio bakoitzaren zati erreala eta irudikaria, Mathematica -ren Re eta Im funtzioen bidez. Gero, bikote bakoitza planoko puntu bihurtu beharko da (Point, /@) eta osagai grafiko moduan definitu (Graphics) . Azkenik, Show aginduaren bidez puntuak irudikatuko ditugu nahi ditugun ezaugarriekin (PointSize, Axes, AspectRatio eta RGBColor).
• Adibidea
guresolve[z8 + 11z5 - z2 == 0, z]
soluirudikatu[z8 + 11z5 - z2 == 0, z]
-Graphics-
• Enuntziatua
Batez besteko balioaren teoremaren adierazpen geometrikoa egingo dugu. Funtzio bat emanik, batez besteko balioak kalkulatuko ditugu eta dagozkien ukitzailea irudikatu.
• Ebazpenaren urratsak
Batez besteko balioaren teorema:
f(x) jarraia bada [a,b] tartean eta deribagarria (a,b) tartean, f(b)-f(a)=f´(c)(b-a) beteko da, cŒ(a,b) izanik.
Lehendabizi, teoremaren adierazpena idatzi eta ebatziko dugu. Ondoren, soluzioetatik tartearen barnean ez daudenak baztertuko ditugu. Gero, batez besteko balioei dagozkien ukitzaileen ekuazioak idatziko ditugu. Azkenik, funtzioa, (a,f(a)) eta (b,f(b)) puntuen arteko korda, ukitzaileak eta (c,f(c)) puntuak irudikatuko ditugu.
• Erabiliko diren aginduak
Solve: ekuazioak ebazteko agindua da.
Table: taula bat sortzen du, bere osagaiak adierazten zaizkion modukoak izango direlarik.
Length: ilara baten luzera itzuliko du.
/.: ezkerreko espresioari eskuinean adierazten zaion erregela edo erregela-multzoa aplikatuko dio.
/@: ezkerrean adierazitako agindua aplikatuko dio eskuineko elementu edo zerrendari.
Apply (edo @@): lehenengo osagaian agertzen den funtzioa bigarrenari aplikatuko dio. Bigarrena zerrenden zerrenda baldin bada, funtzioa aplikatu behar den sakonera ere adieraziko da.
Select: zerrenda batetik emandako baldintza betetzen duten osagaiak hautatuko ditu.
Graphics: ematen zaion datua irudika daitekeen elementu bihurtuko du.
Point: bi edo hiru elementuko zerrendak plano edo espazioko puntu bati egokituko dizkio.
Line: planoko bi puntuen arteko zuzenkia definitzen du.
RGBColor: grafiko baten irudiari kolorea ematen dio.
PointSize: puntuak irudian edukiko duen tamaina da.
Show: osagai grafikoak bistaratuko ditu.
Axes: grafikoen ardatzak irudikatu ala ez adierazteko ezaugarria da.
AspecRatio: grafikoaren ardatzen arteko proportzioa adierazteko ezaugarria da.
DisplayFunction: grafikoa bistaratu edo ez egiteko aukera da.
• Ebazpena Mathematica-ren bidez
ffun[a_,b_]:= Plot[f[x], {x,a,b}, DisplayFunctionÆIdentity, AspectRatioÆAutomatic, PlotRangeÆAll, Axes- True]
fkorda[a_,b_]:= Graphics[{RGBColor[0,1,0], Line[{{a,f[a]},{b,f[b]}}]}, AspectRatioÆAutomatic,
PlotRangeÆAll, AxesÆTrue]
fsolu[a_,b_]:= Select[Select[x/.Solve[f[b]-f[a]==f’[x](b-a), x], #1 a ], #1 b ]
u[x_,fs_]:= Table[f[fs[[i]]]+f’[fs[[i]]](x-fs[[i]]), {i,1,Length[fs]}]
fukiak[x_,a_,b_,fs_]:= Table[Apply[Plot, {{u[x,fs][[i]], {x,a,b},
PlotStyleÆRGBColor[1-i/Length[fs],0,i/Length[fs]],
AspectRatioÆAutomatic, PlotRangeÆAll, AxesÆTrue, DisplayFunctionÆIdentity}},{1}], {i,1,Length[fs]}]
fbbb[fs_]:= Graphics[Table[{RGBColor[1-i/Length[fs],0,i/Length[fs]], PointSize[0.05], Point/@{{fs[[i]],f[fs[[i]]]}}}, {i,1,Length[fs]}]]
fbbt[a_,b_]:= Show[ffun[a,b], fkorda[a,b], fukiak[x,a,b,fsolu[a,b]], fbbb[fsolu[a,b]], DisplayFunction: $DisplayFunction, AspectRatioÆAutomatic, PlotRangeÆAll, AxesÆTrue]
• Iruzkinak
Funtzioa parametro moduan ez pasatzearren, suposatu dugu funtzioa f[x] bezala aurredefinitua dagoela. Teoremak ematen digun berdintzatik batez besteko balioak atera ditugu Solve -ren bidez. Lehenengo, /. erabili dugu soluzioen zerrendako z-solu erregela bakoitzaren eskuinaldea bakarrik gordetzeko (solu), hau da, soluzioen zerrenda lortzeko. Ondoren, Select -en bidez (a,b) tartean dauden elementuak bakarrik gorde ditugu. Hori guztia egiteko fsolu funtzioa definitu dugu. Gero, ukitzaileen ekuazioak idatzi ditugu Table aginduaren laguntzarekin. Jarraian, ukitzaileen irudiak egingo dituen funtzioa definitu dugu, fukiak , baina irudiak bistaratu gabe (DisplayFunction-Identity). Hurrengo urratsa, (c,f(c)) puntuak objektu grafiko moduan definitzea izan da. Eta bukatzeko, guztiak grafiko berean irudikatzen dituen funtzioa definitu dugu. Horrela, dei nagusia fbbt[a,b] izango da.
• Adibidea
Clear[f]
f[x_]:= x2(x-3)
fbbt[-1,3]
-Graphics-
![](https://elia.eus/static/elhuyar/img/elia_RGB.png)
Gai honi buruzko eduki gehiago
Elhuyarrek garatutako teknologia