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.
Code:
#!/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
Lesezeichen