| | | |
Home /
Funcţii Maxima
Uploading ....
Maxima este unul dintre programele de calcul automat pe care le prefer eu.
Prezint mai jos câteva dintre funcţiile pe care le folosesc mai des.
- Dat fiind un vector exprimat în coordonate Frenet prin lista x(t)=[x1(t),x2(t),x3(t)],
funcţia der(x):=[diff(x[1],t)-v*kappa(t)*x[2],diff(x[2],t)+v*(kappa(t)*x[1]-tau(t)*x[3]),diff(x[3],t)+v*tau(t)*x[2]] calculează derivata acestui vector în coordonate Frenet. De exemplu, derivata tangentei va fi dată de
der([1,0,0]) şi va da rezultatul [0,kappa(t)v,0].
Exemplu de curbă definită în maxima elice(t):=[a*cos(w*t),a*sin(w*t),b*w*t]; curba_lui_mircea(t):=[R*cos(w*t)+a*sin(w1*t)*cos(w*t),R*sin(w*t)-a*cos(w1*t)*cos(fi)*cos(w*t),p*w*t +a*cos(w1*t)*sin(fi)];
Modulul şi produsul vectorial, scalar şi mixt al listelor x, y şi z va fi vectorial(x,y):=[x[2]*y[3]-x[3]*y[2],x[3]*y[1]-x[1]*y[3],x[1]*y[2]-x[2]*y[1]];scalar(x,y):=x[1]*y[1]+x[2]*y[2]+x[3]*y[3];mixt(x,y,z):=scalar(x,vectorial(y,z));modul(x):=sqrt(x[1]^2+x[2]^2+x[3]^2)
- Dată fiind curba x=x(t)=[x1(t),x2(t),x3(t)] în coordonate carteziene, curbura ei, torsiunea ei şi, respectiv, raportul se pot calcula cu Maxima folosind funcţiile
curbura(x,t):=modul(vectorial(diff(x,t),diff(x,t,2)))/modul(diff(x,t))^3;torsiune(x,t):=mixt(diff(x,t),diff(x,t,2),diff(x,t,3))/modul(vectorial(diff(x,t),diff(x,t,2)))^2;raport(x,t):=curbura(x,t)/torsiune(x,t) Dacă dorim o formă simplificată a rezultatului oferit de Maxima pentru raportul dintre curbura şi torsiunea unei curbe, putem folosi funcţia trigreduce(radcan(raport(x,t))). -(1203211809) Torsiunea complexă de ordin superior
ts(n):= if n=1 then [tau(t),tau(t)*l(t)] else [diff(ts(n-1)[1]/ts(n-1)[2],t)/(1+(ts(n-1)[1]/ts(n-1)[2])^2),sqrt(ts(n-1)[1]^2+ts(n-1)[2]^2)].
Elicea sinusoidală poate fi scrisă ca
elsin(t):=[a*(1+sin(OMG*t))*cos(omega*t),a*(1+sin(OMG*t))*sin(omega*t),a*(1+cos(OMG*t))*omega*t];
|
|
|
| | | |
|