• ベストアンサー

f(x)とF(a)が分かっていて、aを求めたいのだが、f(x)の積分が難しい

ある測定値Nから、ある値aを求めたい状況にあります(但しaを求めることは最終目的ではありません)。 いくつかの仮定に基づき、式を立て変形をしていったところ、N=∫[0~a]f(x)dxという関係式まで導けたのですが、 f(x)=[√{x×g(x)}]/h(x)という形になっていて私には原始関数を求めることができません(g(x),h(x)はxについての整式です)。 maximaという数式計算ソフトでも原始関数を求めることはできませんでした。 仮に原始関数を求めることができても、定積分が多項式になってしまうと解くのも大変ですから、何か他の方法はないものか考えています。 aは0に近い数であることは予想されているため、f(x)をx=0の周りで近似することは考えたのですが、√xを因数に持つため難しいのです。 また、N=∫[0~a]f(x)dxの両辺を微分する方法も考えましたが、aやNを変化させて測定することができないため、難しいと思います。 何か良いアイデアがありましたら、お教えください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.9

g(x)=-(x+2R-2r)(x+2R)(x-2r) h(x)=x+R+r 0<a<R-r<<r<R N=∫[0~a][√{x×g(x)}]/h(x)dx において、Nからaを求めたい。という事でいいのでしょうか? また、aが非常に小さい。 解析的な方法でやってみます。 しかし近似を使います。 N(0)=0でよいですね。 N=N(a)-N(0)=(N(a)-N(0))/(a-0)*(a-0) aが非常に0に近いという近似からとして N=d(N(a))/da*a=[√{a×g(a)}]/h(a)*a a<R-r<<rからa<<r ,h(a)=a+R+r=r(a/r+R/r+1) 1/h(a)=1/r*1/(a/r+R/r+1)→1/r*(1/(R/r+1)+(1/(R/r+1))^2*a/r)) a/r=b,R/r=dとすると、 1/h(a)=1/r*(1/(d+1)+(1/(d+1))^2*b)) a/r=bとしてbの二次は無視して、g(a)を算出すると g(a)=-(a+2R-2r)(a+2R)(a-2r) =-(a/r+2R/r-2)(a/r+2R/r)(a/r-2)*r^3 a/r=bとして =-r^3(b+2R/r-2)(b+2R/r)(b-2) →-r^3(b+2R/r-2)(-4R/r+b(-2+2R/r)) →-r^3([2R/r-2]*(-4R/r)+{[2R/r-2](-2+2R/r)-4R/r}b) R/r=dとして g(a)→-r^3([2d-2]*(-4d)+{[2d-2](-2+2d)-4d}b) N=[√{a×g(a)}]/h(a)*a =[√{br×g(a)}]/h(a)*br =√{br(-r^3([2d-2]*(-4d)+{[2d-2](-2+2d)-4d}b))}]*1/r*(1/(d+1)+(1/(d+1))^2*b))*br ながいので、続きをのちほどかきます

sak_sak
質問者

お礼

“連作”で回答いただきありがとうございました。 それなのに、私のほうで何度も式を間違えてしまい申し訳ありませんでした。

sak_sak
質問者

補足

ありがとうございます。 大変申し訳ないのですが、実はNo.4で書き間違いをまたしてしまっていました。 正しくは g(x)=-(x+2R-2r)(x+2R)(x-2r) h(x)=x+R-r 0<a<R-r<<r<R です。 要はrを基準に他の変数を割ってしまうということだと思いますので、それでやってみます。 rよりRの方が大きいのでRで割るかもしれませんが。

その他の回答 (14)

noname#26313
noname#26313
回答No.15

函数と定数の大小関係が分かったので、改めて積分に挑戦します。 0<a<R-r<<r<Rより 0<a<R-r<2(R-r)<<2r<2R x/(2R)<<1より x/(2R)を1に比して省略できるとする。 x+2R=2R[1+{x/(2R)}]≒2R 同様に、x/(2r)<<1より x-2r=-2r[1-{x/(2r)}]≒-2r 従って、 [√{x・g(x)}]/h(x)≒[√{2r・2R・x・(x+2R-2r)}]/(x+R-r) ={2√(Rr)}・[√{x・(x+2R-2r)}]/(x+R-r) x・(x+2R-2r)=x^2+2・x(R-r)=(x+R-r)^2-(R-r)^2 ∴[√{x・(x+2R-2r)}]/(x+R-r)=√[{(x+R-r)^2-(R-r)^2}/(x+R-r)^2] {(x+R-r)^2-(R-r)^2}/(x+R-r)^2=1-{(R-r)^2/(x+R-r)^2} 簡単化のために、L≡R-rと置くと、 [√{x・g(x)}]/h(x)={2√(Rr)}・√[1-{L^2/(x+L)^2}] ∴ ∫[0,a][√{x・g(x)}]/h(x)dx={2√(Rr)}・∫[0,a]√[1-{L^2/(x+L)^2}]dx この面倒な積分は、 http://integrals.wolfram.com/index.jsp を使わせてもらうと、 {2√(Rr)}・(√{a(2R-2r+a)}-2(R-r)・arctan[√{a/(2R-2r+a)}]) となります。

