C#で方程式を解く。
構造体Polynomial
型で表現する。
変数はPolynomial.X
、定数はdouble
型を使用する。
double -> Polynomial
の暗黙的型変換や演算子のオーバーロードにより、直感的に多項式を表現できる。
// 変数
Polynomial x = Polynomial.X;
// 多項式「3x^2 + 8x - 5」
Polynomial p = 3 * (x ^ 2) + 8 * x - 5;
左辺と右辺の多項式を与えることで表現する。
Polynomial
型の動的メソッドSolveEquation
により、方程式の解を求める。
// 方程式「3x^2 + 8x - 5 = 2x^2 + 3x + 9」を解く
double[] results = (3 * (x ^ 2) + 8 * x - 5).SolveEquation(2 * (x ^ 2) + 3 * x + 9);
// results: [-4, -1]
インデクサへの値の指定により行う。
Polynomial f = 2 * x + 1;
double result = f[3]; // 7
多項式を1変数関数と見なし、微分した結果をPolynomial
型で返す。
Polynomial y = 2 * (x ^ 2) - 5 * x + 3;
Polynomial dy_dx = y.Differentiate(); // 4x - 5
C#で方程式を解く https://sakapon.wordpress.com/2014/12/07/equations-csharp/