PK(gQńB–Hmimetypetext/x-wxmathmlPK(gQűTĐD format.txt This file contains a wxMaxima session in the .wxmx format. .wxmx files are .xml-based files contained in a .zip container like .odt or .docx files. After changing their name to end in .zip the .xml and eventual bitmap files inside them can be extracted using any .zip file viewer. The reason why part of a .wxmx file still might still seem to make sense in a ordinary text viewer is that the text portion of .wxmx by default isn't compressed: The text is typically small and compressing it would mean that changing a single character would (with a high probability) change big parts of the whole contents of the compressed .zip archive. Even if version control tools like git and svn that remember all changes that were ever made to a file can handle binary files compression would make the changed part of the file bigger and therefore seriously reduce the efficiency of version control wxMaxima can be downloaded from https://github.com/andrejv/wxmaxima. It also is part of the windows installer for maxima (http://maxima.sourceforge.net). If a .wxmx file is broken but the content.xml portion of the file can still be viewed using an text editor just save the xml's text as "content.xml" and try to open it using a recent version of wxMaxima. If it is valid XML (the XML header is intact, all opened tags are closed again, the text is saved with the text encoding "UTF8 without BOM" and the few special characters XML requires this for are properly escaped) chances are high that wxMaxima will be able to recover all code and text from the XML file. PK(gQœ ÏœgÇgÇ content.xml Kedvenc Fizikai KĂ­sĂ©rleteim Mechanika HosszĂșsĂĄg, terĂŒlet, tĂ©rfogat MozgĂĄs KĂ­sĂ©rlet load("ezunits")$ gyalog:5`km/hour``m/s; (%o28) 2518 ` ms %,numer; (%o29) 1.388888888888888 ` ms KĂ­sĂ©rlet KĂ­sĂ©rlet KĂ­sĂ©rlet diff(5*t^2,t); (%o7) 10*t diff(c*t,t); (%o8) c diff(%e^t,t); (%o25) %et diff(c*f(t),t); (%o9) c*

dd*t*f

t

diff(f(t)+g(t),t); (%o11) dd*t*g

t

+dd*t*f

t

DifferenciĂĄlĂĄs y(t):=c*x(t); (%o13) y

t

:=c*x

t

depend diff(y(t),t); (%o14) c*

dd*t*x

t

remfunction(y); (%o20) [y] z(t):=x(t)+y(t); (%o23) z

t

:=x

t

+y

t

diff(z(t),t); (%o24) dd*t*y

t

+dd*t*x

t

remfunction(z); (%o26) [z] z(t):=x(t)*y(t); (%o34) z

t

:=x

t

*y

t

diff(z(t),t); (%o35) x

t

*

dd*t*y

t

+y

t

*

dd*t*x

t

remfunction(x,y,z); (%o33) [false,false,false] depends(y,x,x,t); (%o36) [y

x

,x

t

]
diff(y,t); (%o38)

dd*t*x

*

dd*x*y

diff(log(x),x); (%o41) 1x diff(a^t,t); (%o42) at*log

a

diff(t^a,t); (%o43) a*ta−1 diff(1/x(t),t); (%o44) −dd*t*x

t

x

t

2
diff(%e^(i*t),t); (%o45) i*%ei*t diff(cos(t),t); (%o46) −sin

t

diff(sin(t),t); (%o47) cos

t

KĂ­sĂ©rlet IntegrĂĄlĂĄs integrate(sin(x)^2,x); (%o41) x−sin

2*x

2
2
integrate(log(x),x,1,2); (%o42) 2*log

2

−1
KĂ­sĂ©rlet MegprĂłbĂĄljuk megoldani a differenciĂĄlegyenletet kill(all); (%o0) done equ:'diff(v,t)=g-c*v^2; (%o1) dd*t*v=g−c*v2 ode2(equ,v,t); Is c*g positive or negative? ; Maxima encountered a Lisp error: SIMPLE−ERROR: Console interrupt.Automatically continuing.To enable the Lisp debugger set *debugger−hook* to nil. assume(c*g>0); (%o3) [c*g>0] ode2(equ,v,t); (%o4) −log

−c*g−c*vc*v+c*g

2*c*g
=t+%c
Úgy látszik, ez a megoldás. Meg kell határoznunk ez ismeretlen %c konstanst. Tudjuk, hogy ha t nulla, akkor v is nulla. subst(0,t,%); (%o5) −log

−c*g−c*vc*v+c*g

2*c*g
=%c
subst(0,v,%); (%o6) −log

−1

2*c*g
=%c
A konstans komplex, nem Ă©rtjĂŒk a megoldĂĄst. DifferenciĂĄlegyenletek megoldĂĄsa Az elƑzƑ egyenlet szeparĂĄbilis. kill(all); (%o0) done assume(c*g>0); (%o3) [c*g>0] integrate(1/(g-c*v^2),v); (%o2) −log

2*c*v−2*c*g2*c*v+2*c*g

2*c*g
subst(0,v,%); (%o3) −log

−1

2*c*g
Ugyanazt kapjuk, amit az elƑbb. Ez a megoldĂĄs v=0-ra nincs Ă©rtelmezve. A program egy olyan megoldĂĄst talĂĄlt meg, ami nagy v-re van Ă©rtelmezve. Aki tud integrĂĄlni, talĂĄlkozott mĂĄr vele, hogy a log-ban abszolĂșt Ă©rtĂ©k ĂĄll. logabs:true; (%o1) true integrate(1/(g-c*v^2),v); (%o4) −log

2*c*v−2*c*g2*c*v+2*c*g

2*c*g
Megváltoztatjuk az elƑjelet. sol:-log((sqrt(c*g)-c*v)/(sqrt(c*g)+c*v)) /2/sqrt(c*g)=t+%c; (%o14) −log

c*g−c*vc*v+c*g

2*c*g
=t+%c
subst(0,t,sol); (%o15) −log

c*g−c*vc*v+c*g

2*c*g
=%c
subst(0,v,%); (%o16) 0=%c subst(0,%c,sol); (%o17) −log

c*g−c*vc*v+c*g

2*c*g
=t
solve(%,v); (%o18) [v=c*g*%e2*c*g*t−c*gc*%e2*c*g*t+c] subst(0.004,c,%[1]); (%o19) v=0.06324555320336758*g*%e0.1264911064067351*g*t−0.06324555320336758*g0.004*%e0.1264911064067351*g*t+0.004 subst(10,g,%); (%o20) v=0.06324555320336758*10*%e0.1264911064067351*10*t−0.06324555320336758*100.004*%e0.1264911064067351*10*t+0.004 vt:rhs(%); (%o21) 0.06324555320336758*10*%e0.1264911064067351*10*t−0.06324555320336758*100.004*%e0.1264911064067351*10*t+0.004 vt:float(%), numer; (%o22) 0.2*2.7182818284590450.4*t−0.20.004*2.7182818284590450.4*t+0.004 plot2d(vt,[t,0,15])$ DifferenciĂĄlegyenletek numerikus megoldĂĄsa Mindent Ășgy Ă­runk meg, hogy egyenletrendszerre is mƱködjön. EzĂ©rt v sormĂĄtrix. v:matrix([0]); (%o50) 0 g:10; (%o45) 10 c:0.004; (%o46) 0.004 Ez a fĂŒggvĂ©ny. KiprĂłbĂĄljuk. f(t,v):=block([u],u:copymatrix(v),u[1]:g-c*v[1]^2,u); (%o51) f

t,v

:=block

[u],u:#{Lisp function}

v

,u1:g−c*v12,u

v:f(0,v); (%o52) 10 Az Euler-mĂłdszer egy lĂ©pĂ©se. A lĂ©pĂ©sköz h. A fĂŒggvĂ©ny is paramĂ©ter, Ă­gy tetszƑleges egyenletrendszerre mƱködik. Ki is prĂłbĂĄljuk. odeeuler(t,h,x,f):=x+h*f(t,x); (%o55) odeeuler

t,h,x,f

:=x+h*f

t,x

v:matrix([0]); (%o56) 0 v:odeeuler(0,1,v,f); (%o57) 10 v:odeeuler(1,1,v,f); (%o19) 19.6 v:odeeuler(2,1,v,f); (%o20) 28.06336 v:odeeuler(3,1,v,f); (%o21) 34.9131513020416 v:odeeuler(4,1,v,f); (%o22) 40.03743876668461 --> odeeuler(t,h,x,f):=x+h*f(t,x); (%o16) odeeuler(t,h,x,f):=x+h*f(t,x) v:odeeuler(5,1,v,f); (%o23) 43.62545275470053 v:odeeuler(6,1,v,f); (%o24) 46.0127322424901 v:odeeuler(7,1,v,f); (%o25) 47.54404612881375 v:odeeuler(8,1,v,f); (%o26) 48.50230083961867 v:odeeuler(9,1,v,f); (%o27) 49.09240809267118 --> odeeuler(t,h,x,f):=x+h*f(t,x); (%o16) odeeuler(t,h,x,f):=x+h*f(t,x) MegĂ­rjuk a Heun mĂłdszert Ă©s a trapĂ©zmĂłdszert is. Mindig hĂĄrom iterĂĄciĂłt vĂ©gzĂŒnk az egyszerƱsĂ©g kedvĂ©Ă©rt. odeheun(t,h,x,f):=block([k,kk],k:f(t,x), kk:f(t+h,x+h*k),x+h/2*(k+kk)); (%o40) odeheun

t,h,x,f

:=block

[k,kk],k:f

t,x

,kk:f

t+h,x+h*k

,x+h2*

k+kk

odetrapez(t,h,x,f):=block([xx,k,kk,d,dd],k:f(t,x), kk:f(t+h,x+h*k),xx:x+h/2*(k+kk), k(%i12) v:matrixmap(ddt,r); (v) [0,0,0]k:f(t+h,xx),xx:x+h/2*(k+kk), kk:f(t+h,xx),xx:x+h/2*(k+kk), kk:f(t+h,xx),xx:x+h/2*(k+kk),return(xx)); (%o41) odetrapez

t,h,x,f

:=block

[xx,k,kk,d,dd],k:f

t,x

,kk:f

t+h,x+h*k

,xx:x+h2*

k+kk

,kk:f

t+h,xx

,xx:x+h2*

k+kk

,kk:f

t+h,xx

,xx:x+h2*

k+kk

,kk:f

t+h,xx

,xx:x+h2*

k+kk

,return

xx

Fårasztó lenne minden lépést kírni. A keretprogram n lépést tesz. Paraméterként kapja az eljåråst. od(%i12) v:matrixmap(ddt,r); (v) [0,0,0]eiter(t,h,n,x,f,proc):=block([i,xx],m:copymatrix(x),xx:copymatrix(x), for i:1 thru n do (xx:proc(t,h,xx,f),m:addrow(m,xx)),return(m)); (%o28) odeiter

t,h,n,x,f,proc

:=block

[i,xx],m:#{Lisp function}

x

,xx:#{Lisp function}

x

,for i thru n do

xx:proc

t,h,xx,f

,m:#{Lisp function}

m,xx

,return

m

Szåmolåsok az Euler-módszerrel. --> odeeuler(t,h,x,f):=x+h*f(t,x); (%o16) odeeuler(t,h,x,f):=x+h*f(t,x) odeiter(0,1,10,matrix([0]),f,odeeuler); (%o33) 01019.628.0633634.913151302041640.0374387666846143.6254527547005346.012732242490147.5440461288137548.5023008396186749.09240809267118 --> odeeuler(t,h,x,f):=x+h*f(t,x); ((%i12) v:matrixmap(ddt,r); (v) [0,0,0]%o16) odeeuler(t,h,x,f):=x+h*f(t,x) odeiter(0,1/2,20,matrix([0]),f,odeeuler); (%o36) 059.9514.7519949999999919.3167522870399523.5704784492022227.4593435405536130.9513124451973234.0353449610368736.7185355478033139.0220338422527240.9765955918808942.6184328192797943.9857711873368645.1162750534473546.0453185040507246.8049757917717747.4235642740350947.9255753771280148.3318538266704548.65991763802518 odeiter(0,1/4,40,matrix([0]),f,odeeuler); (%o37) 0524.993757.46881246093759.91302930136084612.314761151431214.663107809214416.9481010785897619.1608629484196621.2937242794915423.3403015858005425.2955319076844127.1556679731917328.918237670121530.5819732001758732.1467161153595933.6133047583580734.9834505015798236.2596086925833337.4448494700440738.5427327182098139.5571904728224540.4924191547192941.3527831457178142.1427304718210542.866720740200543.5291649931821644.1343767881784844.6865335736975845.1896472908643845.6475430685916546.0638448803927246.4419670752278346.7851107694112947.0962641797052147.3782060800206247.6335116686597247.8645602347713848.0735441083033248.2624784651703448.43321163756931 odeiter(0,1/8,80,matrix([0]),f,odeeuler); (%o38) 0542.499218753.7460957028198244.9890790863124816.2266336312477417.4572481480588498.6794428730879869.89177650879438711.0928528875444112.2813271949520613.4559116961173314.6153809163304715.7585762366657616.8844098741623617.99186822576319.0800145646363920.1479910867430221.1950203143272822.2204058712649123.2235326527230424.2038664182869925.1609528434898526.0944160694936927.0039567944897727.8893499532104328.7504420328041129.587148074263330.3994484086791131.1873851769031431.9510586798168732.6906236044363233.4062851686128634.0982952242295234.7669483556301635.4125780066486436.0355526661101536.6362721381341537.2151639200444437.7726797072465538.3092920411134438.8254911127677839.3217817326939739.7986804733771640.2567129896661840.696411519341.1183125640258941.5229547499694341.9108768643854242.2826160646145942.6387062539807842.9796766184741643.3060503173598543.61834332031543.9170633833105744.2027091552037144.4757694068739544.7367223747072444.9860352102914245.2241635283206445.4515510449024945.6686292987088145.8758174476973646.0735221344501446.262137413513346.4420447344799146.6136129749201946.7771985176323646.9331453670533747.0817853000308947.2234380465117947.3584114960454247.4870019263310447.6094942503553547.7261622789680547.8372689960288547.9430668435296448.0437980143480748.1396947505263348.2309796451894148.31786594642207 Szåmolåsok a Heun-módszerrel. odeiter(0,1,10,matrix([0]),f,odeheun); (%o42) 09.818.853970314188826.6379877270813232.9339891624420737.7854842929044141.3894693580470643.9961834892432845.8460776752158947.1415054640978848.04030905172259 odeiter(0,1/2,20,matrix([0]),f,odeheun); (%o43) 04.9759.85173384956374914.5398313501231918.9629642787982623.0630971301843226.8022293319232530.1618056166992833.1403596899870435.7501200080929238.0132689837298639.9583850342218741.6173939363893743.0231723409174144.2078114874917245.2014678735776346.0316906545159446.7231090041435447.2973735817849847.7732649211115748.16690178327427 Szåmolåsok a trapéz módszerrel. odeiter(0,1,10,matrix([0]),f,odetrapez); (%o44) 09.80762159530029218.9007821618917326.7547726980591833.128421591812338.0398167617485941.6730071494694744.2789910437400146.1065575862307947.3678617531297448.2286918971632 odeiter(0,1/2,20,matrix([0]),f,odetrapez); (%o45) 04.975246918347169.85340427186874414.5447646034216718.9732312429012323.0805373577865626.8280818178640430.1965093826500233.1835370028030735.8007045272078238.069716818295540.0189072965502241.6801652876728143.0864905871377944.2702011326256145.2617325017991846.0889250254051746.7766832710464847.3469008770416547.8185611772125448.20794405782134 odeiter(0,1/2,40,matrix([0]),f,odetrapez); (%o46) 04.975246918347169.85340427186874414.5447646034216718.9732312429012323.0805373577865626.8280818178640430.1965093826500233.1835370028030735.8007045272078238.069716818295540.0189072965502241.6801652876728143.0864905871377944.2702011326256145.2617325017991846.0889250254051746.7766832710464847.3469008770416547.8185611772125448.2079440578213448.5288882191481148.7930737420012349.0103021353438949.1887601027080249.3352596416677749.4554513759853349.5540107578607649.63479841722249.7009968238671649.7552258233549449.7996396916704549.8360082529471749.8657844032075349.8901601357735349.9101129046799649.9264439111775549.9398096661732549.9507479732941949.9596992946436349.96702430357694 Kísérlet r(t):=matrix([cos(t),sin(t),0.25*t]); (%o1) r

t

:=cos

t

sin

t

0.25*t
plot3d([cos(t), sin(t), 0.25*t],[t,0,4*%pi],[x,0,1], [grid,200,200])$ Kísérlet r:[cos(t),sin(t),0.25*t]; (%o13) [cos

t

,sin

t

,0.25*t]
Az alĂĄbbi fĂŒggvĂ©ny a vĂĄltozĂłjĂĄt t szerint differenciĂĄlja. Alkalmazzuk egy vektor koordinĂĄtĂĄira. ddt:lambda([x],diff(x,t)); (%o15) lambda

[x],dd*t*x

v:matrixmap(ddt,r); (%o18) [−sin

t

,cos

t

,0.25]
a:matrixmap(ddt,v); (%o20) [−cos

t

,−sin

t

,0]
KĂ­sĂ©rlet v_0:20; (%o3) 20 g:10; (%o4) 10 plot2d([[parametric,v_0*cos(%pi/12)*t,v_0*sin(%pi/12)*t-g/2*t^2,[t,0,3]], [parametric,v_0*cos(%pi/6)*t,v_0*sin(%pi/6)*t-g/2*t^2,[t,0,3]], [parametric,v_0*cos(%pi/4)*t,v_0*sin(%pi/4)*t-g/2*t^2,[t,0,3]], [parametric,v_0*cos(%pi/3)*t,v_0*sin(%pi/3)*t-g/2*t^2,[t,0,3]], [parametric,v_0*cos(5*%pi/12)*t,v_0*sin(5*%pi/12)*t-g/2*t^2,[t,0,3]]])$ KĂ­sĂ©rlet kill(all); (%o0) done r:[R*cos(φ),R*sin(φ),0]; (%o1) [R*cos

φ

,R*sin

φ

,0]
ddt:lambda([x],diff(x,t)); (%o2) lambda

[x],dd*t*x

depends(φ,t); (%o3) [φ

t

]
v:matrixmap(ddt,r); (%o4) [−R*sin

φ

*

dd*t*φ

,R*cos

φ

*

dd*t*φ

,0]
r:matrix([R*cos(ω*t+φ_0),R*sin(ω*t+φ_0),0]); (%o5) R*cos

t*ω+φ0

R*sin

t*ω+φ0

0
v:matrixmap(ddt,r); (%o6) −R*ω*sin

t*ω+φ0

R*ω*cos

t*ω+φ0

0
a:matrixmap(ddt,v); (%o7) −R*ω2*cos

t*ω+φ0

−R*ω2*sin

t*ω+φ0

0
PK(gQńB–HmimetypePK(gQűTĐD 5format.txtPK(gQœ ÏœgÇgÇ tcontent.xmlPK§Î