Español
Fuente/ Codesnippets

Fläche bajo Funktionskurve por SIMPSON-INTEGRATION ermitteln

 

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 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
11.05.2021  
 



Zum Quelltext


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

638 Views

Untitledvor 0 min.
Ernst21.07.2021
Uwe ''Pascal'' Niemeier13.06.2021
R.Schneider28.05.2021
Michael W.28.05.2021
Más...

Themeninformationen

Dieses Thema ha 1 subscriber:

p.specht (1x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie