Schnittpunkt zweier EbenenIch suche nach einer Antwort darauf und bin nicht sicher, ob es eine einfache JMP-Lösung gibt. Ich habe zwei Formeln in JMP, jede hat zwei X-Variablen. Ich kann Oberflächenplots davon in JMP leicht genug erstellen und visuell sehen, dass sich die beiden Ebenen (gut gekrümmte Ebenen) schneiden.
Ich möchte die Linie bestimmen, die die Position des Schnittpunkts definiert, und wenn möglich den Schnittwinkel (Tangentialebenen an beiden Flächen am Ort des Schnittpunkts) in X1-Richtung ermitteln.
Ich sehe in JMP Profiler-basierte Lösungen, wenn die beiden Formeln auf einer X-Variablen basieren. Dies kann durch Subtrahieren der beiden Formeln von einander erfolgen und es ist wünschenswert, das Ziel mit Null zu vergleichen, um den Schnittpunkt zu erhalten, wie in gezeigt https://community.jmp.com/t5/Discussions/Wie kann man den Berechnungspunkt des Schnittpunkts von zwei Funktionen in / mp/12588 . Mein Problem führt jedoch nicht zu einem Schnittpunkt, sondern zu einer Schnittlinie.
Wenn es eine einfache Lösung gibt, großartig. Wenn nicht, sollte ich es mit anderer Software lösen können.
Re: Schnitt zweier EbenenDas funktioniert gut genug. Es stellte sich heraus, dass der Ingenieur, mit dem ich gearbeitet habe, einen Kategorischen X1 und einen kontinuierlichen X2 hatte, was die Lösung etwas komplizierter macht. Aber für den Fall mit zwei kontinuierlich variablen funktioniert dies.
Re: Schnitt zweier EbenenSie können auch die Fähigkeit des Profilers zum Speichern und Erweitern der Formel verwenden, um die Formel für die Differenz der beiden Ebenen zu erhalten. Sie können diese Formel dann analysieren, um die Koeffizienten zu erhalten. Sie können dieses Skript mit der von mir hochgeladenen Datentabelle versuchen.
_dt=current data table();
y1formula = char(Simplify Expr(_dt:y1 << Get Formula));
y2formula = char(Simplify Expr(_dt:y2 << Get Formula));
_dt << New Column ("Y1-Y2", Formula(:Y1-:Y2));
_pf=Profiler(
Y( :Name( "Y1-Y2" ) ),
Profiler(
1,
Term Value(
X1( 0.5, Lock( 0 ), Show( 1 ) ),
X2( 0.55, Lock( 0 ), Show( 1 ) )
)
),
Expand
);
_pf << Save Expanded Formulas;
_pf << Close Window;
diffformula = char(simplify Expr(column(_dt, "Expanded Y1-Y2")<<GET formula=""></GET>Re: Schnitt zweier EbenenEs sieht so aus, als ob die Dateianhänge nicht durchgekommen sind. Versuchen Sie es erneut.
Re: Schnitt zweier EbenenWenn Sie die Gleichung der Ebenen in zwei Spaltenformeln (in Spalte y1 und y2) haben, könnten Sie diese JSL dazu bringen, die Formel zu erhalten
_dt=current data table();
y1formula = char(Simplify Expr(_dt:y1 << Get Formula));
y2formula = char(Simplify Expr(_dt:y2 << Get Formula));
Sie müssen dann herausfinden, wie Sie diese Zeichenfolgen analysieren, um die Koeffizienten für die Formel zu erhalten. Simplify Expr () macht beide Formeln in der Struktur ähnlich, und die Funktion Regex () funktioniert dann wahrscheinlich am besten für das Auswerten der Koeffizienten. Ich weiß nicht genug über Regex, um das Suchmuster herauszufinden. Sobald Sie die Koeffizienten hatten, können Sie die Koeffizienten für die Schnittlinie berechnen.
Wie Sie bereits gesagt haben, können Sie den Schnittpunkt mit Oberflächendiagramm visualisieren. Siehe beigefügte Datei mit einem Beispiel.
Re: Schnitt zweier EbenenNicht sicher, was Sie mit jeder Formel meinen, hat 2 X-Variablen - vielleicht eine quadratische Gleichung?
Anders als JMP geben Sie vielleicht einen Blick auf Maxima, das unter Windoze und Mac OS verfügbar ist. Es handelt sich um eine Open Source (GNU) symbolische mathematische (CAS - Computer Algebra System) -Anwendung ( http://maxima.sourceforge.net ). Denken Sie an Mathematica, aber frei !!! (Mathemetica hat vielleicht etwas zur Verfügung - habe nicht lange gesucht - geben https://www.wolframalpha.com ein Blick).
Es gibt Frontends (es ist im Grunde eine Befehlszeile) und ziemlich unkompliziert.