Kreisradius aus Bogenlänge und Sehne berechnen mit Excel

Neue Frage »

klonoa Auf diesen Beitrag antworten »
Kreisradius aus Bogenlänge und Sehne berechnen mit Excel
Meine Frage:
Hallo.
Ich hoffe dass mir hier einer der Experten weiterhilft. Und zwar benötige ich einen Weg um beim Kreis den Radius zu berechnen, wobei nur die Sehne und die Bogenlänge bekannt ist. Gehen muss das, weil ein Kreis ja durch die beiden Variablen ja beschrieben ist. Mit den üblichen Formeln schaffe ich es aber nicht den Radius rauszuformen. Das geht wohl nur über Iteration was ich so gelesen habe. Wobei ich als Laie aber dann schon überfordert bin. Vor allem müsste ich das noch brauchbar in Excel darstellen, damit mir da automatisch ein Wert rauskommt, sobald ich s und b eingegeben habe. Kann mir da bitte jemand helfen? Das wäre toll. Vielen Dank schon mal, Peter

Meine Ideen:
PS: Die Seite von Arndt Brünner habe ich gefunden. Hier scheint es wohl zu funktioneren.
willyengland Auf diesen Beitrag antworten »

Guck mal hier:
https://www.arndt-bruenner.de/mathe/scripts/kreissehnen.htm

Dort kannst du b und s eingeben und er gibt r aus.

Approximation von alpha mit:
2·b·sin(alpha/2) = alpha·s (alpha im Bogenmaß)
r = b/alpha (alpha im Bogenmaß)
Steffen Bühler Auf diesen Beitrag antworten »
RE: Kreis Radius aus Bogenlänge und Sehne berechnen mit Excel
Willkommen im Matheboard!

Arndt Brünner macht das ja mit der Beziehung



Bei gegebenen kannst Du diese Nullstelle zum Beispiel per Newton-Verfahren in Excel finden:







Kommst Du damit weiter?

Viele Grüße
Steffen
HAL 9000 Auf diesen Beitrag antworten »

Wie willyengland es erwähnt hat: Man benötigt gewissermaßen die Umkehrfunktion der streng monoton fallenden Funktion

mit



Der gesuchte Sektorwinkel ist dann .
willyengland Auf diesen Beitrag antworten »

Müsste dann in Excel über Extras - Zielwertsuche gehen.
HAL 9000 Auf diesen Beitrag antworten »

Für kleine Argumente ist , daher gilt für "nahe" 1 approximativ .

In unserem Fall wäre dann also ein ganz guter Startwert für die von Steffen angesprochene Newton-Iteration.
 
 
klonoa Auf diesen Beitrag antworten »

Danke für die vielen und schnellen Antworten.
Leider bin ich nun kein "Mathematiker" und mit den Lösungen etwas überfordert und hatte gehofft es gibt da evtl für Excel eine einfachere Lösung. Mit der Zielwertsuche klappts, aber nun weiß ich nicht wie diese automatisch abläuft. Der Hintergrund ist: Für meine kleine Firma habe ich da ein Berechnungstool im Excel gebaut, wo ich den Durchhang einer Leine berechnen muss, vereinfacht gesagt. Wofür ich den Radius benötige. Als Teil von dem Konstrukt. Und damit das für andere brauchbar ist muss ich nach der Eingabe von Sehnenlänge und Bogenlänge einen Radius rausbekommen. Der müsste gar nicht mal so genau sein.
LG,
Peter
hawe Auf diesen Beitrag antworten »

In XL müsste man
Optionen Formeln: Iterative Berechnung aktivieren

A1=b
A2=s
A3=WENN(B3>0;B3; (((-2 * A1) * SIN((0,5 * A3))) + ((A1 * A3) * COS((0,5 * A3)))) / ((A1 * COS((0,5 * A3))) - A2))
über B3=0 Iteration starten oder ggf. einen Startwert geben falls notwendig...

[attach]56960[/attach]
Steffen Bühler Auf diesen Beitrag antworten »

Mit Newton mache ich es so:

in B1 steht s, in B2 steht b, in A4 der Startwert.

Dann in A5: =A4-(2*$B$2*SIN(A4/2)-A4*$B$1)/($B$2*COS(A4/2)-$B$1)

und runterziehen. Mit einem optimalen Startwert (siehe HAL) ist man eh schon sehr nahe dran, ansonsten drei, vier Zeilen tiefer.

Dann nur noch b durch diesen Wert teilen.
willyengland Auf diesen Beitrag antworten »

Mit Zielwert geh es so: siehe Bild
- Du gibst die Formel in F2 ein. =2*D2*SIN(B2/2)-B2*C2
- In C2, D2 stehen Sehne und Bogen
- In B2 schreibst du einen Näherungswert für den Winkel in Rad, irgendwas, z.B. 2
Dann Cursor auf die Formel und du gehst auf Extras - Zielwert:
- Formelzelle: steht schon richtig.
- Zielwert: 0
- Variable Zelle: B2 (der Startwert, hier 2)
Dann OK.

In Libre-Office sieht das so aus, müsste in Excel praktisch genauso gehen:

[attach]56962[/attach]
klonoa Auf diesen Beitrag antworten »

Danke für die unterschiedlichen gezeigten Wege.
Da das Ganze möglichst automatisch laufen soll, ist für mich die Version von Hawe am besten.
Bei Steffen und willyengland müsste ich eben noch Schritte manuell machen. Ich schau mal wie weit ich damit komme und melde mich falls ich scheitere.
Aber nochmal Vielen Lieben Dank!

Peter
Steffen Bühler Auf diesen Beitrag antworten »

Zitat:
Original von klonoa
Bei Steffen und willyengland müsste ich eben noch Schritte manuell machen.

Bei mir keinesfalls! Einfach alles so eingeben wie geschrieben, dann ist in Zelle A7 immer der Winkel, durch den Du die Bogenlänge teilst.
hawe Auf diesen Beitrag antworten »

Ich bin in der TABCALC zwar von einem anderen Zusammenhang ausgegangen
in der ggb App hab ich die Formel von hier verwendet (zum Abgleich quasi)


https://www.geogebra.org/m/rtkhdbae
nach Eingaben oder Änderungen ggf. Strg+R um die Anwendung komplett durchzurechnen

Berichte mal, wie sich der Ansatz bewährt?
HAL 9000 Auf diesen Beitrag antworten »

@hawe

Wer dein Skript anwendet, muss sich der Symbolkollision im Hinblick auf die Bezeichnungen in DIESEM Thread hier bewusst sein:





EDIT: Nein, stimmt auch nicht. Was ist eigentlich mit deinem gemeint? Das vermag ich überhaupt nicht zu erkennen. verwirrt
klauss Auf diesen Beitrag antworten »
RE: Kreis Radius aus Bogenlänge und Sehne berechnen mit Excel
Die Aufgabe ist zwar einigermaßen fortgeschritten, aber da ich gestern keine Zeit hatte, stelle ich den von mir getesteten Weg noch außer Konkurrenz zur Verfügung.
Nach Näherung des Sinus mittels Taylorpolynom und Substitution erhalte ich die Gleichung

Der Sektorwinkel (im Bogenmaß) ist dann die Wurzel aus einer der beiden Lösungen.
Ob das auch für Excel-Einsatz brauchbar ist, bleibt zu prüfen.
Steffen Bühler Auf diesen Beitrag antworten »
RE: Kreis Radius aus Bogenlänge und Sehne berechnen mit Excel
Zitat:
Original von klauss
Ob das auch für Excel-Einsatz brauchbar ist, bleibt zu prüfen.

Ich hab's gerade mal eingegeben, da kommen allerdings ganz andere Zahlen raus. Kannst Du die quadratische Gleichung noch mal anschauen?
HAL 9000 Auf diesen Beitrag antworten »

klauss hat noch ein Taylorglied von hinzugenommen, und dann für die Gleichung nach aufgelöst, man muss dabei immer den Minuszweig nehmen, d.h.,

.

