Schrift
[thread]7567[/thread]

Numerische Integration



<< >> 5 Einträge, 1 Seite
Gast Gast
 2005-12-22 12:11
#61296 #61296
hallo ihr perler,

ich bin gerade dabei ein programm in perl zu programmieren, dass eine gegebene Funktion numerisch integrieren kann.
dabei muss das intervall (a,b) in N Teile zerlegt werden.

da ich blutiger anfänger bin, bin ich noch ganz am anfag und hoffe, dass ihr mir dabei weiter helfen könnt.

danke im vorraus für eure bemühungen

gruss
esskar
 2005-12-22 13:02
#61297 #61297
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
viel spass.
wie weit bist du denn schon ?
raggamuffin
 2005-12-22 15:01
#61298 #61298
User since
2005-12-22
2 Artikel
BenutzerIn
[default_avatar]
ehrlich gesagt hab ich noch nicht angefagen mit dem programmieren.
ich habe vorhin erstmal die mathematischen überlegungen gemacht, und habe jetzt keine ahnung wie ich anfangen soll.
wär ich nett, wenn ihr mir helfen könntet!
Taulmarill
 2005-12-22 16:22
#61299 #61299
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
wenn du noch gar nichts gemacht hast, dann zieh dir erst mal das tutorial von oreilly rein, danach solltest du schon eine ganz gute vorstellung davon haben, was du machen willst. => http://www.oreilly.de/catalog/einperl3ger/chapter/d_vorwort.html
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
Ronnie
 2005-12-22 18:22
#61300 #61300
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
Anregung:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/usr/bin/perl

use strict;
use warnings;

package Range;

sub new {
my $class = shift;
my $lower = shift;
my $upper = shift;
my $delta = shift || 0.00001;

my $self = {
lower => $lower,
upper => $upper,
delta => $delta,
current => $lower,
};
return bless $self, $class;
}

sub next {
my $self = shift;
if ($self->{current} + $self->{delta} < $self->{upper}) {
$self->{current} += $self->{delta};
return 1;
} else {
return undef;
}
}

package main;

sub integrate {
my $function = shift;
my $iter = shift;
my $sum;

do {
$sum += $function->($iter->{current}) * $iter->{delta};
} while ($iter->next());
return $sum;
}


print integrate(sub {(shift)**2}, new Range (2, 5)), "\n";

EDIT: Mit etwas Objektorientierung wird es einfach schöner.
EDIT2: Struktur etwas geändert.\n\n

<!--EDIT|Ronnie|1135278703-->
<< >> 5 Einträge, 1 Seite



View all threads created 2005-12-22 12:11.