Flateintegraler med Maple
| > | restart: |
| > | with(plots):
with(linalg): |
Warning, the name changecoords has been redefined
Warning, the protected names norm and trace have been redefined and unprotected
| > | assume (u,real); Forteller Maple at u og v er reelle tall (ikke komplekse). Maple angir dette i fortsettelsen med en krusedull etter u og v. Den kan vi ignorere.
assume (v,real); |
| > | x := sin(v)*cos(u); Parametriseringen. Vanlig kuleflate som eksempel.
y := sin(v)*sin(u); z := cos(v); |
| > | a := 0; b := 2*Pi; Parameterintervallene for u og v
c := 0; d := Pi; |
| > | plot3d([x,y,z],u=a..b,v=c..d,projection=0.9,scaling=constrained,axes=boxed); Plotter flaten |
![[Plot]](images/Flateintegraler_8.gif)
| > | Ru := [diff(x,u),diff(y,u),diff(z,u)]; Regner ut partiellderiverte av posisjonsvektoren R
Rv := [diff(x,v),diff(y,v),diff(z,v)]; |
| > | N := simplify( crossprod(Ru,Rv) ); Regner ut kryssproduktet, dvs. en normalvektor N til flaten |
| > | Nlengde := simplify( norm(N,2) ); Regner ut lengden |N| av vektoren N, som gir flateelementet dS = |N| du dv. |
| > | Areal := Int( Int( Nlengde, v=c..d), u=a..b); Setter opp arealet som et symbolsk integral |
| > | simplify( value(Areal) ); Evaluerer integralet (eksakt hvis mulig; hvis ikke mulig gir Maple bare det symbolske integralet tilbake) |
| > | evalf(Areal); Numerisk verdi (alltid mulig) |
| > | Massetetthet := cosh(u+v); Vi kan integrere andre funksjoner over flaten, uttrykt ved parametrene u og v. F.eks. kan vi ha en massetetthet pr. flateenhet. Her har vi valgt en funksjon som eksempel. |
| > | Total_masse := Int( Int( Massetetthet*Nlengde, v=c..d), u=a..b); Setter opp total ladning som et symbolsk integral |
| > | simplify( value(Total_masse) ); Evaluerer integralet eksakt, hvis mulig |
| > | evalf(Total_masse); Finner numerisk verdi |
| > |