Autor |
Dreieckberechnung mit 2 Winkelhalbierenden und einer Seite |
|
ebikerni
Aktiv  Dabei seit: 17.10.2020 Mitteilungen: 256
 | Themenstart: 2023-01-11
|
Hallo,
gegeben sind in einem Dreieck :
wha = 8 ( Winkelhalbierende in A )
whb = 14 ( Winkelhalbierende in B )
a oder b = 20
Wie groß sind die ersten Lösungen ?
Für alle Antworten bin ich sehr dankbar.
Gruß ebikerni
|
Profil
|
Caban
Senior  Dabei seit: 06.09.2018 Mitteilungen: 2786
Wohnort: Brennpunkt einer Parabel
 | Beitrag No.1, eingetragen 2023-01-11
|
Hallo
Du würdest ein Gleichungssystem mit zwei Unbekannten erhalten.
\omega_\alpha=sqrt(b*c*(1-a^2/(b+c)^2))
\omega_\beta=sqrt(a*c*(1-b^2/(a+c)^2))
|
Profil
|
werner
Senior  Dabei seit: 23.10.2004 Mitteilungen: 2286
Wohnort: österreich
 | Beitrag No.2, eingetragen 2023-01-12
|
und mit ein bißerl Geschick kannst du diese Gleichungen mit dem 1-dimensionalen Newton lösen
a = 20
b = 13.65
c = 11.98
|
Profil
|
ebikerni
Aktiv  Dabei seit: 17.10.2020 Mitteilungen: 256
 | Beitrag No.3, vom Themenstarter, eingetragen 2023-01-13
|
Hallo,
danke für die wertvollen Mitteilungen.
Ich bin aber nicht in der Lage, die Dreieckseiten b u. c in den beiden Gleichungen mit dem 2 - dim. Newtonverfahren zu bestimmen.
Für mich wertvolle Hinweise wieder für die Erstellung eines Programms
bin ich sehr dankbar.
Gruß ebikerni
|
Profil
|
Caban
Senior  Dabei seit: 06.09.2018 Mitteilungen: 2786
Wohnort: Brennpunkt einer Parabel
 | Beitrag No.4, eingetragen 2023-01-13
|
Hallo
Stelle die zweite Gleichung nach b um und setze in die erste ein. Ich gehe erstmal davon aus, das a 20 cm ist.
Gruß caban
|
Profil
|
werner
Senior  Dabei seit: 23.10.2004 Mitteilungen: 2286
Wohnort: österreich
 | Beitrag No.5, eingetragen 2023-01-15
|
und da ja Bilderl mehr sagen als Worte
https://matheplanet.com/matheplanet/nuke/html/uploads/c/6049_a_wa_wb.JPG
|
Profil
|
ebikerni
Aktiv  Dabei seit: 17.10.2020 Mitteilungen: 256
 | Beitrag No.6, vom Themenstarter, eingetragen 2023-01-15
