- ベストアンサー
線形代数
非線形方程式の解法が分かりません。 非線形項を無視して解き、その解を非線形項に代入して定数とみなして解いてみたのですが、答えが合わないのです。 たとえばX^2-3X+2=0のような非線形方程式はどのように解けば良いのでしょうか??
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
これは数値計算の話で、x^2 - 3x + 2 = 0 は単なる例、解きたいのは一般に p(x) + ax + b = 0 (p(x)は非線形項)のような式だと思います。 f(x) = x^2 - 3x + 2 とおいて、 g(x) = (x^2 + 2)/3 とすると、元の方程式 f(x) = 0 は x = g(x) ここで、初期値を x0 = 2/3 などとして(つまり、非線形項のx^2を無視した解)、 x1 = g(x0) とし、x1を再び右辺の x0 に入れる、という繰り返し(逐次代入法)で解こうとされていると思います。 f(x) = 0 には解が2つありますが、この方法では1つしか求められません。 直線y=xとy=g(x)は交点が2つありますが、このように複数の交点がある場合、少なくとも1つの交点でg(x)の導関数の絶対値が1を超え、その交点に対応する解は求められません。なぜなら、真の解xに対してvずれた近似値を使って、次の近似値が真の解からwずれて求まる x + w = g(x + v) とすると、wの絶対値がvの絶対値より大きいので、繰り返せば繰り返すほど真の解から離れてしまうからです。この場合は、Newton法など別の方法を試みてください。
その他の回答 (2)
- sunasearch
- ベストアンサー率35% (632/1788)
非線形のどのような方程式を対象にしておられるのかわかりませんが、 非線形の場合、代数的に解ける問題はごくわずかです。 そのようなとき、たいていは、#2さんがおっしゃられるように、計算機(コンピュータ)を用いて解を求めます。 もっとも単純な方法として、 方程式f(x)=0の解を求めたいときに、 f(a)*f(b)<0 (a < b) であれば、区間[a,b]に少なくとも解を1つ持つことがわかります。 プログラムであれば、求める精度で総当り的に、 xの値を代入していけば解が求まりますし、 総当りをしない方法として、 解を探索する範囲を、 [a,b]から[(a+b/2),b]もしくは[a,(a+b)/2]に 半分ずつにしていくことでも、解が求められます。 後者は総当り的なプログラムの時間がn時間だったときに、log(n)時間で解を求めることができます。
- adinat
- ベストアンサー率64% (269/414)
微分方程式でない場合は普通は線形とか非線形とかいいません。これは代数方程式と呼びます。中学生で習うただの二次方程式です。 X^2-3X+2=(X-2)(X-1) のように因数分解できるから、X=1,2が解です。もちろん解の公式を用いても同じです。 また二階の微分方程式y"-3y'+2y=0の場合もこれは線形方程式です。未知関数、およびその導関数に関して線形であれば方程式は線形だと呼ぶのです。この場合特性方程式がX^2-3X+2=0で与えられますから、一般解は y=C_1e^x+C_2e^{2x} で与えられます。C_1,C_2は任意実数です。解空間は二次元となります。