Intersection de deux plansJe cherche une réponse à cette question et je ne suis pas sûr qu'il existe une solution simple pour JMP. J'ai deux formules dans JMP, chacune ayant deux variables X. Je peux en rendre assez facile les tracés en surface dans JMP et je peux voir visuellement que les deux plans (puits, plans courbes) se croisent.
Je voudrais déterminer la ligne qui définit l'emplacement de l'intersection et si possible obtenir l'angle d'intersection (plans tangents aux deux surfaces à l'emplacement de l'intersection) dans la direction X1.
Je vois des solutions basées sur le profileur dans JMP si les deux formules sont basées sur une variable X. Cela peut être fait en soustrayant les deux formules l'une de l'autre et en utilisant l'opportunité de faire correspondre la cible à zéro pour obtenir le point d'intersection comme indiqué dans https://community.jmp.com/t5/Discussions/How-can-I-calculate-the-intersection-point-of-two-functions-in/mp/12588 . Mais mon problème ne résulte pas en un point d'intersection mais plutôt en une ligne d'intersection.
S'il y a une solution facile, tant mieux. Sinon, je devrais pouvoir le résoudre avec un autre logiciel.
Re: Intersection de deux plansCela fonctionne assez bien. Il s’avère que l’ingénieur avec lequel je travaillais avait un X1 catégorique et un X2 continu, ce qui complique un peu la solution. Mais pour le cas à deux variables continues, cela fonctionne.
Re: Intersection de deux plansVous pouvez également utiliser la capacité du profileur à enregistrer et à développer une formule pour obtenir la formule de la différence des deux plans. Vous pouvez ensuite analyser cette formule pour obtenir les coefficients. Vous pouvez essayer ce script sur la table de données que j'ai téléchargée.
_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: Intersection de deux plansOn dirait que la pièce jointe n'est pas passée. Essayer encore.
Re: Intersection de deux plansSi vous avez l'équation des plans dans des formules à deux colonnes (dans les colonnes y1 et y2), vous pouvez utiliser cette JSL pour obtenir la formule
_dt=current data table();
y1formula = char(Simplify Expr(_dt:y1 << Get Formula));
y2formula = char(Simplify Expr(_dt:y2 << Get Formula));
Vous devez ensuite déterminer comment analyser ces chaînes de caractères pour obtenir les coefficients de la formule. Simplify Expr () rendra les deux formules similaires dans leur structure. La fonction Regex () fonctionnerait probablement mieux pour analyser les coefficients. Je ne sais pas assez sur regex pour comprendre le modèle de recherche. Une fois que vous avez eu les coefficients, vous pouvez ensuite obtenir les coefficients pour la ligne d'intersection.
Comme vous l'avez dit, vous pouvez utiliser Surface Plot pour visualiser l'intersection. Voir le fichier joint avec un exemple.
Re: Intersection de deux plansVous ne savez pas ce que vous entendez par formule avec 2 variables X - peut-être une équation quadratique ???
Quelque chose, à part JMP, que vous pourriez regarder, c'est Maxima, disponible sous Windoze et Mac OS. C’est une application mathématique symbolique open source (gnu) (CAS - système de calcul algébrique) ( http://maxima.sourceforge.net ). Pensez à Mathematica, mais gratuitement !!! (Mathemetica pourrait avoir quelque chose de disponible - ne pas avoir regardé depuis un moment - donner https://www.wolframalpha.com un regard).
Il y a des front-ends disponibles (c'est fondamentalement en ligne de commande), et assez simple.