sak_sak
質問者

お礼

根号内を事実上2次式にしてしまうのがポイントでしょうか。 回答ありがとうございました。

noname#26313
noname#26313
回答No.14

失礼しました。 ∴ -(2R-2r)<0<x<2r ですね。 #13は無視してください。

noname#26313
noname#26313
回答No.13

xを0からaまで積分しようとしているので 0<x<aを前提にしていると考えてよいですね。 ところが、被積分函数は、f(x)=[√{x×g(x)}]/h(x)という形であり √内が正であるなら -x(x+2R-2r)(x+2R)(x-2r)>0、または、-x(x+2R-2r)(x+2R)(x-2r)=0 でなければなりません。 (x+2R)>0より (x+2R-2r)(x-2r)<0 ∴ 2R-2r<x<2r 0<a<R-r<<r<Rより 0<a<R-r<2(R-r)<<2r<2Rです。 つまり、積分範囲[0,a]は、被積分函数を複素数にする領域ということになります。 これで良いのですか?

sak_sak
質問者

補足

>∴ 2R-2r<x<2r -2R+2r<x<2r ではないですか?

回答No.12

さらに追加です。 a/r<<1は間違いないようなので、積分の中に関して、 0<c=x/r<a/r<<1というcに関して、 近似して、そのあと、cに関して積分すれば aが0にさほど近く無い場合での精度の良い式になるかと思います。 そして、近似後の式はcに対して一次の式なので、積分はたやすいかと 思います。 これが最後の僕の〆の回答です。

回答No.11

追加です a<<rから、a/r<<1、b<<1という近似を全てにおいて使いました。 r<Rから、1<R/r=dによって、ルートのなかが正であること。 aが十分小さいから高次のaの項に関する積和を無視して積分実行を回避。 と言うのを忘れていました。

回答No.10

