Vyprázdnění paměti

kill(all);

Zadání známých předpokladů (zjednoduší to výpočet)

assume (m > 0,  vB>vA, mu>0, gg>0, vA>0,alpha<%pi/2);

Definice konstant pro finální vyčíslení výsledku (používáme až na konci výpočtu, pan Škoda na konzultaci odhadoval "mu" z tvaru součásti a vztahu pro kvadatický odpor, nicméně pro malé rychlosti se vychází pouze z lineárního modelu kde "mu" značí viskozitu prostředí  1.8e-5 pro vzduch při 20°C násobenou obtékanou plochou 0.0035m^2)

dano:[g=9.81, m=0.166, f=0.18, mu=1.8e-5*0.0035, T=0.38, 
    L=0.5,alpha=float(20*%pi/180)];

Definice síly Fx (to je prakticky jediné, co musíte odvodit na papír)

Fx:-m*gg-2*mu*v; 

Věta o změně kin. energie

rov1:integrate(m*v/Fx,v,vA,vB)=L;
rov1:logcontract(rov1); 
/* zde pouze převádíme rozdíl logaritmů na logaritmus podílu */

Věta o změně hybnosti

rov2:integrate(m/Fx,v,vA,vB)=T;

rov2:logcontract(rov2); 
/* zde pouze převádíme rozdíl logaritmů na logaritmus podílu */

Z rovnice 2 vyjádříme logaritmus

 [globalsolve: true, programmode:true]; /* jedná se o zaříkadlo
 po kterém funkce solve pracuje dle našich představ */

logaritmus:solve([rov2],['log((2*mu*vA+gg*m)/(2*mu*vB+gg*m))]);
/* zde je v případě změny Fx nutný ruční zásah programátora
musí se přepsat log(...) přesně tak, jak vyjde v rov2*/
/*!! solve vrací výsledek v poli (hranatých závorkách)!!*/

Pomocí umocnění "e" na obě strany rovnice se zbyvíme logaritmů a dostaneme první rovnici (rovA)

rovA:ratsimp(%e^lhs(logaritmus[1]))=ratsimp(%e^rhs(logaritmus[1]));
/*ratsimp upraví výraz (zjednodušší)*/
/*za "logaritmus" je v hranaté závorce index 1, jelikož "logaritmus" 
je pole o jednom prvku */

V první rovnici nahradíme logaritmus výrazem z pravé strany vztahu "logaritmus", čímž dostaneme druhou rovnici (rovB)

rovB:subst(rhs(logaritmus[1]),lhs(logaritmus[1]),rov1);
/*subst je nahrazení subst(nová hodnota,původní hodnota,kde nahrazuji)*/

Dodefinování konstanty gg

gg:g*(-sin(alpha)+f*cos(alpha));

Řešení rovnic rovA a rovB

 [globalsolve: true, programmode: true];

linsolve([rovA,rovB],[vA,vB]);

Dosazení konkrétních čísel (do odvozených rovnic dosadíme výše definované hodnoty z pole "dano")

ev(vA,dano);

ev(vB,dano);

Zkusme zanedbat odpor vzduchu mu->0 (musíme počítat s pomocí limity, jinak by docházelo k dělení 0)

vAv:limit(vA, mu, 0);

vBv:limit(vB, mu, 0);

Na výsledku se to příliš neprojeví

ev(vAv,dano);

ev(vBv,dano);

Zanedbejme i tření

vAt:limit(vAv, f, 0);

vBt:limit(vBv, f, 0);

Výsledek se již podstatně liší

ev(vAt,dano);

ev(vBt,dano);

Závěr: 
V realizovaném experimentu lze zanedbat vliv odporu vzduchu bez ztráty přesnosti. Vliv tření je nezanedbatelný. Bez odporu vzduchu jsou výsledné vztahy pro výpočet rychlostí v krajních polohá výrazně jednodušší.