PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bitte kurz den Code beurteilen



Badsteve
20-11-2003, 17:03
Kann mal jemand bitte meinen Code beurteilen bzw. vielleicht sagen, was man noch verbessern könnte?

Noch ein paar Erklärungen zum Code. Es wird das bestimmte Integral mit der Simpsonregel im Abschnitt von $a bis $b berechnet. $fkt nimmt die Funktion auf, und $n gibt an mit wievielen Teilen gerechnet werden soll. Umso größer $n desto genauer, aber es dauert dementsprechend auch länger.



#!/usr/bin/perl -w

$fkt = 'sqrt(2*x**2+1)';
$a = 0; $b = 2; $n = 4;


$int = ($b-$a)/$n;

for( $i=$a, $p =0; $i<=$b; $i+=$int, $p++) {
($tmp = $fkt) =~ s/x/$i/gi;
$wert = eval $tmp;
if ( $i == $a or $i == $b) { $ergebnis += $wert; }
elsif ( $p%2 == 0 ) { $ergebnis += 2*$wert }
else { $ergebnis += 4*$wert }
}

$ergebnis *= ($b-$a)/($n*3);
print "$ergebnis ........$/" ;



danke // Steve

axeljaeger
20-11-2003, 19:30
Ich weis nicht, ob sich das so einfach einbauen lässt, aber wir haben das heute in der Schule für unendlich viele Teile gemacht. Das war noch gut auf Papier zu rechnen.

Badsteve
20-11-2003, 19:42
wenn du mir sagst, was ihr genau gemacht habt?

Steve

peschmae
20-11-2003, 20:07
für unendlich viele Teile geht doch nur dann recht gut, wenn du die Stammfunktion kennst. So ist es aber recht viel universeller, oder?

MfG Peschmä

Badsteve
20-11-2003, 20:12
Original geschrieben von peschmae
für unendlich viele Teile geht doch nur dann recht gut, wenn du die Stammfunktion kennst. So ist es aber recht viel universeller, oder?

MfG Peschmä

sehe ich auch so. Die Stammfunktion zu bestimmen ist ungleich schwerer, vor allem bei Funktionen, die noch sin/cos ... enthalten. Der Vorteil dieser Methode ist außerdem, dass man das Integral von nahezu jeder Funktion betimmen kann.

Oder hab ich dein "universell" jetzt falsch verstanden?


Steve

peschmae
21-11-2003, 06:53
Nein, das war genau so gemeint :)

MfG Peschmä

axeljaeger
21-11-2003, 14:05
Das, was wir gemacht haben, nennt sich Rieman-Integral. Jetzt nach genauerem Hinsehen ist mir aufgefallen, dass das da nicht hinhauen wird. Wir haben das für x^2 gemacht, da ging das noch gut ohne Stammfunktion.

Badsteve
21-11-2003, 16:15
Original geschrieben von peschmae
Nein, das war genau so gemeint :)

MfG Peschmä

gut.