質問: 3次方程式のカルダノ(cardano)法によるエクセルでの計算方法について 皆さんよろしくお願いいたします。 標題の計算をエクセルで行ってみました。 ところが、計算結果が係数によって合うこともあるのですが、 3つの異なる複素解が出てしまうことが有り、ありえない数値が出ることで困っています。 具体的には、3次方程式をax^3+bx^2+cx+d=0としたとき係数に次の数値を入れたときに起こります。 a=1/120、b=1/10,c=1/2,d=1 同じようなご経験のある方、ご教示いただければ幸いです。 計算方法は記号など以下のサイトを引用しました。 http://www2.biglobe.ne.jp/~ytajima/cardanos_formula.html 計算内容は以下のとおりです。 a1,b1,c1,d1セルにそれぞれの係数a,b,c,dを代入します。 a2=b1/a1---p=b/aの計算 a3=c1/a1---q=c/aの計算 a4=d1/a1---r=d/aの計算 a5=-(a2^2)/3+a3---m=-p^2/3+qの計算 a6=(2*(a2^3)/27)-(a2*a3/3)+a4---n=2p^3/27-pq/3+rの計算 a7=impower(imsum((-a6/2),impower((a6^2/4+a5^3/27),1/2)),1/3)---u=(-n/2+(n^2/4+m^3/27)^0.5)^(1/3)の計算 a8=impower(imsub((-a6/2),impower((a6^2/4+a5^3/27),1/2)),1/3)---v=(-n/2-(n^2/4+m^3/27)^0.5)^(1/3)の計算 a9=complex(a10,a11)---ω=(-1+√3i)/2の計算 a10=-1/2---re(ω) a11=sqrt(3)/2---im(ω) a12=improduct(a9,a9)---ω^2の計算 a13=imsub(imsum(a7,a8),(a2/3))---解1=u+v-p/3の結果 a14=imsub(imsum(improduct(a9,a7),improduct(a8,a12)),(a2/3))---解2=ωu+vω^2-p/3の結果 a15=imsub(imsum(improduct(a9,a8),improduct(a7,a12)),(a2/3))---解3=uω^2+vω-p/3の結果
回答: こちらの excel は複素関数無しですけど.... 。下記の問題なら実数演算で用を足せます。 ------------------------- 原方程式: x^3 + 12x^2 + 60x +120 = 0 x = y-4 として: y^3 + 12y + 8 = 0 y = v + w として: v^2 + w^2 + 8 =0 v*w = -12 この二式から: v^6 + 8v^3 - 64 = 0 したがって: v^3 = 4*{-1 + sqrt(5)} v^3 = 4*{-1 - sqrt(5)} あとは逆行。 y = -0.644... x = -4.644... ...でした。