続きです。 いっぱい近似できます。 N=[√{a×g(a)}]/h(a)*a =[√{br×g(a)}]/h(a)*br =[√{br(-r^3([2d-2]*(-4d)+{[2d-2](-2+2d)-4d}b))}]*1/r*(1/(d+1)+(1/(d+1))^2*b))*br →[√{br(-r^3([2d-2]*(-4d)+{[2d-2](-2+2d)-4d}b))}]*1/(d+1)*b =[√{br^4(([2d-2]*(4d)+{4d-4 -4d^2+4d}b))}]*1/(d+1)*b =[√{b(([2d-2]*(4d)+{4d-4 -4d^2+4d}b))}]*1/(d+1)*b*r^2 =[√{b[2d-2]*(4d)+{4d-4 -4d^2+4d}b^2}]*1/(d+1)*b*r^2 →[√{b[2d-2]*(4d)}]*1/(d+1)*b*r^2 =(2b)^(3/2)*r^2*[√{[d-1]*d}]/(d+1) となります。 よって、2b=(N*(d+1)/{r^2*[√{[d-1]*d}]}^(2/3) a=r/2*(N*(R/r+1)/{r^2*[√{[R/r-1]*R/r}]}^(2/3) という値を持つであろう。 N/r^2の値が十分小さければ、上の等式はかなりの精度で満足するだろう。 近似の勝利ですね。 本当に正しく導出できているかどうかわからないので、手でやってください。 パソコン上だときちんとおえていない可能性もありますので では

noname#26313
noname#26313
回答No.8

先のアドバイスを続けます。 B列を、 =SQRT(A1/(A1+2R-2r)/(A1+2R)/(A1-2r))/(A1+R+r)、 =SQRT(A2/(A2+2R-2r)/(A2+2R)/(A2-2r))/(A2+R+r)、 =SQRT(A3/(A3+2R-2r)/(A3+2R)/(A3-2r))/(A3+R+r)、 ・・・・・・ などとすると、aを求めることができると思います。

sak_sak
質問者

補足

回答ありがとうございます。 数値解は最終手段と考えておりますので、できるだけ解析解(あるいは微分形の式などそれに相当するもの)を 求める方法を知りたいのです(数学カテゴリに質問したのもそのためです)が、他に手はないでしょうか?

  • age_momo
  • ベストアンサー率52% (327/622)
回答No.7

一応、ここで数式 sqrt[x]/(x+k+r)/sqrt[(x+2k-2r)(x+2k)(x-2r)] を入力すると原始関数らしきものははじき出しましたが、ちょっとこれは、、、 というしろものです。数値積分しておいたほうがいいのではないですか? http://integrals.wolfram.com/index.jsp

sak_sak
質問者

補足

No.4の補足に書いた式が間違っていました。すみません。 積分以外に解く方法はないのですか?

  • rabbit_cat
  • ベストアンサー率40% (829/2062)
回答No.6

#2です。 >単純にニュートン法か2分法などで解けばいいのでは。 >>定積分が求められないうちにニュートン法や2分法が使えるのですか? 数値積分すればよいです。 って、もしかして解析解が知りたいってことなんですか? そうだとすると、N(a)=X の逆関数 N^(-1)(X) を X=0 の周りで展開するのがいいでしょう。おそらくMaximaでもMapleでもそれなりの数式処理ソフトならうまいことやってくれるはずです。

sak_sak
質問者

補足

>数値積分すればよいです。 数値積分した場合に、ニュートン法はどうやって行うのですか? ニュートン法とは関数形が式として求められていない場合にもできるのですか? >N(a)=X の逆関数 N^(-1)(X) を X=0 の周りで展開するのがいいでしょう どうやったら逆関数 N^(-1)(X)を解析的に求められますか?

noname#26313
noname#26313
回答No.5

#1、#4です。 エクセルを使って最も簡単なオイラー法で数値積分を行い、その結果を基に 考察を加える一つの方法の例を示します。 仮に、g(x)=x^2+x+1、h(x)=x^3+x^2+x+1であるとします。 A列には、0、0.01、0.02、・・・・1.00 B列には、=SQRT(A1*(A1^2+A1+1))/(A1^3+A1^2+A1+1)、 =SQRT(A2*(A2^2+A2+1))/(A2^3+A2^2+A2+1)、 =SQRT(A3*(A3^2+A3+1))/(A3^3+A3^2+A3+1)、 ・・・・・・ を入力します。するとB列には、[√{x・g(x)}]/h(x)の値が求まります。 C列に、0.01*B1、0.01*SUM($B$1:B2)、0.01*SUM($B$1:B3)、・・・・ を入力すると、C101セルには Σ[n=1~100]<(x_'n'-x_'n-1')・[√{x_'n-1'・g(x_'n-1')}]/h(x_'n-1')>、 つまり、近似的に、xについて0~1まで積分した値が求まります。 ∫[0~1][√{x×g(x)}]/h(x)dxです。(これをSとします) この値をNと比較し、N>Sならば、S≒NになるまでC列の計算を追加します。 N<Sならば、既にC列101行までに、Nの値があることになります。 (精度を増したければ、0.001などとΔx=x_'n'-x_'n-1'の値を小さくすると良い) 積分値を確認後、A列、C列の計算結果をグラフ表示すれば、 aの函数としての[√{x・g(x)}]/h(x)の積分、 N(a)=∫[0~a][√{x×g(x)}]/h(x)dxを図で確認できます。 被積分函数、[√{x×g(x)}]/h(x)についても、B列の計算結果をグラフ表示 すれば、xの函数として図で確認できます。 もし、積分値S、あるいは被積分函数がある値を示す時のxの値を 求めたければ、それに対応したグラフからxの値を読み取ることによって、 求めることができます。 如何ですか?

関連するQ&A

  • 整式f(x)は、すべての実数tに対して、

    整式f(x)は、すべての実数tに対して、 (t+1)f(t+1)-(t-1)f(t-1)=t^2+t+1 を満たすとする。このとき、整式f(x)の次数nを求めよ。 f(x)=ax^n + bx^(n-1)・・・・・とし(a≠0)、 g(x)=xf(x)とおくと、 g(x)=ax^(n+1)+bx^n +・・・・・であり、与えられた等式は、 g(t+1)-g(t-1)=t^2+t+1・・・・・(1) g(t+1)-g(t-1) =a{(t+1)^(n+1)-(t-1)^(n+1)}+b{(t+1)^n-(t-1)^n}+【(n-1次以下)】 =a{2(n+1)t^n+(n-1次以下)}+b{2nt^(n-1) +(n-2次以下)} +(n-1次以下) =【2a(n+1)t^n +(n-1次以下)】 よって、(1)の両辺の最高次の項の次数を比較して、 n=2 ※ ax^(n+1)は、axのn+1乗の意味です。 教えてもらいたいのは、【 】で囲った2ヶ所です。 1つ目の【 】の(n-1次以下)というのは、どこから、なぜ、出てきたのか、と疑問に思いました。 そして、2つ目の【 】は、どのような計算でそのような式になったのか、これも疑問に思いました。 教えてください。よろしくお願いします。

  • lim[n→∞]∫[0~1]f_n(x)dx=∫[0~1]f(x)dxが示せません

    宜しくお願いいたしました。 [問]各n∈Nに対し,f_n(x)=nx/(1+nx),x∈[0,1]とする。 数列{f_n}は[0,1]で積分可能関数fには各点収束するが一様収束しない事を示せ。 そしてlim[n→∞]∫[0~1]f_n(x)dx=∫[0~1]f(x)dxとなる事を示せ。 で「lim[n→∞]∫[0~1]f_n(x)dx=∫[0~1]f(x)dxとなる」が示せずに困っています。 f(x)= 1/e (x=1の時) 1 (0<x<1の時) 0 (x=0の時) と積分可能関数fが求めました。 でも 0<x<1の時 lim[n→∞]∫[0~1](f(x)-f_n(x)) =lim[n→∞]∫[0~1](1-nx/(1+nx))dx =lim[n→∞]∫[0~1](1/(1+nx))dx =lim[n→∞][-n/(1+nx)^2]^1_0 =lim[n→∞](-n/(1+n^2)+n) となり0になりません。何か勘違いしておりますでしょうか?

  • Σ[n=1..∞]a_nφ_n(x)が関数f(x)に[a,b]で一様収束する時,各n∈Nに対してa_nはfのフーリエ係数となる

    こんにちは。 [問]{φ_n(x)}を[a,b]での直交関数列とせよ。級数Σ[n=1..∞]a_nφ_n(x)が関数f(x)に[a,b]で一様収束する時,各n∈Nに対してa_nはfのフーリエ係数となる事を示せ。 [証] 仮定より[a,b]でΣ[n=1..∞]a_nφ_n(x)=f(x) …(1)と言える。 c_k (k=0,1,2,…)をf(x)の{φ_n(x)}に於ける[a,b]でのフーリエ係数とすると フーリエ係数の定義から c_k=∫[a..b]f(x)φ_k(x)dx/∫[a..b](φ_k(x))^2dx=∫[a...b](Σ[n=1..∞]a_nφ_n)φ_k(x)dx/∫[a..b](φ_k(x))^2dx (∵(1)) =∫[a...b]a_kφ_kφ_k(x)dx/∫[a..b](φ_k(x))^2dx(∵{φ_n(x)}は直交) =a_k∫[a...b](φ_k(x))^2dx/∫[a..b](φ_k(x))^2dx =a_k となり,一様収束である事の条件を使わなかったのですがこれで正しいのでしょうか?

  • Re: f:[0,1]で連続関数,lim[n→∞]∫[0 to 1]f(x^n)dx=f(0)の証明での疑問

    [問]fを[0,1]で連続な関数とする時,lim[n→∞]∫[0 to 1]f(x^n)dx=f(0)となる事を示せ。 という問題に取り組んでいます。 積分の平均値の定理「fが[a,b]で連続ならば∃c∈(a,b);∫[a~ b]f(x)dx=f(c)(b-a)」を使って下記のように解きました。 十分小さな正の数εでもって,[0,1-ε],[1-ε,1]に積分区間を分けると, f(x^n)は連続なので,積分の平均値の定理から, ∫[0 to 1]f(x^n)dx =∫[0 to 1-ε]f(x^n)dx+∫[1-εto 1]f(x^n)dx =(1-ε)f(α^n)+εf(β^n) (0<α<1-ε<β<1) →(1-ε)f(0)+εf(0)=f(0) 然し,βはεに依存するので1未満だからといってβ^n→0とはそう簡単には言えないみたいなのです。 私としましてはεに依存してようが1未満なので必ずβ^n→0と思うのですが、、、 どのように解釈したらいいでしょうか?

  • 整式で表された関数f(x)が

    整式で表された関数f(x)が、f'(x){f'(x)-x}=f(x)+2(x+1)を満たすとき、f(x)を求めよ。 という問題で、f(x)がn次式であるとすると、教科書では、 (a)n=0,1のときf(x)=ax+bとおけ、f'(x)=aより与式に代入して、恒等的に解いて、f(x)=-x-1 (b)n>=2のとき左辺は2(n-1)次式、右辺はn次式より、2(n-1)=n n=2より f(x)=px^2+qx+rとおいてf'(x)=2px+qより与式に代入して、恒等的に解いて、f(x)=(3/4)x^2+2x+2 ということらしいのですが、 n>=2のとき、例えば、f(x)=(1/2)x^2+cx+dのとき、f'(x)-xは定数(c)となり、左辺は1次式となって、 左辺は必ずしも2(2-1)=2次式とは言い切れないと思うのですが、どうでしょうか。解答として不十分なのでしょうか。 一度先生に質問してみたところ、n=2はあくまでも必要条件だから、このままでよいと言われましたが、 どういうことでしょうか。 解答お願いします。

  • 関数F(x、y)=0の導関数

    こんにちは。 高校数学3 導関数に関する質問です。 本の説明によると 「ax^n+by^n=cについて両辺をxで微分すると、yはxの関数より、x→y→y^nと考えて  ←質問(1) nax^(n-1)+bny^(n-1)・dy/dx=0 これよりdy/dxを求めればよい。」 とのことですが、これはいったいどういうことなのでしょうか? 質問は(1)の部分ですが、全体的によく理解できないので、ヒントだけでもいただけるとありがたいです。 よろしくお願いします。

  • ∫(a,b)αf(x)dx=α∫(a,b)f(x)dxという定積分の性質の証明について

    aからbまでのf(x)の定積分を∫(a,b)f(x)dxと表します。 不足和・過剰和から始まって定積分を定義した後の、「f(x)が区間[a,b]でリーマン積分可能で、αが定数ならば、∫(a,b)αf(x)dx=α∫(a,b)f(x)dx」という定積分の性質の証明についてですが、大学初年級の理工学部向けの教科書・参考書ではこの定理の証明はたいてい「容易なので省略する」となっており、私が見た中で唯一証明してあるのは「微分積分学1」(三村征雄、岩波全書)です。 この本(235ページ)によると、α≧0、α≦0の二つの場合に分けています。α≧0の場合は容易ですが、α≦0のときにはsup(-f(x))=-inff(x)であることを示してからひとつの補題を証明し、その後に上の証明に取り掛かっています。これによると、この定理は、どうも「容易なので省略する」とはいえないような気がします。 そこでお尋ねですが、 1 αの場合分けをしないなどして、定積分の定義から容易に、それこそ2,3行ぐらいで証明する手法はありますか? (ただし、f(x)が連続関数であるときの定理∫(a,b)f(x)dx=F(b)-F(a)(F(x)はf(x)の原始関数)というルートは使わないものとします。) 2 もし、容易でないにもかかわらず証明を省略する場合は紙数の都合によるのでしょうか? 3 初学者には容易ではないのに、著者がそう判断してしまっているということはありえますか? 以上、よろしくお願いいたします。

  • 積分の問題について

     ∫[a-h,a+h] f(x)dx = 1/3h(f(a-h)+4f(a)+f(a + h)) f(x)を2次の多項式とする。上の等式が成り立つことを示せ。  これの解き方を教えてください。

  • 6重積分の発散のオーダーの問題です。

    S_n =∫_{-∞→∞}dx1∫_{-∞→∞}dx2∫_{-∞→∞}dx3∫_{-∞→∞}dy1∫_{-∞→∞}dy2∫_{-∞→∞}dy3 H(x,y) ただし x とyは3次元ベクトルで x=(x1, x2, x3), y=(y1, y2, y3), H(x,y)=Σ_{i=1, 2, 3}H_i(x,y). H_i(x, y)={I_[a, n](|x|) I_[a, n](|y|)}/{f(x)f(y)}(xi/E(x)^2+yi/E(y)^2)(1/E(x)+1/E(y)){1/G(x,y)}, ただし|x|=√(x1^2+x2^2+x3^2), I_[a, n](|x|)は定義関数で、 a≦|x|≦nのとき I_[a, n](|x|)=1, それ以外のとき I_[a, n](|x|)=0となる関数である。(a>0, n>0) また、f(x)=√(|x|^2+c^2), c>0, E(x)=|x|^2/(2m)+f(x), m>0, G(x,y)={|x|^2+|y|^2+2(x1y1+x2y2+x3y3)}/(2m)+f(x)+f(y)であるとする。 n→∞のときのS_nの発散のオーダーを求めてください。よろしくお願いします。

  • 微分積分

    微分積分(難) f(x)がC^(n+1)級の関数、f(n回微分)(a)≠0のとき、テーラのー展開 f(a+h)=f(a)+f’(a)h+(1/2!)f’’(a)h^2+…+{1/(nー1)!}f(nー1回微分)(a)h^(nー1)+(1/n!)f(n回微分)(a+θh)h^n における0<θ<1についてlim(h→0)θを求めよ 。 宜しくお願いします。