KompjûtersProgramming

Wat is de Simpson metoade, en hoe om te fieren dat yn 'e taal Pascal

Om berekkenjen de wearde fan in yntegraal, al wie approximate, der is in poerbêste metoade, neamd nei syn betinker - de metoade fan Simpson. Er ek neamd parabolas metoade, omdat it brûkt de bou fan in Vida. Dizze figuer is basearre sa ticht mooglik by de funksje. Eins, de wize hoe't it bouwen fan in Vida, dat wiist gearfalle krekt mei de punten fan 'e funksje, it is ûnmooglik, en it yntegraal wurdt approximated. Formule lokaasje fan har grinzen mei a en b sjocht der sa út: 1 / h * (y + 4Y 0 1 + 2y 2 + 4Y 3 + ... + 4Y n-1 + y n). Hjir, wy krekt moatte berekkenjen eltse y fan 0 oant n, wêr n wy definiearje ússels - hoe mear, hoe better, omdat de mear y-s, wat mear approximate nei de wiere wearde fan ús wurk. Mei respekt foar h, en dan dizze stap wurdt berekkene troch de folgjende formule: (ba) / (n-1).

Yn teory, alles is hiel simpel, mar it soe wêze nedich te fieren allegear fan dy yn 'e praktyk. Foar in protte programmeurs is gjin bettere manier te lossen dit probleem, as in metoade fan Simpson - Pascal of Delphi. Yn dizze omjouwing, it is hiel maklik net allinne oan beoardielingsynstruminten foar it yntegraal, mar ek de bou fan in grafyk fan de funksje oan it, en sels boud har trapeze. Sa, we sjogge hoe't jo kinne fluch útfiere in metoade fan Simpson en sels te lizzen, as winske, sawol hjir en dat wurdt organisearre, al dy belangstellenden.

Mar ik wit wat it liket foar dit yntegraal. Dizze figuer, dat wurdt begrinze troch de rigels begjinne mei 'X' assen, i.e. a en b.

Dus, om te begjinnen it programma moatte jo meitsje in funksje foar integrable funksjes (ferjou ús dizze tautology), dy't gewoan te skriuwen f: = en wat foar dêr't wy sille fine it yntegraal. Hjir, it is krúsjaal net te dwale yn it ynfieren fan in funksje yn Pascal. Mar it is in oare ferhaal. It gefolch koade sil sjen wat like this:

function f (x: real): real;

En de grûntekst funksjes

begjinne

f: = 25 * LN (x) + sin (10); {Hjir en jo moatte skriuwe de ynhâld fan syn funksjes}

end;

Dan skriuw in funksje oan it útfieren fan de metoade fan Simpson. Start sil wêze wat as:

function simpsonmetod (a, b: real; n: integers): real;

Folgjende, wy ferklearje de fariabelen:

var

s: real; {Subtotals (fierder begripe)}

h: real; {Step}

my: integer; Krekt {counter}

mno: integer; {} De folgjende multipliers

En no, yn feite, it programma sels:

begjinne

h: = (ba) / (n-1); {Ferwachtsje stap neffens de standert formule. Soms de stap is skreaun yn 'e baan, yn dit gefal, dy formule net fan tapassing}

s: = f (b) + f (a); {Given initial pitch wearde}

mno: = 4; {Tink om 'e formule - 1 / h * (y + 4Y 0 1 ... dat dizze 4 hjir en stavere, de twade faktor is 2, mar mear op dit lettere}

No't dat deselde basis formule:

for my: = 1 oant n-2 do begjinne

s: = s + mno * f (a + h * Mu); Om sum {heakjen in oare faktor fermannichfâldige mei 4 * y n of 2 * y n}

as (mno = 4) dan mno: = 2 oars mno: = 4; {Dizze faktor fariearret en - as no is 4, wurdt feroare nei 2 en oarsom}

end;

simpsonmetod: = s * h / 3; Folgjende {fytse gefolch bedrach wurdt fermannichfâldige troch h / 3} neffens formule

ein.

Dat is it - dogge alle aksjes neffens de formule. As jo hawwe net betocht hoe't te passen yn 'e wichtichste programma metoade Simpson syn foarbyld helpe jo mei dizze.

Sa neidat it skriuwen alle skriuwe funksjes

begjinne

n: = 3; Wy sette {n}

q: = simpsonmetod (a, b, n); {Sûnt de Simpson metoade is om te bepalen de yntegraal fan in te b, dêr sille meardere berekkening stappen, dus regeljen fytse}

repeat

Q2: = q; {Memorized foarige stap}

n: = n + 2;

q: = simpsonmetod (a, b, n); {En} wearde wurdt berekkene as folget

oant (ABS (q-Q2) <0.001); {De ynstelling accuracy wurdt skreaun, dus oant jo berikke de fereaske krektens, is it nedich om te werhelje deselde aksjes}

Hjir is in hy - Simpson metoade. Yn feite, neat yngewikkeld, alles is skreaun hiel gau! No iepenje jo Turbo Pascal en begjinne skriuwen fan it programma.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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