|
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 |