- ベストアンサー
3次式「aX^3+bX^2+cX+d=0」の一般解(実数で)を誘導したいのですが,どうすればよいのでしょうか?
当方,応力の6成分を用いて,主応力成分を3つ求めたいと考えております. 3×3行列を対角化する演算を行うことになると考え,計算するうちに3次式を解く必要が出てまいりました. 3次式の解の公式を試しておりまして, 「a=1, b=-6, c=11 d=-6 → (x-1)(x-2)(x-3)=0を想定」の解は,理論どおりx=1,2,3と計算できたのですが, 「a=1, b=-13, c=47 d=-35 → (x-1)(x-5)(x-7)=0を想定」の解は,理論どおりのx=1,5,7とは,うまく計算できておりません. また,最終的にはプログラムを構築する予定ですが, Newton法やヤコビ法などのような収束計算を用いる方法は,計算コストの関係上あまり使用したくないと考えております. ご教授の程,よろしくお願いいたします.
- みんなの回答 (3)
- 専門家の回答
関連するQ&A
- xについての方程式x^3+ax^2+bx+8=0が3つの実数解α,β,
xについての方程式x^3+ax^2+bx+8=0が3つの実数解α,β,γ(α<β<γ)を持ち、それらがある順序で等比数列をなし、また、ある順序で等差数列をなす。このとき、定数a,bおよびα,β,γの値を求めよ。 解答には、α<β<γよりα,β,γの順に並んでいる。 等差数列だから2β=αγ,等比数列だからb^2=acとなる。 等差数列の考えはこれで良いが、等比の場合b^2=acとa^2=bcとc^2=abという3通りを考えなけ ればならないみたいです。 これと、解と係数の関係よりα+β+γ=-a αβ+βγ+γα=b αβγ=-8を使って解くみたいなんですが、こっから代入しまくるら しいんですが、どうに始めて最後まで解けばいいかわかりません。 わかる方いましたら、ぜひ教えてください!!お願いします!!
- ベストアンサー
- 数学・算数
- ax^2+bx+c=0の解を求めたいのですが・・(初歩的です)
タイトル通り、a、b、cを入力させて、ax^2+bx+c=0の解xを求めたいのですが、結果をどう求めればいいのか、実解・虚数解・重解の場合をどうしたらいいのか、の2点がよくわかりません。 #include<math.h> #include<stdio.h> double sqrt(double a,double b,double c) { return (b*b-4*a*c); } main(void) { double a,b,c,sqrt,ans; do{ printf("ax^2 + bx +c = 0 の解 x を求めます。\n a,b,cを入力してください。\n"); printf("a : "); scanf("%lf",&a); printf("\nb : "); scanf("%lf",&b); printf("\nc : "); scanf("%lf",&c); if(a = 0){ printf("a は0以外を入力してください。\n"); } }while(a = 0); ans = (-b+dist(a,b,c))/(2*a); printf("%lf", ans); printf("\n"); return(0); } 他にも多々ダメな部分があると思いますがご指摘・アドバイス等いただけたらと思います。よろしくお願いします。
- ベストアンサー
- C・C++・C#
- 2次方程式の実数解の符号
2次方程式a+x2(←二乗)+bx+c=0の2つの解α,βと判別式Dについて、 α,βは異なる2つの正の解⇔D>0でα+β>0かつαβ>0 α,βは異なる2つの負の解⇔D>0でα+β<0かつαβ>0 α,βは符号の異なる解⇔αβ<0 となるとき、なぜ2つともD>0となるのか分かりません。 あと、α,βは符号の異なる解の時D>0を書かないのはなぜですか?分かる方、宜しくお願いします(;_;)
- ベストアンサー
- 数学・算数
- D<0とax^2+bx+c=0について
, y=ax^2+bx+cの頂点が(-b/2a,-D/4a)よりD<0の場合ax^2+bx+c=0(a≠0)にはなりませんが x=(-b±√D)/2aがD<0となるとxが虚数となるので、ax^2+bx+c=0にならないという解釈でもよいでしょうか?後、x軸、y軸上に取るものはすべて実数で虚数ということはx軸上に存在しないということですよね?
- ベストアンサー
- 数学・算数
- 3次方程式の実数解の個数のプログラムについて…
C++で、3次方程式の実数解の個数を調べるプログラムを作ってみた(↓)のですが、実行したときに問題点があって困っています。 #include<stdio.h> #include<math.h> void main(void) /*3次方程式の実数解の個数*/ { double a,b,c,d,D,A,B; printf("f(x)=a*pow(x,3)+b*pow(x,2)+c*x+d=0 に対して、a,b,c,dの値を定めると、\n"); scanf("%lf %lf %lf %lf",&a,&b,&c,&d); D=4*pow(b,2)-12*a*c; A=(-b+sqrt(b*b-3*a*c))/(3*a); B=(-b-sqrt(b*b-3*a*c))/(3*a); if(a>0) if(D<=0 || (D>0 && A>0) || (D>0 && B<0)) printf("実数解の個数は1個\n"); else if(A<0 && B>0) printf("実数解の個数は3個\n"); else printf("実数解の個数は2個\n"); else a=-a; b=-b; c=-c; d=-d; if(D<=0 || (D>0 && A>0) || (D>0 && B<0)) printf("実数解の個数は1個\n"); else if(A<0 && B>0) printf("実数解の個数は3個\n"); else printf("実数解の個数は2個\n"); その問題点というのは、実数解の個数が2個と3個のときは、実行したときの結果として、 実数解の個数は2個 Press any key to continue あるいは 実数解の個数は3個 Press any key to continue と正しく表示されるのですが、実数解の個数が1個のときは、 実数解の個数は1個 実数解の個数は1個 Press any key to continue と「実数解の個数は1個」が2回表示されてしまうのです。 なぜ、2回表示されるのか分かりません。 初心者なので、できるだけ詳しい解決法などよろしくお願い致します。
- ベストアンサー
- C・C++・C#
- 四次方程式 解の公式 一般解
こんにちは。 弱塩基と強酸の中和滴定をシミュレートをして[OH-]の濃度と滴定量のグラフを書かせたいと思っています。そのためには4次方程式の解を求めなければならないらしいのです。HP等で検索するといろいろ解法(四次方程式の)が載っているのですが私には難しすぎてなかなか理解できません。たれか助けてください。欲しい回答は 四次方程式 X^4+a*X^3+b*X^2+c*X+d=0の一般解です。 できれば二次方程式の解の公式のような明解な一般解の形で示していただけるとありがたいです。上式に使っているa,b,c,dだけであらわした一般解がいいです。 以上どなたか答えてください。
- 締切済み
- 数学・算数
- 微分方程式の一般解
微分方程式の一般解を求める問題なのですが、どうしてもよく分かりません。 y'6+4y'2=40x^3 (ここで'○は微分の回数を示すとします。また、以下ではD=d/dxのことです) 同時方程式(D^6+4D^2)y=D^2(D^4+4)y=D^2{(D^2+2)^2-4D^2}y=D^2(D^2+2+2D)(D^2+2-2D)y=D^2{(D+1)^2+1}{(D-1)^2+1}y=0 の基本解は{1、x、e^(-x)cosx、e^(-x)sinx、e^xcosx、e^xsinx} 次に特殊解Y(x)を求める。 非同次項R(x)=40x^3は同時方程式40D^4y=0の解だから、 特殊解Y(x)の式Yは同時方程式 40D^4・D^2{(D+1)^2+1}{(D-1)^2+1}y=0の解である。 この基本解{1、x、x^2、x^3、x^4、x^5、e^(-x)cosx、e^(-x)sinx、e^xcosx、e^xsinx}から与式の基本解を除いたx^2、x^3、x^4、x^5の一次結合として Y(x)=Ax^2+Bx^+Cx^4+Dx^5とおく。 与式の左辺に代入… と続いていくのですが、どうにもしっくりきません。 答えも y=(20/3)x^3+c1+c2x+e^(x/√2){c3cos(x/√2)+c4sin(x/√2)}+e^(-x/√2){c5cos(x/√2)+c6sin(x/√2)} となり、私の解からでは到底結びつくとは思えないです。 気になるのが 「非同次項R(x)=40x^3は同時方程式40D^4y=0の解だから」 としていますが、本当にこれで良いのか自信もありません。 もし間違えていたら解説をお願いします。 また、他に違うというようなところがあったら指摘してください。 回答、よろしくお願いします。
- ベストアンサー
- 数学・算数
- 虚数、実数、ax^2+bx+c=0について
実数とは有理数と無理数をあわせた数であるから x軸、y軸上に取るものはすべて実数で虚数ということはx、y軸上に存在しませんよね? 後、ax^2+bx+c=0(a≠0)において x=(-b±√D)/2aがD<0となるとxが虚数となるので,虚数はx軸に存在しないので、x軸との共有点がなくax^2+bx+c=0となるxはないという解釈でだいじょうぶでしょうか?
- ベストアンサー
- 数学・算数
お礼
ご回答,ありがとうございました. 試してみようと思います.