RekenaarsProgrammering

Wat is die Simpson-metode, en hoe om dit te implementeer in die taal Pascal

Om die waarde van 'n integrale te bereken, al is dit by benadering, daar is 'n uitstekende metode, vernoem na sy skepper - die metode van Simpson. Hy het ook genoem parabole metode, omdat dit gebruik maak van die konstruksie van 'n parabool. Hierdie syfer is gebaseer so na as moontlik aan die funksie. Eintlik is die manier hoe om 'n parabool, wat daarop dui saamval presies met die punte van die funksie te bou, is dit onmoontlik, en die integrale benader. Formule ligging van die grense met 'n en b lyk soos volg: 1 / h * (y + 4y 0 1 + 2y 2 + 4y 3 + ... + 4y N-1 + y n). Hier het ons net nodig het om elke y bereken vanaf 0 tot N, waar N onsself te definieer - die meer, hoe beter, want hoe meer y-s, hoe meer benaderde om die werklike waarde van ons werk. Met betrekking tot h, en dan hierdie stap word bereken deur die volgende formule te gebruik: (ba) / (N-1).

In teorie, alles is eenvoudig, maar dit is nodig sou wees om al hierdie dinge te implementeer in die praktyk. Vir baie programmeerders is geen beter manier om hierdie probleem op te los, as 'n metode van Simpson - Pascal of Delphi. In hierdie omgewing, is dit baie maklik om nie net die integrale evalueer, maar ook om 'n grafiek van die funksie te bou om dit, en selfs gebou haar trapeze. So, kyk ons na hoe jy vinnig 'n metode van Simpson kan implementeer en selfs om te verduidelik, as jy wil, beide hier en dit is georganiseer, al diegene wat belangstel.

Maar ek onthou hoe dit lyk voor hierdie integrale. Hierdie syfer, wat begrens word deur lyne begin met "X" as, dit wil sê 'n en b.

So, om die program te begin wat jy nodig het om 'n funksie vir integreerbare funksies (verskoon die toutologie), wat eenvoudig moet f skryf skep: = en iets waarvoor ons die integrale vind. Hier, is dit noodsaaklik om nie te dwaal in die invoer van 'n funksie in Pascal. Maar dis 'n ander storie. Die gevolglike kode sal so lyk:

funksie f (x: real): real;

En die basiese teks funksies

begin

f: = 25 * ln (x) + sonde (10); {Hier en wat jy nodig het om die inhoud van sy werksaamhede te skryf}

eindig;

Skryf dan 'n funksie om die metode van Simpson implementeer. Begin sal so iets wees:

funksie simpsonmetod (a, b: real; N: integer): real;

Volgende, verklaar ons die veranderlikes:

var

s: real; {Subtotale (verder verstaan)}

h: real; {Stap}

my: integer; Net {counter}

MnO: integer; {} Die volgende vermenigvuldigers

En nou, in werklikheid, die program self:

begin

h: = (BA) / (N-1); {Verwag stap volgens die standaard formule. Soms is die stap is geskrywe in die werk, in hierdie geval, beteken dit formule nie van toepassing}

s: = f (b) + f (a); {Gegewe aanvanklike helling waarde}

MnO: = 4; {Onthou die formule - 1 / h * (y + 4y 0 1 ... dat hierdie 4 hier en gespel, die tweede faktor is 2, maar meer hieroor later}

Nou dat dieselfde basiese formule:

vir my: = 1 tot N-2 doen begin

s: = s + MnO * f (a + h * Mu); Om op te som {voeg nog 'n faktor vermenigvuldig met 4 * y N of 2 * y n}

indien (MnO = 4) dan MnO: = 2 anders MnO: = 4; {Hierdie faktor varieer en - as dit is nou 4, is verander na 2 en omgekeerd}

eindig;

simpsonmetod: = s * h / 3; Volgende {siklus lei som word vermenigvuldig met h / 3} volgens formule

einde.

Dit is dit - doen alle aksies volgens die formule. As jy nog nie uitgepluis het hoe om aansoek te doen in die hoofprogram metode voorbeeld Simpson se jy help met hierdie.

So toe Moses skryf funksies

begin

N: = 3; Ons stel {n}

V: = simpsonmetod (a, b, n); {Sedert die Simpson-metode is om die integraal van 'n te bereken om B, sal daar 'n hele paar berekening stappe, so siklus reël}

herhaling

q2: = q; {Gememoriseerde vorige stap}

N: = n + 2;

V: = simpsonmetod (a, b, n); {En} waarde word soos volg bereken

totdat (ABS (q-q2) <0.001); {Die instelling akkuraatheid geskryf is, so totdat jy die vereiste akkuraatheid te bereik, is dit nodig om dieselfde optrede herhaal}

Hier is 'n hy - Simpson-metode. Trouens, niks ingewikkeld, alles is baie vinnig geskryf! Nou maak jou Turbo Pascal en begin skryf die program.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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