x, y
とz
が変数でp1, p2
とp3
がパラメータであるこれらの 2 つの方程式があります。MATLAB は にx y z
基づくパラメトリック/シンボリック ソリューションを見つけることができますp1, p2, p3
か?
2(x−p1)+2(xy−p3)y = 0
2(y−p2)+2(xy−p3)x = 0
x, y
とz
が変数でp1, p2
とp3
がパラメータであるこれらの 2 つの方程式があります。MATLAB は にx y z
基づくパラメトリック/シンボリック ソリューションを見つけることができますp1, p2, p3
か?
2(x−p1)+2(xy−p3)y = 0
2(y−p2)+2(xy−p3)x = 0
簡単に言えば、はい。すべての変数を取得し、 を使用syms
して各変数を定義してシンボリック変数にし、 を使用solve
して方程式を解いてください。2 つの方程式を 2 つのパラメータとして に指定しますsolve
。出力 ( に格納します) は、フィールドとフィールドsol
を含む構造体を返します。これは、方程式が 2 つの変数に関して定義され、パラメーターであるためです。つまり、次のようにします。x
y
p1,p2,p3
syms p1 p2 p3;
syms x y;
sol = solve(2*(x-p1)+2*(x*y-p3)*y == 0, 2*(y-p2)+2*(x*y-p3)*x == 0);
それぞれのフィールドにアクセスすることで、whatx
とareのソリューションにアクセスできます。y
>> sol.x
ans =
(p1^3 + p3*p1^2*z1 + p1*z1^4 - 1.0*p2*p1*z1^3 + p1*z1^2 - 1.0*p2*p1*z1 + p3*z1^3 - 1.0*p2*p3*z1^2 + p3*z1 - 1.0*p2*p3)/(p1^2 + p3^2)
>> sol.y
ans =
z1
ただし、ソリューションがシンボルによってパラメーター化されていることを示す警告が表示されますが、これは予想されることです。具体的には:
Warning: The solutions are parametrized by the symbols:
z1 = RootOf(z^5 - p2*z^4 + 2*z^3 - z^2*(2*p2 - p1*p3) + z*(p1^2 - p3^2 + 1) - p1*p3 - p2, z)