Arbeit mit Unterprogrammen |
(als PDF-Datei mit lesbaren Formeln)
- Es ist ein Funktionsunterprogramm zur numerischen Integration (z.B. mittels Simpson-Regel)
einer beliebigen Funktion f(x) zu schreiben.
Dem Funktionsunterprogramm sind als Parameter die Integrationsgrenzen a,b, die
Funktion f und die Anzahl n der zu verwendenden Teilintervalle
von [a,b] zu übergeben, d.h.
Real Function SIMPSON (a,b,n,f)
soll folgendes berechnen:
|
b ∫ a
|
f(x) dx ≈ |
h
6
|
|
2n ∑
k=0
|
ck f(xk), mit |
|
h= |
(b-a)
n
|
, xk=a+k |
h
2
|
, ck = |
{
|
|
|
|
Der so bestimmte Näherungswert des Integrals ist als Funktionswert der
Funktion SIMPSON zurückzugeben.
Die beliebige Funktion f(x) wird als Parameter
f an das Programm übergeben. Als Testbeispiel sind mehrere
FUNCTION-Unterprogramme zu schreiben (siehe unten), deren jeweils aktueller Funktionsname
an die Funktion SIMPSON übergeben wird.
- Dazu gehört ein Hauptprogramm, mit dem diese Funktion
getestet werden kann. Ausgabe als ,,Tabelle'' für
n=1,…,10 jeweils die berechneten Näherungswerte für
die Integrale
|
π/2 ∫
−π/2 |
sin2 x dx, |
π/2 ∫
−π/2 |
cosx dx, |
π/2 ∫
−π/2 |
|
√
|
1+cos2 x
|
dx,
… |
|
Hinweis: Pi_halbe = ATAN2(1.,0.)
Ergebnisse:
π/2, 2, 3.820197789027712
- Beachte:
Im Hauptprogramm,
das die Funktion SIMPSON
mit einer aktuellen Funktion F1 aufrufen soll, muss der
Name F1 des als FUNCTION geschriebenen Unterprogramms
als EXTERNAL vereinbart werden,
z.B. für ein Funktionsunterprogramm
REAL FUNCTION MyTestFunc(x)
...
ist im Hauptprogramm zu vereinbaren
REAL MyTestFunc
EXTERNAL MyTestFunc
oder
REAL, EXTERNAL :: MyTestFunc
Wenn Standardfunktionen (z.B. COS)
als Parameter übergeben werden sollen, ist der typgerechte Name
der Funktion mit der Vereinbarung
INTRINSIC COS bzw. INTRINSIC DCOS
für REAL bzw. DOUBLEPRECISION zu verwenden.
Bsp.:
REAL Simpson,F1,F3
EXTERNAL F1,F3
INTRINSIC COS
...
write(*,*) n,Simpson(a1,b1,n,F1),Simpson(a2,b2,n,COS),...
...
File translated from
TEX
by
TTH,
version 3.08.