N88-BASICで3次方程式 (2回目)

2021/10/8(金)
N88-BASICで3次方程式 (2回目)
 
f(x) = ax3 + bx2 + cx + d
f(x) = 0の解を通る線を表示する

(Re x, Im x, Re y)座標で考える
 
Im f(x) = 0の(Re x, Im x)平面上の線
を調べる
 
x = R + Iiと置くと
f(x) = ax3 + bx2 + cx + d
= a(R3+3R2Ii-3RI2-I3i)+b(R2+2RIi-I2)+c(R+Ii)+d
= aR3-3aRI2+bR2-bI2+cR+d + (3aR2-aI2+2bR+c)Ii
 
I = 0の時
Re y = 0かつIm x = 0はRe x軸なので
Re y = Re f(x)とRe x軸の交点が解となる
 
I ≠ 0の時
Re f(x) = aR3-3aRI2+bR2-bI2+cR+d
Im f(x) = (3aR2-aI2+2bR+c)I
 
Re y = Re f(x)とRe y = 0かつIm f(x) = 0
のグラフの交点が解になる
Im f(x) = 0となるのは3aR2-aI2+2bR+c = 0
のとき
 
Re y = 0は(Re x, Im x)平面なので
この平面上で
3aR2-aI2+2bR+c = 0のグラフを描くため
これを変形して
3a(R+b/(3a))2 - aI2 - b2/(3a) + c = 0
(R+b/(3a))2 - I2/3 = (b2 - 3ac)/(3a)2 
F = (b2 - 3ac)/(3a)2 と置くと
(R+b/(3a))2 - I2/3 = F
(R+b/(3a))2/F - I2/(3F) = 1
なので
b2 - 3ac > 0 (F > 0)ならI軸対象
b2 - 3ac < 0 (F < 0)ならR軸対象
の双曲線になります
b2 - 3ac = 0 (F = 0)なら
(R+b/(3a))2 - I2/3 = 0
I2 = 3(R+b/(3a))2 ⇒ I = ±√3 {R+b/(3a)}
(R+b/(3a))2 = I2/3 ⇒ R = {-b±aI√3}/(3a)
より、2直線になります
 
I軸対象または2直線なら
(R+b/(3a))2 - I2/3 = (b2 - 3ac)/(3a)2 
(R+b/(3a))2 = (b2 - 3ac + 3a2I2)/(3a)2 
R+b/(3a) = ±√(b2 - 3ac + 3a2I2) / (3a)
R = {-b±√(b2 - 3ac + 3a2I2)}/(3a)
2直線の時
R = {-b±√(3a2I2)}/(3a) = {-b±aI√3}/(3a)
 
R軸対象なら
aI2 = 3aR2 + 2bR + c
I = ±√[{(3aR + 2b)R + c} / a]
または
(R+b/(3a))2 - I2/3 = (b2 - 3ac)/(3a)2 
I2 = 3{(R+b/(3a))2 - (b2 - 3ac)/(3a)2 }
I = ±√[3{3a(R+b/(3a))}2-(b2 - 3ac)] / (3a)
2直線の時
I = ±√[3{R+b/(3a)}2] = ±√3 {R+b/(3a)}
 
で紫線を描いています
(今回は、この紫線を追加しました)
 
解は、この線(紫線,複素数)または
Re x軸(青線,実数)上に存在します












NL-BASICとblg~.zip(cubi002.bas)は
このブログ(以下のリンク)からダウンロードできます

https://ulprojectmail.blogspot.com
Readme.txtを読んで遊んで下さい
 

このブログの人気の投稿

NEWS

N88-BASICでゲーム (1回目)