|
Hallo Caban,
ich habe die zweite Gleichung nach b mit den Werten wa=8. wb=14 un a=20 mit
großem Aufwand und Kontrolle umgestellt und erhalten :
b = Wurzel ( c^3 + 30.2*c^2 - 8*c -3920 )/c .
Mir ist es noch nicht gelungen, diese Werte für b in die 1.Gleichng
a^2
wa = Wurzel ( b * c * (1 - --------- )
(b + c)^2
einzusetzen.
Hallo Werner,
herzlichen Dank für Deine für mich wertvollen Hinweise.
Wenn es mir gelingt, werde mit dem 1-dim. Newtonverfahren den Wert c bestimmen.
Wie wird aber der Startwert c für die Berechnung erstellt ?
Besten Dank für alle wertvollen Hinweise.
Gruß ebikerni
[Die Antwort wurde nach Beitrag No.4 begonnen.]
|
Profil
|
werner
Senior  Dabei seit: 23.10.2004 Mitteilungen: 2286
Wohnort: österreich
 | Beitrag No.7, eingetragen 2023-01-15
|
????
da das Newton-Verfahren quadratisch konvergiert, ist jeder "sinnvolle" Startwert für c willkommen, siehe Bilderl 😡
https://matheplanet.com/matheplanet/nuke/html/uploads/c/6049_a_wa_wb_2.JPG
nebenbei: was du da schreibst, verstehe ich ganz und gar nicht
|
Profil
|
ebikerni
Aktiv  Dabei seit: 17.10.2020 Mitteilungen: 256
 | Beitrag No.8, vom Themenstarter, eingetragen 2023-01-17
|
Hallo Werner,
herzlichen Dank für die Ergebnisse b und c.
Jetzt kann ich natürlich mit den gegebenen Werten wa, wb, a und Deinen
berechneten Werten b und c in einem erstelltem Python-Programm ca. 17 Elemente des Dreiecks berechnen.
Ich möchte aber auch mehrere Programme erstellen, z.Bsp. wa=14, wb=4 a=7 usw.
um auch die Bedingungen ( < > = ) der eingegebenen Größen darzustellen und
natürlich 15-stellig für alle mögliche Kontrollen.
Ich muss also in diesem Programm mit den gegebenen Werten die Werte b u. c
selbst und 15-stellig berechnen.
In meinem Autor-Beitrag Themenstart 30.12.22 mit den gegebenen Werten
wa=8, wb=14 und c=12 habe ich im Beitrag No.3 v. Knaaxx 3.1.23 wertvolle
Hinweise zur eigenen Berechnung von a u. b bekommen.
Die Hinweise jetzt im Beitrag No.4 von caban :
Stelle die zweite Gleichung nach b um und setze in die erste ein,
ist mir nicht gelungen.
Auch alle weiteren Beiträge wa wb ri, wa wb ru, wa wb fl ... sind für mich
sicherlich sehr schwierig.
Herzliche Grüße ebikerni
|
Profil
|
werner
Senior  Dabei seit: 23.10.2004 Mitteilungen: 2286
Wohnort: österreich
 | Beitrag No.9, eingetragen 2023-01-17
|
\quoteon(2023-01-17 17:57 - ebikerni in Beitrag No. 8)
Hallo Werner,
herzlichen Dank für die Ergebnisse b und c.
Jetzt kann ich natürlich mit den gegebenen Werten wa, wb, a und Deinen
berechneten Werten b und c in einem erstelltem Python-Programm ca. 17 Elemente des Dreiecks berechnen.
Ich möchte aber auch mehrere Programme erstellen, z.Bsp. wa=14, wb=4 a=7 usw.
um auch die Bedingungen ( < > = ) der eingegebenen Größen darzustellen und
natürlich 15-stellig für alle mögliche Kontrollen.
Ich muss also in diesem Programm mit den gegebenen Werten die Werte b u. c
selbst und 15-stellig berechnen.
In meinem Autor-Beitrag Themenstart 30.12.22 mit den gegebenen Werten
wa=8, wb=14 und c=12 habe ich im Beitrag No.3 v. Knaaxx 3.1.23 wertvolle
Hinweise zur eigenen Berechnung von a u. b bekommen.
Die Hinweise jetzt im Beitrag No.4 von caban :
Stelle die zweite Gleichung nach b um und setze in die erste ein,
ist mir nicht gelungen.
Auch alle weiteren Beiträge wa wb ri, wa wb ru, wa wb fl ... sind für mich
sicherlich sehr schwierig.
Herzliche Grüße ebikerni
\quoteoff
ehrlich gesagt, verstehe ich deine PROBLEME überhaupt nicht,
du wirst doch hoffentlich beim Programmieren Variable verwenden???
vielleicht gibst du einmal deine Pythongeheimnisse preis 😡
zu deiner Info mit den obigen Werten a = 7, wa = 14 wb =4:
https://matheplanet.com/matheplanet/nuke/html/uploads/c/6049_wo_ist_das_Problem.JPG
|
Profil
|
ebikerni
Aktiv  Dabei seit: 17.10.2020 Mitteilungen: 256
 | Beitrag No.10, vom Themenstarter, eingetragen 2023-01-17
|
Hallo Werner,
Du kannst c u. b wunderbar berechnen, ich aber nicht.
Mit Deinen Werten b u. c kann ich immer weiterrechnen
Ich kann sie aber nicht selbst bestimmen.
Soll ich zu jeder Zeit Dir ca. 10 Beispiele für die Berechnung der Ergebnisse für b u. c zu berechnen und mir mitzuteilen.
Das ist doch nicht der Sinn !
Gruß ebikerni
|
Profil
|
Caban
Senior  Dabei seit: 06.09.2018 Mitteilungen: 2786
Wohnort: Brennpunkt einer Parabel
 | Beitrag No.11, eingetragen 2023-01-17
|
Hallo
Verstehst du, wie die Funktion f(c) entsteht und das Newtonsche Näherungsverfahren?
Gruß Caban
|
Profil
|
werner
Senior  Dabei seit: 23.10.2004 Mitteilungen: 2286
Wohnort: österreich
 | Beitrag No.12, eingetragen 2023-01-17
|
\quoteon(2023-01-17 23:04 - ebikerni in Beitrag No. 10)
Hallo Werner,
Du kannst c u. b wunderbar berechnen, ich aber nicht.
Mit Deinen Werten b u. c kann ich immer weiterrechnen
Ich kann sie aber nicht selbst bestimmen.
Soll ich zu jeder Zeit Dir ca. 10 Beispiele für die Berechnung der Ergebnisse für b u. c zu berechnen und mir mitzuteilen.
Das ist doch nicht der Sinn !
Gruß ebikerni
\quoteoff
ich kann mich nur wiederholen:
wo ist dein Problem😡😡😡
stelle doch einfach einmal deine Rechnung hier rein,
oder willst du meine Excel-datei (wenn das überhaupt geht), damit du siehst, wie ich rechne?
[Die Antwort wurde nach Beitrag No.10 begonnen.]
|
Profil
|
werner
Senior  Dabei seit: 23.10.2004 Mitteilungen: 2286
Wohnort: österreich
 | Beitrag No.13, eingetragen 2023-01-17
|
\quoteon(2023-01-17 23:06 - Caban in Beitrag No. 11)
Hallo
Verstehst du, wie die Funktion f(c) entsteht und das Newtonsche Näherungsverfahren?
Gruß Caban
\quoteoff
dann waren es schon zwei😄
bei Google findet man jede Menge unter "Newton (in Python)", wenn´s das sein sollte
|
Profil
|
ebikerni
Aktiv  Dabei seit: 17.10.2020 Mitteilungen: 256
 | Beitrag No.14, vom Themenstarter, eingetragen 2023-01-19
|
Hallo Werner,
Vor einem Jahr in meinem Autor-Beitrag Themenstart 22-01-07 mit den gegebenen Werten
Ma=10, Mc=8 und Fl=100 (Mitte-Seiten-Senkrechte, Fläche) habe ich von Dir alle
notwendigen Angaben und Hinweise zur Bestimmung einer Gleichung bekommen.
Nochmals vielen Dank.
Seitdem kann ich solche Aufgaben mit dem 1-dimensionalen Newtonverfahren lösen .
y(i+1) = yi - f(yi) / f'(yi)
Ich kann die aktuelle Aufgabe nur lösen und bitten um Werte und Hinweise für mich
( f(b oder c) = .... ) zu übersenden.
wha = 8 ( Winkelhalbierende in A )
whb = 14 ( Winkelhalbierende in B )
a = 20
Wenn Du die Möglichkeit hast, dann besten Dank dafür.
Gruß ebikerni
|
Profil
|
Caban
Senior  Dabei seit: 06.09.2018 Mitteilungen: 2786
Wohnort: Brennpunkt einer Parabel
 | Beitrag No.15, eingetragen 2023-01-19
|
Hallo
Beachte Beitrag 4 und stelle nach setze in die zweite ein, sorge dann dafür, dass auf einer Seite 0 steht. Die andere seite ist dann die Funktion, deren Nullstellen das Newtonsche Verfahren näherungsweise liefert.
Gruß Caban
|
Profil
|
zippy
Senior  Dabei seit: 24.10.2018 Mitteilungen: 4404
 | Beitrag No.16, eingetragen 2023-01-19
|
\quoteon(2023-01-19 10:07 - ebikerni in Beitrag No. 14)
Seitdem kann ich solche Aufgaben mit dem 1-dimensionalen Newtonverfahren lösen .
\quoteoff
Du hattest vor etwa einem Jahr auch schon mal gelernt, Gleichungssysteme mit mehr als einer Unbekannten numerisch zu lösen.
--zippy
|
Profil
|
werner
Senior  Dabei seit: 23.10.2004 Mitteilungen: 2286
Wohnort: österreich
 | Beitrag No.17, eingetragen 2023-01-19
|
\quoteon(2023-01-19 10:07 - ebikerni in Beitrag No. 14)
Hallo Werner,
Vor einem Jahr in meinem Autor-Beitrag Themenstart 22-01-07 mit den gegebenen Werten
Ma=10, Mc=8 und Fl=100 (Mitte-Seiten-Senkrechte, Fläche) habe ich von Dir alle
notwendigen Angaben und Hinweise zur Bestimmung einer Gleichung bekommen.
Nochmals vielen Dank.
Seitdem kann ich solche Aufgaben mit dem 1-dimensionalen Newtonverfahren lösen .
y(i+1) = yi - f(yi) / f'(yi)
Ich kann die aktuelle Aufgabe nur lösen und bitten um Werte und Hinweise für mich
( f(b oder c) = .... ) zu übersenden.
wha = 8 ( Winkelhalbierende in A )
whb = 14 ( Winkelhalbierende in B )
a = 20
Wenn Du die Möglichkeit hast, dann besten Dank dafür.
Gruß ebikerni
\quoteoff
die Hoffnung stirbt zuletzt🙃
steht ja eigentlich eh schon alles oben.
(ich verwende statt des Differentialquotienten den Differenzenquotienten,
du kannst ja einmal überlegen, warum)
so könnte es funktionieren:
(Eingabe)
.....
.....
const h= 10^(-16)
für deine "Lieblingsgenauigkeit, egal was der Computer hergibt)
WIEDERHOLE
c= c_0 (Startwert)
g_1=f(c)
g_2=f(c+h)
c_0=c-(g_1*h)/(g2-g1)
bis abs(c_0-c)
|
Profil
|
ebikerni
Aktiv  Dabei seit: 17.10.2020 Mitteilungen: 256
 | Beitrag No.18, vom Themenstarter, eingetragen 2023-01-20
|
Hallo caban,
nach Deinem Beitrag 4 habe ich die 2. Gleichung nach b umgestellt und den
Wert in die 1.Gleichung eingesetzt. Auch die Umstellung einer Seite auf 0
brachte für mich keine Lösung. Diese notwendige Gleichung und die
1. Ableitung könnte ich mit dem 1-dimensionalen Newtonverfahren lösen.
Allgemein in diesem Fall c ---> y
y(i+1) = yi - f(yi) / f'(yi)
Ca. 10 Wiederholungen bringen sicherlich eine 15-stellige Genauigkeit.
Di 2.Gleichung nach b umgestellt ergab :
b = sqrt(c^2 + 30.2*c - 3920/c + 8)
Gegebene Werte : wa=8 wb=14 a=20 und zu
erwartende Werte : b=13.65 c=11.98
Ich bedanke mich für die Übersendung dieser f(yi) und auch Hinweise.
Freundliche Grüße von ebikerni
|
Profil
|
Caban
Senior  Dabei seit: 06.09.2018 Mitteilungen: 2786
Wohnort: Brennpunkt einer Parabel
 | Beitrag No.19, eingetragen 2023-01-20
|
Hallo
Die probe hat bei mir nicht geklappt, wo hast du eigentlich die Funktion?
Gruß caban
|
Profil
|
werner
Senior  Dabei seit: 23.10.2004 Mitteilungen: 2286
Wohnort: österreich
 | Beitrag No.20, eingetragen 2023-01-20
|
https://www.matheplanet.com/matheplanet/nuke/html/uploads/c/6049_wa_wb_und_a.JPG
paßt vermutlich besser😖
|
Profil
|
ebikerni
Aktiv  Dabei seit: 17.10.2020 Mitteilungen: 256
 | Beitrag No.21, vom Themenstarter, eingetragen 2023-01-21
|
Hallo caban,
https://matheplanet.com/matheplanet/nuke/html/uploads/c/53659_img035_3_.jpg
Die 2.Gleichung nach b umgestellt ergab :
b = sqrt(c^2 + 30.2*c - 3920/c + 8)
Kontrolle: 13.65 = sqrt (143.5 + 361.8 - 327.2 + 8)
13.6 = 13.6
Gegebene Werte : wa=8 wb=14 a=20 und zu
erwartende Werte : b=13.65 c=11.98
Setze bitte b in die 1. Gleichung ein, sorge dann dafür, dass auf einer Seite 0 steht und diese notwendige Gleichung und die 1. Ableitung könnte ich mit dem
1-dimensionalen Newtonverfahren lösen.
Allgemein in diesem Fall c ---> y
y(i+1) = yi - f(yi) / f'(yi)
Für die Mitteilung der Gleichung f(yi) = ...
bin ich sehr dankbar.
Gruß ebikerni
|
Profil
|
Caban
Senior  Dabei seit: 06.09.2018 Mitteilungen: 2786
Wohnort: Brennpunkt einer Parabel
 | Beitrag No.22, eingetragen 2023-01-21
|
Hallo
Du musst das b erst in die erste Gleichung einsetzen, erst dann erhälst du die Funktion, die du brauchst.
Gruß Caban
|
Profil
|
werner
Senior  Dabei seit: 23.10.2004 Mitteilungen: 2286
Wohnort: österreich
 | Beitrag No.23, eingetragen 2023-01-21
|
mein ultimativer Beitrag, beachte eventuell den Titel
https://www.matheplanet.com/matheplanet/nuke/html/uploads/c/6049_gegebra_kann_alles.JPG
|
Profil
|
ebikerni
Aktiv  Dabei seit: 17.10.2020 Mitteilungen: 256
 | Beitrag No.24, vom Themenstarter, eingetragen 2023-01-21
|
Hallo caban,
ich bring es immer noch nicht.
Wenn Du mir den Vorschlag machst, wie ich es machen soll,
dann praktiziere Du es für mich.
Ich freue mich auf Dein Ergebnis.
Gruß ebikerni
[Die Antwort wurde nach Beitrag No.22 begonnen.]
|
Profil
|
Caban
Senior  Dabei seit: 06.09.2018 Mitteilungen: 2786
Wohnort: Brennpunkt einer Parabel
 | Beitrag No.25, eingetragen 2023-01-22
|
Hallo
Du kannst in Beitrag 23 die implizite Darstellung verwenden.
Gruß caban
|
Profil
|
ebikerni
Aktiv  Dabei seit: 17.10.2020 Mitteilungen: 256
 | Beitrag No.26, vom Themenstarter, eingetragen 2023-01-22
|
Hallo,
danke für alle Mitteilungen.
Der Startwert ist co=12 und die ersten Ergebnisse für c und b nur 5-stellig.
Der Beginn bei meiner Programmierung mit Python gibt es aber immer noch große
Schwierigkeiten. Ich probiere weiter und melde mich hoffentlich mit Erfolg.
Auch für evtl. weitere Hinweise bin ich sehr dankbar.
Gruß ebikerni
|
Profil
|
werner
Senior  Dabei seit: 23.10.2004 Mitteilungen: 2286
Wohnort: österreich
 | Beitrag No.27, eingetragen 2023-01-23
|
\quoteon(2023-01-22 18:58 - ebikerni in Beitrag No. 26)
Hallo,
danke für alle Mitteilungen.
Der Startwert ist co=12 und die ersten Ergebnisse für c und b nur 5-stellig.
Der Beginn bei meiner Programmierung mit Python gibt es aber immer noch große
Schwierigkeiten. Ich probiere weiter und melde mich hoffentlich mit Erfolg.
Auch für evtl. weitere Hinweise bin ich sehr dankbar.
Gruß ebikerni
\quoteoff
auch wenn du meinem Beitrag Nr. 17 nicht zu glauben scheinst:
das hat mich so geärgert, dass ich das Zeugs in EXCEL - VBA umgesetzt habe, obwohl ich ca. 100 Jahre nix mehr programmiert habe 🙂
du wirst es nicht glauben, aber mit dem Startwert c0 = 12 ist man mit 4 (in Worten 4) Aufrufen am Ziel.
dazu ein Bilderl, man beachte den Titel.
vielleicht kannst da das jetzt umsetzen😡
https://matheplanet.com/matheplanet/nuke/html/uploads/c/6049_auch_wenn_du_es_nicht_glaubst.JPG
|
Profil
|
ebikerni
Aktiv  Dabei seit: 17.10.2020 Mitteilungen: 256
 | Beitrag No.28, vom Themenstarter, eingetragen 2023-01-25
|
Hallo werner.
ich wollte in Deinem Beitrag 17 den dargestellten Differenzenquotienten
verwenden. Es ist mir aber nicht gelungen. Für wa=8 wb=14 a=20 und Werte
c0 = 11.97 und h = 10 hochminus16 ( wie geht es normal ) erbrachte mir keine
Ergebnisse. Nur durch 39 161 736 Wiederholungen in 122.7 sec und c = 11.97001
wurde gesetzt, erreicht und Bedingung abs(c0-c) < h erfüllt.
An dieser Stelle habe ich aber den Fehler noch nicht erkannt und die
Berechnung mit
6-stelliger Formatierung erneuert und ebenfalls auch Wiedersprüche festgestellt.
Jetzt wurde mit Taschenrechner versucht meine Fehler zu finden.
Werte eingesetzt ergaben: Startwert c0 = 12 und h = (^-6)
c = c0 12 = 12 (12 --> 11.98 )
g1 = 12 g2 = 12+0.000006
c0 = c - ( (g1*h)/(g2-g1) )
c0 = c - (12*0.000006)/(12+0.000006 - 12) )
c0 = 12- (0.000072 / 0.000006) = 0
Wie kann ich nun die Seite c mit 6-stelliger Genauigkeit bestimmen.
Wie immer freundliche Grüße ebikerni
[Die Antwort wurde nach Beitrag No.26 begonnen.]
|
Profil
|
werner
Senior  Dabei seit: 23.10.2004 Mitteilungen: 2286
Wohnort: österreich
 | Beitrag No.29, eingetragen 2023-01-25
