Verfügbare Informationen zu "numerische integration"
Qualität des Beitrags: Beteiligte Poster: houwdy - Anonymous Forum: www.guggi.at.tt Forenbeschreibung: Forum vorwiegend zur schnellen Lösung elektronischer Probleme aus dem Unterforum: PROGRAMMIERSPRACHEN Antworten: 4 Forum gestartet am: Mittwoch 08.03.2006 Sprache: deutsch Link zum Originaltopic: numerische integration Letzte Antwort: vor 15 Jahren, 4 Monaten, 6 Tagen, 11 Stunden, 41 Minuten
Alle Beiträge und Antworten zu "numerische integration"
Re: numerische integration
houwdy - 22.11.2007, 00:25numerische integration
I hob mi heit dazua gsetzt und hob amol a pissl a Rohprogramm gschribn mit welchm man diverse Funktionen numerisch integriern konn
Vanice unser olta Kernelleser und -programmierer wert ma donn sogn wos er onders mochn tat.
// Includedateien einbinden
#include <stdio>
#include <math>
// Funktionsprototypen
double basic_function(double);
double size_of_space(double, double, double);
long double approximation(double, double, double, double);
bool check_entries(double, double, double);
// Mainfunktion
void main(void)
{
// Variablendeklartaion
double d_lower_edge, d_upper_edge, d_space, d_range;
long double ld_area =0;
// Einlesen des Startpunktes
printf ("Bitte geben sie den Startpunkt an: \t\t");
scanf("%lf", &d_lower_edge);
// Einlesen des Endpunktes
printf ("Bitte geben sie den Endpunkt an: \t\t");
scanf("%lf", &d_upper_edge);
// Einlesen der Integrationsauflösung
printf ("Bitte geben die Auflösung an (z.B.: 1000): \t");
scanf("%lf", &d_space);
// Eingegebene Werte auf Gültigkeit prüfen
if(check_entries(d_lower_edge, d_upper_edge, d_space) ==1)
{
// Berechung des Auflösungsraserabstandes
d_range = size_of_space(d_lower_edge, d_upper_edge, d_space);
// Aufrufen der Funktion Approximation welche integriert
ld_area = approximation(d_lower_edge, d_upper_edge, d_space, d_range);
printf ("%lf",ld_area);
}
}
// Prüfen der Eingabewerte
bool check_entries(double d_lower_edge, double d_upper_edge, double d_space)
{
if( d_lower_edge <d_upper_edge> 9 )
return 1;
else
printf("\n\n !!! Bitte ueberpruefen sie ihre Eingaben !!! \n \n");
return 0;
}
// Die Basisfunktion retourniert den Wert y wenn x übergeben wird.
double basic_function(double d_x)
{
double d_y= d_x * d_x; // hier kannst du deine Funktion eintragen
return d_y; // y wird zurückgegeben
}
// Berechnet den Abstand der Interpolationsräume zwischen den eingegebenen Punkten
double size_of_space(double d_lower_edge, double d_upper_edge, double d_space)
{
double d_range = (d_upper_edge - d_lower_edge) / d_space;
return d_range;
}
// Die eigentliche Integrationsfunktion welche numerisch integriert
long double approximation(double d_lower_edge, double d_higher_edge, double d_space, double d_range)
{
// Variablendefinition
int i;
double d_dynamic_y_startpositon, d_amplitude, d_dynamic_y_endpositon, d_dynamic_area, d_y_start, d_y_end;
long double ld_area =0;
d_y_start = d_lower_edge; // Startwert festlegen
// die Schleife tastet die Kurve ab
for (i=0; i < d_space; i++)
{
//setzt den temporären Endwert um eine Teilungseinheit auf x weiter.
d_y_end = d_y_start + d_range;
// rechnet den temporären y Endwert aus
d_dynamic_y_endpositon = basic_function(d_y_end);
// rechnet den temporären y Startwert aus
d_dynamic_y_startpositon = basic_function(d_y_start);
// rechnet y Endpos - y Startpos / 2 und summierd dies zur Startposition, mittelt dadurch die Amplitude
d_amplitude = d_dynamic_y_startpositon + ((d_dynamic_y_endpositon - d_dynamic_y_startpositon) / 2);
// Ergebniss als Betrag setzen
if ( d_amplitude < 0)
d_amplitude = d_amplitude *(-1);
// multipliziert die mittlere Amplitude mit der Teilungseinheit der x Achse
d_dynamic_area = d_amplitude * d_range;
// summiert die einzellnen Teilflächen
ld_area = ld_area + d_dynamic_area;
d_y_start = d_y_end;
}
return ld_area; // retourniert die Fläche
}
Re: numerische integration
Anonymous - 22.11.2007, 21:45
Sehr gut mein junger Padwan!
Zum ersten Mal hab ich nichts zu ergänzen :bravo:
Außer diese Zeile: if( d_lower_edge <d_upper_edge> 9 ) ???
Und nun zu deiner Meisterprüfung:
Programmier das als Klasse aus, die folgende öffentliche Methoden hat
setExactitude(dResolution)
setFunction - akzeptiert grundlegende Funktionen wie kx, kx^n, 1/kx^n, k^x, usw.
getArea(dLowerBound, dUpperBound)
Die Eingaben sollen sicher sein und die Methoden sollen ohne Instanzierung der Klasse ansprechbar sein (static)
MfG
Vanice
Re: numerische integration
houwdy - 23.11.2007, 00:02
Anonymous hat folgendes geschrieben:
Außer diese Zeile: if( d_lower_edge <d_upper_edge> 9 ) ???
des sollt hasn
if( d_lower_edge <d_upper_edge> 9 )
komischerweise hasts des a in meinem programm....
scheinbar hob i do beim Kopieren irgendwie gepfuscht....
keine ahnung :n22: mit der Syntax lossat sich des jo gornet compilieren
Re: numerische integration
houwdy - 23.11.2007, 14:00
zum nachprüfen
http://www.mathematik.ch/anwendungenmath/numint/
Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken
Weitere Beiträge aus dem Forum www.guggi.at.tt
java 16.05.2006 - gepostet von gerzii am Dienstag 16.05.2006
Lösungen SENG - Test 5.4.06 - gepostet von Vanice am Donnerstag 06.04.2006
was is passiert? - gepostet von Anonymous am Mittwoch 22.11.2006
der geilste sound der Welt - gepostet von houwdy am Mittwoch 28.06.2006
arrays mit php - gepostet von houwdy am Freitag 27.04.2007
Witze - gepostet von houwdy am Dienstag 27.02.2007
nur so ein gedanke - gepostet von *tesoro* am Sonntag 08.10.2006
Ähnliche Beiträge wie "numerische integration"
Youtube Integration in Wordpress Blog? - Jibber (Dienstag 09.10.2007)
Integration beginnt bei Information - Anonymous (Freitag 11.08.2006)
"Integration" der IGSM Ruder-AG Gruppe - Harald (Mittwoch 02.03.2005)
Die Zeit zum Thema Integration von Muslimen!!!!! - Farouk (Dienstag 10.01.2006)
Integration Klappe die 2. - Maria (Montag 16.07.2007)
Integration, Migration, Zu- und Abwanderung - dejost (Samstag 13.05.2006)
Integration: „Sprache als Schlüssel zur Integration“ - office (Dienstag 31.10.2006)
Integration eines Sprachchat-Tools - salanee (Mittwoch 13.06.2007)
So viel zur Integration von Balkan-Ausländern... (+Türken) - Hugi (Freitag 01.09.2006)
Religionsfreiheit und Integration - Anonymous (Montag 19.06.2006)
