Ich, Andi Fuhrmann, habe ein Problem mit einem Gleichungssystem, in
welchem eine Kurve, die eine Evolvente beschreibt, mit zwei Kreisen
(Grund- und Kopfkreis) dargestellt werden soll.
Dazu ist es notwendig, den Schnittpunkt zwischen Grundkreis und
Evolvente, sowie Kopfkreis und Ev. zu ermitteln, um eine korrekte
Darstellung zu erhalten.
Ich habe mehrere Versuche durchgeführt, welche aber zu keinem Ergebnis
führten, da die Größe "D", welche hierzu zu ermitteln ist, innerhalb
der Ev.fnkt. in verschiedenen Winkelfnkt. enthalten ist.
-> der Versuch mit "FindRoot" :
FindRoot[ y = = sDs , { D, 115, 125 }]
führte zum Abbruch
-> über "Eliminate" : Eliminate[ y = = sDs , D ]
rechnete das Programm ewig ( habe nach 1.5 h abgebrochen )
Ich hoffe jemand kann mir Alternativen anbieten, welche auch schnell
zum Erfolg führen.
Zur Sicherheitr habe ich ihnen im Anhang eine Zusammenstellung meiner
vorgehensweise
mitgeliefert.
Ich hoffe man kann meine Vorgehensweise nachvollziehen.
Anhang ist in Mathematica Code:
\!\(\*
RowBox[{ \(y = \@\(Abs[d\_\(a\ \)]\^2 - D\^2\)\), \(
(*Kreisgleichung*) \),
"\n",RowBox[{StyleBox["sDs", FontSize->14],StyleBox["=",FontSize->14],
" ",
\(D÷\((N[Cos[ArcTan[Tan[ArcCos[Cos[\[Beta]\_0] ×Cos[\[Alpha]\_0\
]÷Cos[ArcCos[d\_b÷d\_0]]]]
÷Cos[ArcCos[\ d\_b÷\ D]]]]]^2)\)×\((N[Sin[\((D×\((\((\[Pi] +
4×x\_w×Tan[\[Alpha]\_0])\)÷\((2×z)\) +
\((Tan[ArcCos[d\_b÷d\_0]] - ArcCos[d\_b÷d\_0])\) -\((Tan[ArcCos[\
d\_b÷\ D]] - ArcCos[\ d\_b÷\ D])\))
\))\)÷D×\((N[Cos[ArcTan[Tan[ArcCos[Cos[\[Beta]\_0] ×Cos[\[Alpha]\_0\
]÷Cos[
ArcCos[d\_b÷d\_0]]]]÷Cos[ArcCos[\ d\_b÷\ D]]]]]^3)\)]])\)\)}], " ",
"\n", " ",
\( (*Evolventenfnkt . \(-\ alle\)\ Zwischenschritte\ bereits\
eingefügt*)
\), " ", "\n", "\n", "\n",
\(D\ \((\(1.`\[InvisibleSpace]\) + 6.80029929765715479`*^-6\
D\^2)\)\Sin[\((\(-0.00570624543553930774`\) + 0.00845535015106683296`\
\@\(\(1.`\[InvisibleSpace]\) - 13987.3939104732114`\/D\^2\)\ D +
ArcCos[\(-\(118.268313213950971`\/D\)\)])\)/
\((\(1.`\[InvisibleSpace]\) + 6.80029929765715479`*^-6\
D\^2)\)\^\(3/2\)]\), "\n",
\( (*Ev . fnkt . \ mit\ konkr . \ Werten\ und\ Vereinfachung*) \),
"\n",
"\n", \(eqn = FindRoot[y == sDs, {D, 115, 125}]\n\ \ \ \ \ \ \ \ \ \ \
\
\( (*Suche\ Schnittpunkt\ zw . \ Kreisgl . \ und\ Ev . fnkt . \n
\t\t\t\t\ \ \ \[Rule] bricht\ Rechnung\ ab\ - \
\(Meldung : FindRoot::"\<frsec\>" \( : \ \) "\<Secant method failed to
converge to the prescribed \
accuracy after \!\(15\) iterations.\>"\); \n\t\t\ \ \ \ \ \Einstellen\
von\ Work . Prec . \ und\ Acc . G . \ brachte\ auch\
keine\ Änderung; \n\t\t\ \ \ \ \ \ liefert\ als\\(Ergebnis : {D
\[Rule]\(113.916020153510699`\[InvisibleSpace]\) +
0.189290365418300492`\ I}\n\neqn2\) =
Eliminate[y == sDs, D]\n
\ \ \ \ \
(*Versuch\ D\ zu\ eliminieren\ führt\ zu\ langen\ Rechenzeiten\ \n -
habe\ nach\ 1.5\ h\ abgebrochen*) \n\n
\n\n\n\)\)}]\)
-> benötige sichere und schnelle Methode - Danke
Mit freundlichen Grüßen
A. Fuhrmann
_________________________________________________________
DO YOU YAHOO!?
Get your free @yahoo.com address at http://mail.yahoo.com
|