Simpsons-integrasjon med vektorargument
Lagt inn: 25/11-2012 11:57
Heisann, godtfolk! Jeg holder på med bacheloroppgaven min, og, etter en uke med masse problemer med en integrasjonsrutine i Python, har det slått meg at kanskje vektorargumentet kan skape problemer i forhold til å bruke Simpsons regel.
Simpsons regel forteller oss at
[tex]\int_a^b f(x)dx\approx \frac{b-a}{6}[f(b)+4f((a+b)/2)+f(a)],[/tex]
for ett intervall. Mer presist er funksjonen vi skal integrere
[tex]\rho(\vec{r}(l))=\frac{\rho_0}{(r(l)/r_c)(1+r(l)/r_c)^2},[/tex]
der
[tex]\vec{r}(l)=\sqrt{a^2+l^2-2alcos(\theta)}\frac{\vec{r}(l)}{|\vec{r}(l)|}.[/tex]
Dette er bare Pytagoras' generaliserte læresetning.
Vi skal integrere over [tex][0, l_{max}],[/tex] der vi har delt opp i m intervaller.
Så [tex]l_j=\frac{l_{max}}{m}j[/tex].
Så for hver iterasjon legges
[tex]\int_{l_{j-1}}^{l_j} \rho(\vec{r}(l))dl\approx S_j[/tex]
til summen fra forrige iterasjon. Vi skal også variere vinkelen theta i r, men det er hovedsakelig med dette vi sliter, om jeg ikke tar feil.
Det vi har prøvd er
[tex]S_j=\frac{|\vec{r}(l_j)-\vec{r}(l_{j-1})|}{6}[\rho(\vec{r}(l_j))+4\rho(\vec{r}(\frac{l_j+l_{j-1}}{2}))+\rho(\vec{r}(l_{j-1}))],[/tex]
men vi får altså ikke riktig svar.
Jeg har søkt en del rundt på nettet, og jeg finner ingenting annet enn en annen kar som ikke har funnet ut av dette, og heller ikke får det til med vektorinput. Én ting jeg tenker det kan være, er at vi må ta vektordifferanse [tex]\vec{r}(l_j)-\vec{r}(l_{j-1})[/tex] og gange med enhetsvektoren som vist over, men dette er jeg ganske usikker på. Altså
[tex]\int_{l_{j-1}}^{l_j}\rho dl\approx \frac{(\vec{r}(l_j)-\vec{r}(l_{j-1}))\vec{r}(l)}{6|\vec{r}(l)|}[\rho(\vec{r}(l_j))+4\rho(\vec{r}(l_{j-1}))+\rho(\vec{r}(l_{j-1}))][/tex]
Noen som har noen ideer for hvordan Simpsons regel ser ut for vektorinput?
Simpsons regel forteller oss at
[tex]\int_a^b f(x)dx\approx \frac{b-a}{6}[f(b)+4f((a+b)/2)+f(a)],[/tex]
for ett intervall. Mer presist er funksjonen vi skal integrere
[tex]\rho(\vec{r}(l))=\frac{\rho_0}{(r(l)/r_c)(1+r(l)/r_c)^2},[/tex]
der
[tex]\vec{r}(l)=\sqrt{a^2+l^2-2alcos(\theta)}\frac{\vec{r}(l)}{|\vec{r}(l)|}.[/tex]
Dette er bare Pytagoras' generaliserte læresetning.
Vi skal integrere over [tex][0, l_{max}],[/tex] der vi har delt opp i m intervaller.
Så [tex]l_j=\frac{l_{max}}{m}j[/tex].
Så for hver iterasjon legges
[tex]\int_{l_{j-1}}^{l_j} \rho(\vec{r}(l))dl\approx S_j[/tex]
til summen fra forrige iterasjon. Vi skal også variere vinkelen theta i r, men det er hovedsakelig med dette vi sliter, om jeg ikke tar feil.
Det vi har prøvd er
[tex]S_j=\frac{|\vec{r}(l_j)-\vec{r}(l_{j-1})|}{6}[\rho(\vec{r}(l_j))+4\rho(\vec{r}(\frac{l_j+l_{j-1}}{2}))+\rho(\vec{r}(l_{j-1}))],[/tex]
men vi får altså ikke riktig svar.
Jeg har søkt en del rundt på nettet, og jeg finner ingenting annet enn en annen kar som ikke har funnet ut av dette, og heller ikke får det til med vektorinput. Én ting jeg tenker det kan være, er at vi må ta vektordifferanse [tex]\vec{r}(l_j)-\vec{r}(l_{j-1})[/tex] og gange med enhetsvektoren som vist over, men dette er jeg ganske usikker på. Altså
[tex]\int_{l_{j-1}}^{l_j}\rho dl\approx \frac{(\vec{r}(l_j)-\vec{r}(l_{j-1}))\vec{r}(l)}{6|\vec{r}(l)|}[\rho(\vec{r}(l_j))+4\rho(\vec{r}(l_{j-1}))+\rho(\vec{r}(l_{j-1}))][/tex]
Noen som har noen ideer for hvordan Simpsons regel ser ut for vektorinput?