|
\quoteon(2023-01-25 19:44 - ebikerni in Beitrag No. 28)
Hallo werner.
ich wollte in Deinem Beitrag 17 den dargestellten Differenzenquotienten
verwenden. Es ist mir aber nicht gelungen. Für wa=8 wb=14 a=20 und Werte
c0 = 11.97 und h = 10 hochminus16 ( wie geht es normal ) erbrachte mir keine
Ergebnisse. Nur durch 39 161 736 Wiederholungen in 122.7 sec und c = 11.97001
wurde gesetzt, erreicht und Bedingung abs(c0-c) < h erfüllt.
An dieser Stelle habe ich aber den Fehler noch nicht erkannt und die
Berechnung mit
6-stelliger Formatierung erneuert und ebenfalls auch Wiedersprüche festgestellt.
Jetzt wurde mit Taschenrechner versucht meine Fehler zu finden.
Werte eingesetzt ergaben: Startwert c0 = 12 und h = (^-6)
c = c0 12 = 12 (12 --> 11.98 )
g1 = 12 g2 = 12+0.000006
c0 = c - ( (g1*h)/(g2-g1) )
c0 = c - (12*0.000006)/(12+0.000006 - 12) )
c0 = 12- (0.000072 / 0.000006) = 0
Wie kann ich nun die Seite c mit 6-stelliger Genauigkeit bestimmen.
Wie immer freundliche Grüße ebikerni
[Die Antwort wurde nach Beitrag No.26 begonnen.]
\quoteoff
das was ich da sehe, ist leider kompletter Unsinn😡
(
z.B.g1 ist ein FUNKTIONSAUFRUF, der macht etwas ganz anderes ls du da schreibst usw......)
stelle doch einfach einmal dein Python - Programm hier rein, dann könnten wir vielleicht sehen, woran es hapert
|
Profil
|
werner
Senior  Dabei seit: 23.10.2004 Mitteilungen: 2286
Wohnort: österreich
 | Beitrag No.30, eingetragen 2023-01-26