Klappt für Winkel ganz gut mit einem relativen Fehler <0,5%,


Bei sehr großen überstumpfen Winkeln und damit Winkeln nahe an sollte man sie aber nicht nehmen, da die quadratische Gleichung dann gar keine Lösung mehr hat. In dem Fall würde man sich dann wohl sowieso eher was für überlegen.
Steffen Bühler Auf diesen Beitrag antworten »

Ah, da hat also nur eine Wurzel gefehlt, danke!

Gut, dann reduziert sich meine Excel-Lösung auf den Zelleintrag

=WURZEL(40-8*WURZEL(5)*WURZEL(-B2+6*B1)/WURZEL(B2))

PS: und wenn gleich der Radius da stehen soll:

=B2/(WURZEL(40-8*WURZEL(5)*WURZEL(-B2+6*B1)/WURZEL(B2)))

oder noch kürzer (s.o.):

=B2/WURZEL(40*(1-WURZEL((6*B1)/(5*B2)-1/5)))
klonoa Auf diesen Beitrag antworten »

Hm, hier hat sich ja seit gestern einiges getan..
Mit der Lösung von Hawe bin ich stecken geblieben. Weil ich immer eine Fehlermeldung bezüglich Zirkelbezug bekomme, wenn ich Excel neu starte. Weil Iteration standardmäßig wohl nicht gespeichert wird. Nachdem ich Iteration angehakt habe, klappts wieder. Was ich so im Netz gefunden habe dürfte das auch nicht so einfach zu lösen sein, weil die Zirkelbezugsabfrage wohl voran gestellt wird.
@ Steffen - dann versuche ich das nun mit Deiner Lösung.

Danke erstmal,
SG,
Peter
HAL 9000 Auf diesen Beitrag antworten »

Meine Resümee aus allen Betrachtungen:

ergibt im gesamten Parameterintervall zumindest einen guten Startwert für die Newtoniteration des Sektorwinkels .

Für sehr nahe an 0 oder 1 reicht womöglich selbst schon als Näherung.
hawe Auf diesen Beitrag antworten »

Hm,

mein XL und auch das angehängte Google Sheet machen bezüglich der Iteration-Einstellung keine Probleme...
Wobei die iterativen Verfahren immer mal wieder klemmen bzw. nicht konvergieren.

Vielleicht auch ein VBA-Ansatz wie

Function iteration(b as double, s as double, Ret as double) as double
Dim r As Double
r = (((-2 * s) * Ret) + ((2 * Ret ^ (2)) * Sin((0.5 * b / Ret))) + ((b * Ret) * Cos((0.5 * b / Ret)))) / ((b * Cos((0.5 * b / Ret))) - s)
If Abs(r - Ret) < 10 ^ -5 Then
iteration = r
Else
iteration = iteration(b, s, r)
End If

End Function


Function RadiusBogenSeg(b as double, s as double) as double
RadiusBogenSeg = iteration(b, s, s / 2)
End Function

Statt s/2 kannst DU ja die von HAL vorgeschhlagenen Startwerte vergeben. Abbruch bei Fehler < 10^-5.
Kannst Du mit dem Code umgehen?
klonoa Auf diesen Beitrag antworten »

Zitat:
Original von Steffen Bühler
Ah, da hat also nur eine Wurzel gefehlt, danke!

Gut, dann reduziert sich meine Excel-Lösung auf den Zelleintrag

=WURZEL(40-8*WURZEL(5)*WURZEL(-B2+6*B1)/WURZEL(B2))

PS: und wenn gleich der Radius da stehen soll:

=B2/(WURZEL(40-8*WURZEL(5)*WURZEL(-B2+6*B1)/WURZEL(B2)))

oder noch kürzer (s.o.):

=B2/WURZEL(40*(1-WURZEL((6*B1)/(5*B2)-1/5)))


Super, das funktioniert sehr gut für mich!
Danke nochmal an alle Beteiligten. Hätte nicht gedacht so schnelle und tolle Hilfe zu bekommen.
Freut mich wirklich mordsmäßig!!
GLG,
Peter
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »