数値ではなく、Rで分析的に3次方程式の解を得ようとしています。
私はインターネットで調べて、立方根の式を取得し、次のコードを書きました: リンクは: http://www.math.vanderbilt.edu/~schectex/courses/cubic/
cub <- function(a,b,c,d) {
p <- -b/3/a
q <- p^3 + (b*c-3*a*(d))/(6*a^2)
r <- c/3/a
x <- (q+(q^2+(r-p^2)^3)^0.5)^(1/3)+(q-(q^2+(r-p^2)^3)^0.5)^(1/3)+p
x
}
ただし、この関数はほとんどの場合機能しません。これは、数式内の負の数の累乗が原因であると思います。たとえば、R は (-8)^(1/3) の実根 (-2) を取得できないことに気付きました。 . しかし、一般的に正確な3次解を解くために使用できるようにコードを修正する方法がわかりません。
ありがとう。