|
versuch´s halt ohne Funktion😒
https://matheplanet.com/matheplanet/nuke/html/uploads/c/6049_programm_2.jpg
|
Profil
|
MontyPythagoras
Senior  Dabei seit: 13.05.2014 Mitteilungen: 3273
Wohnort: Werne
 | Beitrag No.31, eingetragen 2023-01-26
|
Hallo ebikerni,
versuch es damit:
\sourceon Python
wa = 8
wb = 14
a = 20
b = c = wa + wb
s = a + b + c
d = s
while d > 1e-14 * s:
f = (wa ** 2 - b * c) * (b + c) ** 2 + a ** 2 * b * c
fb = -c * (b + c) ** 2 + 2 * (wa ** 2 - b * c) * (b + c) + a ** 2 * c
fc = -b * (b + c) ** 2 + 2 * (wa ** 2 - b * c) * (b + c) + a ** 2 * b
g = (wb ** 2 - a * c) * (a + c) ** 2 + a * b ** 2 * c
gb = 2 * a * b * c
gc = -a * (a + c) ** 2 + 2 * (wb ** 2 - a * c) * (a + c) + a * b ** 2
d = fb * gc - fc * gb
db = - (f * gc - fc * g) / d
dc = (f * gb - fb * g) / d
b = b + db
c = c + dc
d = (db ** 2 + dc ** 2) ** 0.5
s = a + b + c
print("b = ", b)
print("c = ", c)
\sourceoff
Ciao,
Thomas
|
Profil
|
ebikerni
Aktiv  Dabei seit: 17.10.2020 Mitteilungen: 256
 | Beitrag No.32, vom Themenstarter, eingetragen 2023-01-27
|
Hallo Werner,
ich musste hoffentlich bei mir einen Fehler entdecken --> g2 - g1 ist 0
Anfang
Datum:27.01.2023
Uhrzeit:18:21:07
h=1e-16 wird immer so angegeben, aber nicht h= 0.000000000000001
wha = 8.0
whb = 14.0
a = 20.0
c0 = 12
c = 12
b = 13.701581417242801
g1 = 0.8572914439721444
b = 13.701581417242801
g2 = 0.8572914439721444
Traceback (most recent call last):
File "D:\PyWhaWhbA81420Weber\PyWhaWhbA81420Weber.py", line 41, in
c0=c-h*g1/(g2-g1)
ZeroDivisionError: float division by zero
Der Fehler kann doch nur bei mir im Programm liegen.
Herzlichen Dank für Deine Mitteilung und
Grüße von ebikerni
|
Profil
|
MontyPythagoras
Senior  Dabei seit: 13.05.2014 Mitteilungen: 3273
Wohnort: Werne
 | Beitrag No.33, eingetragen 2023-01-27
|
Hallo ebikerni,
hast Du gemerkt, dass ich Dir einen vollständigen Python-Code zur Verfügung gestellt habe?
Ciao,
Thomas
|
Profil
|
ebikerni
Aktiv  Dabei seit: 17.10.2020 Mitteilungen: 256
 | Beitrag No.34, vom Themenstarter, eingetragen 2023-01-27
|
Hallo Thomas,
ja, ja, nochmals herzlichen Dank für Deine Berechnungen a und b in meinem Programm
in der Programmiersprache Python einzubeziehen und alle restlichen
ca. 17 Elemente des Dreiecks zu bestimmen. Natürlich wurden alle Dreieckelemente
standardmäßig 15-stellig berechnet und alle Kontrollen getätigt.
Gruß ebikerni
|
Profil
|
werner
Senior  Dabei seit: 23.10.2004 Mitteilungen: 2286
Wohnort: österreich
 | Beitrag No.35, eingetragen 2023-01-27
|
\quoteon(2023-01-27 21:13 - MontyPythagoras in Beitrag No. 33)
Hallo ebikerni,
hast Du gemerkt, dass ich Dir einen vollständigen Python-Code zur Verfügung gestellt habe?
Ciao,
Thomas
\quoteoff
hallo Thomas,
zu deiner Notiz: warum sollte ich
Hauptsache ist, dem Hilfe suchenden wird geholfen 😖
|
Profil
|
ebikerni
Aktiv  Dabei seit: 17.10.2020 Mitteilungen: 256
 | Beitrag No.36, vom Themenstarter, eingetragen 2023-01-28
|
Hallo Werner,
jetzt habe ich mit großem Aufwand die Lösung gefunden.
Die restlichen Berechnungen der ca. 17 Dreieckelemente in einem Programm
ist für mich nun eine Spielerei. Kontrollen sind auch sehr wichtig
Warum nicht mit h=1e-16 rechnen ?
Das kann ich aber auch nicht verstehen.
Anfang
Datum:28.01.2023
Uhrzeit:19:07:50
wha = 8.0
whb = 16.0
a = 20.0
h = 1.5e-15
n = 34
b = 11.32361173676182
c = 14.359610446192749
Zeit = 0.3 sec
Ende
Herzliche Grüße von ebikerni
|
Profil
|
werner
Senior  Dabei seit: 23.10.2004 Mitteilungen: 2286
Wohnort: österreich
 | Beitrag No.37, eingetragen 2023-01-28
