| |
|
|
p.specht
| Ein Klassiker: El numerische Integration por Aufteilung uno Función y(x) en N igual große Streifen, Einpassung uno Parabel en jeweils drei Funktionspunkte y(x) y Summierung el matemáticamente nun relativ simplemente berechenbaren Flächen bajo el gefundenen Parabelstücken zwischen el vorgegebenen Grenzen X-unten y X-oben. Je después de Función liefert ya una Teilung en sólo 8 Streifen ya bastante brauchbare Ergebnisse! In nachstehender Versión es nun una Fehlerabfangmöglichkeit en el Funktions-Proc instalado.
'---------------------------------------------------------------------------------------
' BESTIMMTES INTEGRAL NACH DER SIMPSON-REGEL (3-Punkte-Parabel)
'---------------------------------------------------------------------------------------
' In leichter Anlehnung a: J.Ober/W.Sokol: Technische Gleichungssysteme
' XProfan 11.2a 2014-05 by P. Pájaro carpintero, Wien
' Keine sin embargo geartete Gewähr!
'---------------------------------------------------------------------------------------
' El numerisch a integrierende Función como FnY con Parámetro x! hier eingeben: -----
proc FnY :parámetros x!
declarar fny!
' Zum Fehler-Abfangen Magic-Valor -99999999999999 (- 14*'9') zurückgeben!
' caso x!=0:volver -99999999999999
' FnY! = 1/x! '... verträgt z.B. no Null en el Nenner!
' ORIGINALE TESTFUNKTION:
FnY! = 4/(1+sqr(x!))' Originale Testfunktion, ...
' muss en Integration zwischen 0 y 1: Pi() ergeben!
volver FnY!
ENDPROC
'---------------------------------------------------------------------------------------
Main:
$IFDEF Interpreter
Título de la ventana "Bestimmtes Integral después de el Simpson-Regel (3-Punkte-Parabel) I N T E R P R E T E R "
$ENDIF
$IFDEF Compiler
Título de la ventana "Bestimmtes Integral después de el Simpson-Regel (3-Punkte-Parabel) C O M P I L I E R T !"
$ENDIF
windowstyle 24:randomize:CLS rgb(200+rnd(56),200+rnd(56),200+rnd(56)):font 2:set("decimals",18)
declarar v$,xu!,xo!,xd!,dd&,e&,fk&,x!,n&,sum!,f!
Imprimir "\n 0. Zu integrierende Función como Proc FnY :parámetros x! einprogrammieren!\n"
Imprimir " Hecho ? [ J, j, Y, y ='Sí']: ";:input v$:v$=left$(lower$(trim$(v$)),1)
ifnot (v$="j") or (v$="y")
beep:Imprimir mkstr$("\n",12);tab(20);" B I T T E E R L E D I G E N ! ":waitinput :end
endif
LOOP:
imprimir "\n 1. Untergrenze des cierto Integrals: Xu = ";:input v$:xu!=val(v$)
if FNY(xu!)=-99999999999999:sound 2000,200
Imprimir "\n PROBLEM MIT FUNKTION AN STELLE X = ";x!;"\n":goto "Frage"
endif
imprimir "\n 2. Obergrenze des cierto Integrals: XO = ";:input v$:xo!=val(v$)
if FNY(xO!)=-99999999999999:sound 2000,200
Imprimir "\n PROBLEM MIT FUNKTION AN STELLE X = ";x!;"\n":goto "Frage"
endif
imprimir "\n 3. Anzahl el Streifen (Gerade Zahl, z.B. 8): ";:input v$:n&=val(v$)
n&=abs(n&):caso n&<2:n&=2:caso n&>1000000:n&=1000000:caso n& mod 2: n&=n&+1
' Verarbeitung (Simpson-Integration)
xd!=(xo!-xu!)/n&:x!=xu!:sum!=fny(x!):e&=-1
whileloop n&-1:e&=-1*e&:fk&=3+e&
x!=xu!+&Loop*xd!:f!=fny(x!):CASE f!=-99999999999999:BREAK
sum!=sum!+fk&*f!
endwhile
IF f!=-99999999999999:sound 2000,200
Imprimir "\n PROBLEM MIT FUNKTION AN STELLE X = ";x!;"\n":goto "Frage"
ENDIF
x!=xo!:sum!=sum!+fny(x!):sum!=xd!*sum!/3
imprimir "\n\n Das 'Bestimmte Integral' el Función FNY(x) "
imprimir " (el Fläche bajo el Kurve) zwischen Xu = ";
imprimir format$("%g",xu!);" y XO = ";format$("%g",xo!);","
imprimir " zusammengesetzt de ";int(n&);" Streifen, beträgt después de Simpson:"
imprimir "\n";tab(55);format$("%g",Sum!);"\n"
'
' --- Ergänzung para reine Testzwecke, sólo sinnvoll con el originalen FnY-Función:
if nearly(sum!,pi(),3)
imprimir " Computer-Pi() ";pi()
imprimir " Der absolute Fehler gegenüber Computer-Pi() beträgt ";abs(sum!-pi())
imprimir " Der relative Fehler gegenüber Computer-Pi() beträgt ";
imprimir abs(100*(sum!-pi())/pi());" % "
endif
' --------------------------------------------------------------------------------------
'
Cuestión:
Imprimir "\n Nochmal ? [ J, j, Y, y ='Sí']: ";:input v$
v$=left$(lower$(trim$(v$)),1):casenot (v$="j") or (v$="y"):FIN
CLS rgb(200+rnd(56),200+rnd(56),200+rnd(56)):goto "LOOP"
PROGEND
|
|
|
| XProfan 11Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 11.05.2021 ▲ |
|
|
|