Seite 2 von 2

Verfasst: 18.11.2005 03:16
von zigapeda
so ich muss jetzt doch wirklich um hilfe fragen...
ich hab alles was in meiner macht steht versucht d.h. mit pb und mit openoffice.
die formel in openoffice ist die hier
=(((3,141592*160*160*2*ASIN(SQRT(160*160-(160-A1)*(160-A1))/160))/360)-SQRT(160*160-(160-A1)*(160-A1))*(160-A1))*300
und die formel in pb sieht so aus

Code: Alles auswählen

For h = 0 to 100 step 5
  Debug ((#pi*#r*#r*2*ASin(Sqr(Pow(#r,2) - Pow(#r-h,2))/#r)/360)-(Sqr(Pow(#r,2) - Pow(#r-h,2))*#r-h))*#l
Next h
beide codes sind falsch...
hier nochmal nen pic von der formel: http://zigapeda.gpfclan.de/vz.jpg

Schon mal danke im vorraus

Verfasst: 18.11.2005 09:25
von bernd
Hallo,

versuche die Formel aufzusplitten:

z.B den Ausdruck unter der Wurzel als Wurzel = sqr((r*r-pow(r-h,2)).
Danach baust Du die Formel mit den neuen Variabeln wieder zusammen.
So behält man den Überblick und kann Teile der Formel separat testen
um Fehler aufzuspüren.

bis bald bernd

Verfasst: 18.11.2005 14:52
von zigapeda
hab ich auch schon versucht...
http://zigapeda.gpfclan.de/tz.pb

Verfasst: 18.11.2005 16:02
von Batze

Code: Alles auswählen

#r = 80
#l = 300
#pi = 3.141593

Procedure.f ArcSin(W.f)
  ProcedureReturn ASin(W) / #pi * 180
EndProcedure

EndProcedure

h.f = 100 ; Oder was weiß ich

g.f = (#r-h)
A.f = ( (#pi*#r*#r*2*ArcSin( Sqr(#r*#r - g*g ) / #r) / 360 ) - Sqr(#r*#r - g*g) * g )*#l 
Debug A.f 
Geht das so ?
Edit: Jetzt sollte es gehen oder?