|
\quoteon(2023-01-28 19:43 - ebikerni in Beitrag No. 36)
Hallo Werner,
Warum nicht mit h=1e-16 rechnen ?
Das kann ich aber auch nicht verstehen.
Herzliche Grüße von ebikerni
\quoteoff
da sind wir sozusagen beim Kern der Sache, vermute ich.
das ist eben genauer als der Computer rechnet, daher interpretiert er
h=1.5e-15 <> 0 aber
h = 1e-16 als NULL😒 und damit die nächste Operation als Division durch Null
|
Profil
|
ebikerni
Aktiv  Dabei seit: 17.10.2020 Mitteilungen: 256
 | Beitrag No.38, vom Themenstarter, eingetragen 2023-01-31
|
Hallo Werner,
Ich habe mich mit viel Aufwand um die 15-stell. Genauigkeit interessiert und kam zum
folgendem Ergebnis :
h = 1e-15
a=a+h
a = 100.0 h = 0
.
.
h = 7e-15
a=a+h
a = 100.0 h = 0
h = 8e-15
a=a+h
a = 100.00000000000001
h = 9e-15
a=a+h
a = 100.00000000000003
(Programmieren mit Python sind die Ergebnisse standartmäßig 15-stellig)
Der kleinste 15-stell. Wert h (14 Nullen 1 ... 14 Nullen 7) ergeben den Wert 0 .
Ab dem kleinsten 15-stell. Wert (14 Nullen 8) bildet sich das kleinste Ergebnis aber
nur 14- stell. (13 Nullen 1 --> 13 Nullen 10 und auch 15-stell.).
Um Hinweise bin ich sehr dankbar
Gruß ebikerni
|
Profil
|
MontyPythagoras
Senior  Dabei seit: 13.05.2014 Mitteilungen: 3273
Wohnort: Werne
 | Beitrag No.39, eingetragen 2023-01-31
|
Hallo ebikerni,
das Phänomen, was Du da entdeckst, ist die begrenzte Rechengenauigkeit eines Computers. Das hat Werner Dir schon in seinem letzten Beitrag zu erklären versucht. Es ist kein Zufall, dass Du mit Standard-Rechenoperationen bei ungefähr 15 Stellen landest, denn das ist die Grenze. Genaueres kannst Du hier lesen:
Fließkommazahlen-Genauigkeit.
Du musst daher die Ziffern vor dem Komma mitzählen. Bei einem Standard-Fließkommaformat kann der Rechner nur ungefähr 16 Stellen insgesamt speichern. Wenn Du die Zahl vor dem Komma auf 1.000.000 erhöhst, wird der Rundungsfehler schon in der zehnten Stelle nach dem Komma auftreten - auch bei Python. Und wie der Wikipedia-Artikel erklärt sind es auch nicht genau 15 oder 16 Dezimalstellen, denn ein Computer speichert Zahlen nicht im Dezimalsystem, sondern im Binärsystem. Es stehen also eigentlich 53 bit Genauigkeit zur Verfügung, was nur ungefähr 16 Dezimalstellen entspricht.
Ciao,
Thomas
|
Profil
|