R
特定の単一変数関数の逆関数を解く方法はありますか? 動機はR
、値のベクトルを逆関数の入力として使用して、逆関数の値を吐き出すことができるようにすることです。
たとえば、関数y(x) = x^2
があり、逆関数は ですy = sqrt(x)
。R
逆関数を解く方法はありますか?
を調べましたuniroot()
が、関数のゼロを解いていません。
どんな提案も役に立ちます。
ありがとう!
どのような逆を見つけますか? シンボリックな逆関数 (たとえば、sqrt(x) とまったく同じ関数 y) を探している場合は、シンボリック システムを使用する必要があります。逆数を計算できる可能性が高いコンピューター代数システム、Yacas に接続する R ライブラリのryacasを見てください。
ここで、ポイントごとの逆数を計算するだけでよい場合は、次のように uniroot に関して関数を定義できます。
> inverse = function (f, lower = -100, upper = 100) {
function (y) uniroot((function (x) f(x) - y), lower = lower, upper = upper)[1]
}
> square_inverse = inverse(function (x) x^2, 0.1, 100)
> square_inverse(4)
[1] 1.999976
与えられたy
とに対して、これは逆数とも呼ばれるf(x)
を計算x
します。f(x) = y