DatorerProgrammering

Vad är Simpson metoden, och hur man genomföra det i språket Pascal

För att beräkna värdet av en integral, om än ungefärlig, det är en utmärkt metod, uppkallad efter sin upphovsman - metoden Simpson. Han kallade också parabler metod, eftersom den använder byggandet av en parabel. Denna siffra är baserad så nära som möjligt till funktionen. Egentligen är det sätt hur man bygger en parabel, som pekar sammanfaller exakt med punkterna i funktion det är omöjligt, och integral approximeras. Formeln lokaliseringen av dess gränser med a och b ser ut så här: 1 / h * (y + 4y 0 1 + 2y 2 + 4y 3 + ... + 4y n-1 + y n). Här behöver vi bara att beräkna varje y från 0 till n, där n vi definierar oss - ju mer desto bättre, ju mer y-s, desto mer ungefärliga till det sanna värdet av vårt arbete. Med avseende på h, och sedan detta steg beräknas med följande formel: (ba) / (n-1).

I teorin är allt ganska enkelt, men det skulle vara nödvändigt att genomföra allt detta i praktiken. För många programmerare finns inget bättre sätt att lösa detta problem, som en metod för Simpson - Pascal eller Delphi. I denna miljö är det mycket lätt att inte bara utvärdera integral, men också att bygga en graf över funktionen till det, och även byggt sin trapets. Så tittar vi på hur du snabbt kan implementera en metod för Simpson och även att förklara, om så önskas, både här och det är organiserat, alla som är intresserade.

Men jag minns hur det ser ut innan integral. Denna figur, som avgränsas av linjer som börjar med 'X' axel, dvs a och b.

Så, för att starta program du behöver för att skapa en funktion för integrerbara funktioner (ursäkta tautologi), som helt enkelt måste skriva f: = och något som vi kommer att hitta den integral. Här är det viktigt att inte felar i att ange en funktion i Pascal. Men det är en annan historia. Den resulterande koden kommer att se ut så här:

funktionen f (x: real): real;

Och grundläggande textfunktioner

börja

f: = 25 * ln (x) + sin (10); {Här och du måste skriva innehållet i dess funktioner}

avsluta;

Sedan skriva en funktion för att implementera metoden för Simpson. Start blir något i stil med:

funktion simpsonmetod (a, b: real; n: integer): real;

Därefter deklarerar vi variablerna:

var

s: real; {Delsummor (ytterligare förstå)}

h: real; {Steg}

min: heltal; Just {räknare}

mno: integer; {} De nästa multiplikatorerna

Och nu, i själva verket själva programmet:

börja

h: = (ba) / (n-1); {Räkna steg enligt standardformeln. Ibland steget är skriven på jobbet, i detta fall, inte denna formel gäller inte}

s: = f (b) + f (a); {Givet initiala tonhöjdsvärde}

MnO: = 4; {Kom ihåg formeln - 1 / h * (y + 4y 0 1 ... att detta 4 här och spelt, är den andra faktorn 2, men mer om detta senare}

Nu samma grundläggande formel:

för min: = 1 till n-2 inte börja

s: = s + MnO * f (a + h * Mu); Att summera {lägga till ytterligare en faktor multiplicerat med 4 * y n eller 2 * y n}

if (MnO = 4) sedan mno: = 2 annars MnO: = 4; {Denna faktor varierar och - om nu är 4, ändras till två och vice versa}

avsluta;

simpsonmetod: = s * h / 3; Nästa {cykel resulterande summan multipliceras med h / 3} i enlighet med formel

änden.

Det är det - göra alla åtgärder enligt formeln. Om du inte har listat ut hur man ansöker i huvudprogrammet metoden Simpsons exempel hjälpa dig med detta.

Så efter att ha skrivit alla skrivfunktioner

börja

n: = 3; Satte vi {n}

q: = simpsonmetod (a, b, n); {Eftersom Simpson metoden är att beräkna integralen av en till b, kommer det att finnas flera beräkningssteg, så ordna cykel}

upprepning

q2: = q; {Memorerade föregående steg}

n: = n + 2;

q: = simpsonmetod (a, b, n); {Och} värdet beräknas på följande sätt

tills (abs (q-q2) <0,001); {Inställningen noggrannhet är skriven, så tills du når den erforderliga noggrannheten, är det nödvändigt att upprepa samma åtgärder}

Här är en han - Simpson metod. I själva verket, inget komplicerat, allt skrivet mycket snabbt! Nu öppnar din Turbo Pascal och börja skriva programmet.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 sv.delachieve.com. Theme powered by WordPress.