Autor Beitrag
clementine
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Sa 18.12.10 13:45 
Hallo, ich muss für die Schule ein Programm zur näherungsweisen Bestimmung von Integralen mit der Rechteckmethode schreiben muss.
Ich hab' allerdings 'n paar Probleme dabei.
Das Programm liest die Funktion ein, die Intervallgrenzen und die Anzahl der Rechtecke. Berechnet dann die Breite der Streifen und soll dann sowohl den linken als auch den rechten Funktionswert ausrechnen, an dem das Rechteck eben auf die Kurve trifft.
Wenn er dann die Untersumme berechnet, soll er schauen, welcher der Funktionswerte der kleinere ist und dann damit und der Breite des Streifens den Inhalt dieses Streifens ausrechnen.

Ich weiß nur nicht, wie ich das programmieren soll, dass er nach und nach jedes Rechteck durchgeht.
Mit 'ner Schleife ja auf jeden Fall also zB for i:=1 to n (Anzahl der Streifen) do
Und dann, dass die Gesamtsumme aus den einzelnen Flächeninhalten der Streifen zusammengerechnet wird.

Ich hab' es so versucht:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
        begin
          unters:=unters+us[i];
          for j:=0 to n-1 do yL:=(a*(x1+j*d))+b;
          for k:=1 to n do   yR:=(a*(x1+k*d))+b;
          if yL<yR then us[i]:=d*yL else us[i]:=d*yR;
        end;
      label12.caption:=floattostrf(unters,fffixed,5,2);


Aber es geht nicht ):

Ich hoffe, irgendjemand kann mir behilflich sein.

LG.

Moderiert von user profile iconMartok: Delphi-Tags eingefügt
ALF
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1085
Erhaltene Danke: 53

WinXP, Win7, Win10
Delphi 7 Enterprise, XE
BeitragVerfasst: Sa 18.12.10 14:01 
Hi und :welcome:
Hast Du dir schon mal angeschaut das Du die Variable 'unters' gar nicht aktuallisierst nach den For schleifen!? Was soll also im Label angezeigt werden, ausser der Wert der oben initiallisiert wird!

Gruss ALf

_________________
Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
clementine Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Sa 18.12.10 14:09 
Muss ich dann das obere unters:=unters+us[i] stehen lassen oder wegnehmen ? Und was soll ich unten drunter hinschreiben, um das zu aktualisieren ?
LG
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19276
Erhaltene Danke: 1741

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 18.12.10 14:14 
user profile iconclementine hat folgendes geschrieben Zum zitierten Posting springen:
Und was soll ich unten drunter hinschreiben, um das zu aktualisieren ?
Ist dir denn klar, was da mathematisch passieren muss? Denn genau das musst du da dann ja machen.
clementine Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Sa 18.12.10 14:16 
Was genau jetzt mathematisch verstehen ? Die Rechteckmethode oder das mit dem Aufaddieren der Einzelteile ?
ALF
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1085
Erhaltene Danke: 53

WinXP, Win7, Win10
Delphi 7 Enterprise, XE
BeitragVerfasst: Sa 18.12.10 14:17 
Ergo, nach der if Anweisung sollte 'unters' aktualisiert werden nicht am Anfang

Gruss ALf

_________________
Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!