PK:_4OńB–Hmimetypetext/x-wxmathmlPK:_4OŤf1SS 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/wxMaxima-developers/wxmaxima. It also is part of the windows installer for maxima (https://wxmaxima-developers.github.io/wxmaxima/). 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:_4Oçf»Ô+{+{ content.xml IsmerkedĂ©s a (wx)Maxima-val A következĹ‘ parancs cĂ©lja, hogy beállĂ­tsuk az átmeneti fájlok tárolására használt könyvtár nevĂ©t Ăşgy, hogy az ne tartalmazzon Ă©kezetes karaktereket. Vigyázat! Ahogy az más, több operáciĂłs rendszeren is futĂł programoknál szokás, Windows alatt a könyvtárok neveit elválasztĂł "\" karaktert "/"-lel vagy "\\"-lel kell helyettesĂ­teni! Az alábbi parancs változatlan formában csak a hallgatĂłi kabinet számĂ­tĂłgĂ©pein működik rendesen. maxima_tempdir : "C:/Users/Public/MaximaTEMP"; BevezetĹ‘ pĂ©lda Hány gramm ammĂłnium-nitrátot kell 100,0 g ammĂłnium-szulfáttal összekeverni, hogy a kapott keverĂ©k 24,0 tömegszázalĂ©kos legyen nitrogĂ©nre nĂ©zve? Ar(H)=1,01, Ar(N)=14,01, Ar(O)=16,00, Ar(S)=32,07 CĂ©lszerű megoldás Játszani az fpprintprec-cel, a ratprint-tel Ă©s a ";" <> "$" cserĂ©vel. kill(all); eq:(2*ArN/MrNH4NO3*x+2*ArN/MrNH42SO4*100)/(100+x)=0.24; kill(all);fpprintprec:0;ratprint:true; ArN:14.01; MrNH4NO3:4*1.01+2*14.01+3*16; MrNH42SO4:2*(14.01+4*1.01)+32.07+4*16; eq:(2*ArN/MrNH4NO3*x+2*ArN/MrNH42SO4*100)/(100+x)=0.24; solve(eq,x); float(%[1]); rhs(%); sconcat("x=",string(%)," g ammĂłnium-nitrát szĂĽksĂ©ges."); Rövid megoldás float(rhs(solve((28.02/80.06*x+28.02/132.17*100)/(100+x)=0.24,x)[1])); AlapvetĹ‘ műveletek fpprintprec:6$ KonvenciĂłk, billentyűzet Ă©rtelmezĂ©se, parancsok, elválasztĂł jelek A Maxima egy Ăşn. CAS (Computer Algebra System) program, alapvetĹ‘en parancssoros ĂĽzemmĂłdra. A wxMaxima egy grafikus felĂĽlet a Maximához, a kettĹ‘ egyĂĽtt már nagyon hasonlĂ­t a Matematica-hoz. 1-4. parancsok: parancskiadás: ENTER Ă©s SHIFT-ENTER kĂĽlönbsĂ©ge, sortörĂ©s jelentõsĂ©ge, ";" Ă©s "$" határolĂłjelek Ă©rtelme, parancsok Ă©s eredmĂ©nyek elĹ‘tti jelek Ă©rtelmezĂ©se. 1+1; 1+1;2+2;3+3; 4+4;5 +5; 1+1;2+2$3+3; 4+4$5 +5; 10*%; 10*%o1; %i1; 5. parancs: Speciális állandĂłk, valamint a float fĂĽggvĂ©ny ("%":Ans; "%pi": Ď€=3.14159..., "%e": Euler-szám=2.71828..., "%i": imaginárius egysĂ©g= (-1)^0.5, "%i+n": pl. "%i34" a 34. kiadott parancs, "%o+n": pl. "%o34" a 34. kiadott parancs eredmĂ©nye ) A Maxima csak tizedespontot ismer, tizedesvesszĹ‘t nem!/, fĂĽggvĂ©nyek, kisbetű/nagybetű Ă©rzĂ©kenysĂ©g. %pi;float(%);%e;float(%e);%i;float(%); cos(%pi/4);float(%); cos(%pi/3);float(%); cos(%Pi/3);Cos(%pi/3);Cos(%Pi/3); 6-7. parancsok: matematikailag pontos eredmĂ©ny vagy közelĂ­tĂ©s 1/sqrt(2*%pi); 1.0/sqrt(2*%pi); 1.0/sqrt(2.0*%pi); 1.0/sqrt(2*float(%pi)); (9/7)^87;float(%); 8-10. parancsok: ":" (Ă©rtĂ©kadás, szĂłban mondva 'legyen egyenlĹ‘'), "=" (egyenlet vagy logikai hasonlĂ­tás, szĂłban mondva 'egyenlĹ‘') Ă©s ":=" (fĂĽggvĂ©ny definiálása) jelek használata. a:3.2;b:1.0;a+b; a = b; is(a = b); pcm(nm):=1.0/(nm/1.0e7); pcm(500); 11. parancs: Hasznos pĂ©lda a 10-es alapĂş logaritmus definiálására. log(10.0); lg(x):=log(x)/log(10.0); lg(10.0); 12. parancs: Mik vannak a memĂłriában? values;functions; kill(ArN,pcm); values;functions; kill(all); values;functions; AdattĂ­pusok 13. parancs: EgĂ©sz számok, valĂłs számok (konstansokat lásd feljebb). 3;3.3;float(3);float(3.3); 14. parancs: Karaktersorozatok. "abcdefgh";svariable:%; charat(svariable,1); charlist(svariable); charlist(svariable)[2]; charat(svariable,0); string("3.1415926*2"); string(3.1415926*2); sconcat("12","3.4"); sconcat(12,3.4); kill(svariable)$ 15. parancs: Listák (közelĂ­tĹ‘leg vektorok). L1:[2,4,6,8,10]; L1[1];L1[3];L1[0]; 16. parancs: Mátrixok (közelĂ­tĹ‘leg lista a listában). L1:[[1,2],[2,4],[3,6],[4,8],[5,10]]; L1[1];L1[3]; L1[1][2];L1[3][2]; 17. parancs: Egyenletek Ă©s rĂ©szeik. eqs:[x^2=3,exp(-a*x)=2.58]; %[2]; rhs(%); 0.1*%; 0.1*rhs(eqs[2]); Egyenletek megoldása Egy pĂ©lda alkalmazásra 18. parancs: Egy egyszerű pĂ©lda a fenti jelek megĂ©rtetĂ©sĂ©hez. 20 ml 0,03 M CaCl2 oldatot titrálunk azonos koncentráciĂłjĂş Na2SO4 oldattal. Mekkora fogyásnál válik ki a csapadĂ©k, Ă©s mekkora fogyásnál oldĂłdik teljesen vissza? A CaSO4 oldhatĂłsági szorzata Ks=[Ca2+][SO42-]=6,1E-5 M^2. Megoldás: HomogĂ©n oldatban T(Ca)=20/(20+V)*0,03 Ă©s T(SO4)=V/(20+V)*0,03. Ha e kettĹ‘ kifejezĂ©s szorzata kisebb Ks-nĂ©l, akkor homogĂ©n a rendszer; ha nagyobb, akkor csapadĂ©k van jelen; egyenlĹ‘sĂ©g esetĂ©n csapadĂ©kkiválás vagy csapadĂ©kfelodĂłdás van. V=20-nál a legnagyobb a szorzat Ă©rtĂ©ke a koncentráciĂłk egyenlĹ‘sĂ©ge miatt. (Házi feladat: otthon bizonyĂ­tani ez utĂłbbi állĂ­tást!) kil(all)$ Ks:6.1e-5$ fnKs(V,V0,c):=V0*V*c^2/(V0+V)^2; float(solve(fnKs(V,20,0.03)=Ks,V)); V1:find_root(fnKs(V,20,0.03)=Ks,V,0,20); V2:find_root(fnKs(V,20,0.03)=Ks,V,20,1000); 19-25. parancsok: A fenti pĂ©ldában sötĂ©t lĂł: honnan jött az 1000? (A "tanár mondta" válasz mĂ©g nem elĂ©g!) /menĂĽ a 20. parancsnál/ values;functions; plot2d([fnKs(V,20,0.03),Ks],[V,0,1000]); wxplot2d([fnKs(V,20,0.03),Ks],[V,0,1000]); plot2d([fnKs(V,20,0.03),Ks],[V,0,300]); plot2d([fnKs(V,20,0.03),Ks],[V,0.1,300],[logx],[ylabel,"fnKs"]); wxplot2d([fnKs(V,20,0.03),Ks],[V,0.1,300],[logx],[ylabel,"fnKs"]); plot2d([fnKs(V,20,0.03),fnKs(V,20,0.02),fnKs(V,20,0.015),Ks], [V,0.1,300],[logx],[ylabel,"fnKs"]); 26. parancs: PĂ©lda a solve fĂĽggvĂ©nyre. /menĂĽbĹ‘l is/ solve(a*x^2+b*x+c=0,x); 27. parancs: Egy egyszerű hĂ­gĂ­tási pĂ©lda. Milyen arányban keverjĂĽnk 15%-os Ă©s 45%-os oldatokat, hogy 32%-osat kapjunk? solve((1*0.15+x*0.45)/(1+x)=0.32,x);float(%); 28. parancs: Kicsit összetettebb oldhatĂłsági pĂ©lda. SzámĂ­tsuk ki a SrSO4-ra Ă©s CaSO4-ra nĂ©zve egyidejűleg telĂ­tett oldatban a Sr2+, Ca2+ Ă©s a SO42- ionok egyensĂşlyi koncentráciĂłját! L(SrSO4)=1,18E-6 M^2 Ă©s L(CaSO4)=6,10E-6 M^2 (tizedesjel!!). egyenletek:[1.18e-6=Sr*SO4,6.10e-6=Ca*SO4,Sr+Ca=SO4]; solve(egyenletek,[Sr,Ca,SO4]); float(%); float(%[1]); Szimbolikus matematika 29-38. parancsok: PĂ©ldák a matematikai analĂ­zisre. limit(f(x),x,a); limit(f(x),x,a,plus); limit(x/(1+x),x,-inf); wxplot2d(1/x,[x,-3,3],[y,-10,10]); limit(1/x,x,0); limit(1/x,x,0,plus); limit(1/x,x,0,minus); diff(f(x),x); diff(V(p),p); diff(x^n,x); diff(%e^x,x); taylor(%e^x,x,0,5); integrate(f(x),x); integrate(V(p),p); integrate(1/x,x); integrate(1/x,x,1,2); integrate(t^2,t); integrate(t^2,t,0,1);float(%); romberg(t^2,t,0,1); KĂ©tdimenziĂłs ábrák kĂ©szĂ­tĂ©se A http://www.austromath.at/daten/maxima/zusatz/Graphics_with_Maxima.pdf leĂ­rás mindkĂ©t (plot Ă©s draw) csomagot nagyon jĂłl bemutatja Plot csomag: a (wx)plot2d parancsok CĂ©l: A (wx)plot2d parancsok paramĂ©tereinek bemutatása lĂ©pĂ©senkĂ©nt, az exponenciális Ă©s nĂ©gyzetgyök fĂĽggvĂ©ny egyĂĽttes ábrázolásával. Minimális parancs (csak egy fĂĽggvĂ©ny): wxplot2d(exp(x)-1, [x,0.001,1] ); Minimális parancs (csak egy fĂĽggvĂ©ny) más aránnyal: wxplot2d(exp(x)-1, [x,0.001,1], [yx_ratio,0.5] ); KettĹ‘ fĂĽggvĂ©ny (szögletes zárĂłjelben, vesszĹ‘vel elválasztva): wxplot2d([exp(x)-1,sqrt(x)], [x,0.001,1], [yx_ratio,0.5] ); Y-tengely beállĂ­tása: wxplot2d([exp(x)-1,sqrt(x)], [x,0.001,1],[y,0,2], [yx_ratio,0.5] ); Rácsozat: wxplot2d([exp(x)-1,sqrt(x)], [x,0.001,1],[y,0,2], [yx_ratio,0.5], grid2d ); TengelycĂ­mek: wxplot2d([exp(x)-1,sqrt(x)], [x,0.001,1],[y,0,2], [yx_ratio,0.5], grid2d, [xlabel,"X-tengely"],[ylabel,"Y-tengely"] ); Tengelyfeliratok: wxplot2d([exp(x)-1,sqrt(x)], [x,0.001,1],[y,0,2], [yx_ratio,0.5], grid2d, [xlabel,"X-tengely"],[ylabel,"Y-tengely"], [xtics,0.2,0.2,1.0],[ytics,0.0,0.2,2.0] ); SzĂ­nváltozás: wxplot2d([exp(x)-1,sqrt(x)], [x,0.001,1],[y,0,2], [yx_ratio,0.5], grid2d, [xlabel,"X-tengely"],[ylabel,"Y-tengely"], [xtics,0.2,0.2,1.0],[ytics,0.0,0.2,2.0], [color,red,"#00ff00"] ); Adatsor ábrázolni: adatsor:[ [0.1,0.2], [0.2,0.39], [0.3,0.62], [0.4,0.802], [0.5,0.97], [0.6,1.2], [0.7,1.39], [0.8,1.62] ]; Adatsort rátenni az ábrára, majd változtatni a stĂ­lusokat: wxplot2d([exp(x)-1,sqrt(x),[discrete,adatsor]], [x,0.001,1],[y,0,2], [yx_ratio,0.5], grid2d, [xlabel,"X-tengely"],[ylabel,"Y-tengely"], [xtics,0.2,0.2,1.0],[ytics,0.0,0.2,2.0], [color,red,"#00ff00",blue,black], [point_type,bullet], [style,[lines,2.0],[lines,1.0],[linespoints,2,3,blue,bullet]] ); Változtatni a jelmagyarázatot: wxplot2d([exp(x)-1,sqrt(x),[discrete,adatsor]], [x,0.001,1],[y,0,2], [yx_ratio,0.5], grid2d, [xlabel,"X-tengely"],[ylabel,"Y-tengely"], [xtics,0.2,0.2,1.0],[ytics,0.0,0.2,2.0], [color,red,"#00ff00",blue,black], [point_type,bullet], [style,[lines,2.0],[lines,1.0], [linespoints,2,3,blue,bullet]], [legend,"exp(x)","sqrt(x)","adatsor","adatsor"], [gnuplot_preamble,"set key top left"] ); Logaritmikus X-tengely: wxplot2d([exp(x)-1,sqrt(x),[discrete,adatsor]], [x,0.001,1],[y,0,2],logx, [yx_ratio,0.5], grid2d, [xlabel,"logaritmikus X-tengely"],[ylabel,"Y-tengely"], [xtics,0.2,0.2,1.0],[ytics,0.0,0.2,2.0], [color,red,"#00ff00",blue,black], [point_type,bullet], [style,[lines,2.0],[lines,1.0], [linespoints,2,3,blue,bullet]], [legend,"exp(x)","sqrt(x)","adatsor","adatsor"], [gnuplot_preamble,"set key top left"] ); Draw csomag: a (wx)draw2d parancsok A "draw" rajzolĂł csomag használata (sokak szerint) bonyolultabb, mint a plot-Ă©, de (sokak szerint) szebb ábrákat kĂ©szĂ­t. CĂ©l: A (wx)draw2d parancsok paramĂ©tereinek bemutatása lĂ©pĂ©senkĂ©nt, az exponenciális Ă©s nĂ©gyzetgyök fĂĽggvĂ©ny egyĂĽttes ábrázolásával. (NĂ©ha) kell a következĹ‘ parancs: load(draw); Minimális parancs (csak egy fĂĽggvĂ©ny): draw2d(explicit(exp(x)-1,x,0.001,1)); Minimális parancs (csak egy fĂĽggvĂ©ny) más aránnyal: wxdraw2d( user_preamble = "set size ratio 0.5", explicit(exp(x)-1,x,0.001,1) ); KettĹ‘ fĂĽggvĂ©ny (szögletes zárĂłjelben, vesszĹ‘vel elválasztva): wxdraw2d( user_preamble = "set size ratio 0.5", color = blue, key = "%e^x-1", explicit(exp(x)-1,x,0.001,1), color = red, key = "sqrt(x)", explicit(sqrt(x),x,0.001,1) ); Y-tengely beállĂ­tása: wxdraw2d(yrange = [0,2], user_preamble = "set size ratio 0.5", color = blue, key = "%e^x-1", explicit(exp(x)-1,x,0.001,1), color = red, key = "sqrt(x)", explicit(sqrt(x),x,0.001,1) ); Rácsozat: wxdraw2d( user_preamble = "set size ratio 0.5", grid = true, yrange = [0,2], color = blue, key = "%e^x-1", explicit(exp(x)-1,x,0.001,1), color = red, key = "sqrt(x)", explicit(sqrt(x),x,0.001,1) ); TengelycĂ­mek: wxdraw2d( user_preamble = "set size ratio 0.5", grid = true, yrange = [0,2], xlabel = "X-tengely", ylabel = "Y-tengely", color = blue, key = "%e^x-1", explicit(exp(x)-1,x,0.001,1), color = red, key = "sqrt(x)", explicit(sqrt(x),x,0.001,1) ); Tengelyfeliratok: wxdraw2d( user_preamble = "set size ratio 0.5", grid = true, yrange = [0,2], xlabel = "X-tengely", ylabel = "Y-tengely", xtics = {0.2,0.4,0.6,0.8,1.0}, ytics = {0,0.2,0.4,0.6,0.8,1.0,1.2,1.4,1.6,1.8,2.0}, color = blue, key = "%e^x-1", explicit(exp(x)-1,x,0.001,1), color = red, key = "sqrt(x)", explicit(sqrt(x),x,0.001,1) ); SzĂ­nváltozás: wxdraw2d( user_preamble = "set size ratio 0.5", grid = true, yrange = [0,2], xlabel = "X-tengely", ylabel = "Y-tengely", xtics = {0.2,0.4,0.6,0.8,1.0}, ytics = {0,0.2,0.4,0.6,0.8,1.0,1.2,1.4,1.6,1.8,2.0}, color = red, key = "%e^x-1", explicit(exp(x)-1,x,0.001,1), color = green, key = "sqrt(x)", explicit(sqrt(x),x,0.001,1) ); Adatsor ábrázolni: adatsor:[ [0.1,0.2], [0.2,0.39], [0.3,0.62], [0.4,0.802], [0.5,0.97], [0.6,1.2], [0.7,1.39], [0.8,1.62] ]; Adatsort rátenni az ábrára, majd változtatni a stĂ­lusokat: wxdraw2d( user_preamble = "set size ratio 0.5", grid = true, yrange = [0,2], xlabel = "X-tengely", ylabel = "Y-tengely", xtics = {0.2,0.4,0.6,0.8,1.0}, ytics = {0,0.2,0.4,0.6,0.8,1.0,1.2,1.4,1.6,1.8,2.0}, color = red, key = "%e^x-1", explicit(exp(x)-1,x,0.001,1), color = green, key = "sqrt(x)", explicit(sqrt(x),x,0.001,1), color = blue, key = "disrete3", point_type = filled_circle, point_size = 1.5, points_joined = true, line_type = solid, line_width = 2, points(adatsor) ); Változtatni a jelmagyarázatot: wxdraw2d( user_preamble = "set key top left; set size ratio 0.5", grid = true, yrange = [0,2], xlabel = "X-tengely", ylabel = "Y-tengely", xtics = {0.2,0.4,0.6,0.8,1.0}, ytics = {0,0.2,0.4,0.6,0.8,1.0,1.2,1.4,1.6,1.8,2.0}, color = red, key = "exp(x)", explicit(exp(x)-1,x,0.001,1), color = green, key = "sqrt(x)", explicit(sqrt(x),x,0.001,1), color = blue, key = "adatsor", point_type = filled_circle, point_size = 1.5, points_joined = true, line_type = solid, line_width = 2, points(adatsor) ); Logaritmikus X-tengely: wxdraw2d( user_preamble = "set key top left; set size ratio 0.5", grid = true, yrange = [0,2], xlabel = "X-tengely", ylabel = "Y-tengely", xtics = {0.2,0.4,0.6,1.0}, ytics = {0,0.2,0.4,0.6,0.8,1.0,1.2,1.4,1.6,1.8,2.0}, logx = true, color = red, key = "exp(x)", explicit(exp(x)-1,x,0.001,1), color = green, key = "sqrt(x)", explicit(sqrt(x),x,0.001,1), color = blue, key = "adatsor", point_type = filled_circle, point_size = 1.5, points_joined = true, line_type = solid, line_width = 2, points(adatsor) ); PK:_4OńB–HmimetypePK:_4OŤf1SS 5format.txtPK:_4Oçf»Ô+{+{ °content.xmlPK§‚