Side 1 av 1

Simpsons-integrasjon med vektorargument

Lagt inn: 25/11-2012 11:57
av bartleif
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?

Lagt inn: 25/11-2012 14:09
av Vektormannen
Skal det ikke være

[tex]\int_{l_{j-1}}^{l_j} \rho(\vec{r}(l)) \text{d}l \approx \frac{l_j - l_{j-1}}{6}[\rho(\vec{r}(l_{j-1})) + 4\rho(\vec{r}((l_{j-1} + l_j)/2)) + \rho(\vec{r}(l_{j}))] = \frac{l_{\text{max}}}{6m}[\rho(\vec{r}(l_{j-1})) + 4\rho(\vec{r}((l_{j-1} + l_j)/2)) + \rho(\vec{r}(l_j))][/tex]?

EDIT: fikset noe

Lagt inn: 26/11-2012 13:47
av bartleif
Takk for svar. Det viser seg at det ikke er et vektorargument likevel, men integrasjonen byr fortsatt på problemer. Dette er jo ikke en todimensjonal integrasjon, men vi skal også variere over vinkelen. Slik jeg tenker på det, er vi ute etter en sum av integraler, eller siden vi bruker en Simpson-tilnærming av integralet, en sum av summer over m med ulike vinkler.

Matematisk ser dette noe ut som dette:

[tex]\sum_{i=0}^n{\int_0^{l_{max}}{\rho(r(l,\theta_i))dl}\approx\sum_{j=1}^m\frac{\Delta l}{6}[\rho(r(l_{j-1},\theta_0))+4\rho(r(\frac{l_{j-1}+l_j}{2},\theta_0))]+\rho(r(l_j,\theta_0))[/tex]

[tex]+\sum_{j=1}^m\frac{\Delta l}{6}[\rho(r(l_{j-1},\theta_1))+4\rho(r(\frac{l_{j-1}+l_j}{2},\theta_1))+\rho(r(l_j,\theta_1))][/tex]

[tex]+...[/tex]

[tex]+\sum_{j=1}^m\frac{\Delta l}{6}[\rho(r(l_{j-1},\theta_n))+4\rho(r(\frac{l_{j-1}+l_j}{2},\theta_n))]\left)[/tex].

Kan det være at vi mangler en vekting som følge av at vi endrer vinkelen underveis? Er det eventuelt noen andre feil som dere kan se?