繰り返し計算で求める直接計算の方法とは?

このQ&Aのポイント
  • x=0.767476の条件下で繰り返し計算によってnとyを求める方法とは?
  • 先に与えられた数式を使ってnを増やして計算し、yが0.1に一番近づくnを求める方法について教えてください。
  • 直接計算する方法と繰り返し計算する方法の計算結果が異なる理由を教えてください。
回答を見る
  • ベストアンサー

繰り返し計算で得られる解を、直接計算して求める方法

こんにちは、 下記について、教えて下さい。 y=625.733*((2/5)*(1-x)*a2^2-(4/105)*(1+2*x)*a2^3); があります。 a2は a2->-((7*(-1+x))/(1+2*x))-s1; です。 s1は nが1のときは、s1=0 nが2以上のときは、s1=(92*n)/(y*10^6) となります。 nを増やして、yが0.1に一番、近づいたときの nを求めたいのですが、どのように計算すれば 良いでしょうか? 下記は、nを増やして、mathematcaを使用して数値計算で求めたものです。 答えは n=14675 y=0.0829778 となりました。 もっと、スマートに直接計算する方法を教えて下さい。 x=0.767476; a2=.; For[n=1,n<2*10^4,n++, If[nŠ1,s1=0]; If[n>1,s1=(92*n)/(y*10^6)]; y=625.733*((2/5)*(1-x)*a2^2-(4/105)*(1+2*x)*a2^3); a2=-((7*(-1+x))/(1+2*x))-s1; f=0.1; If[y-f<0,Print["n=",n]]; If[y-f<0,Print["y=",y]]; If[y-f<0,Break[]]; ]; 下記は、以前、ここでご教示頂いたものですが、 いろいろと計算しますと、計算値が、上記の繰り返し計算の値と 異なってしまいます。 x=0.767476; y=.; n=.; z=Solve[y-(625.733*((2/5)*(1-x)*(-((7*(-1+x))/(1+2*x))-(92*n)/(y*10^6))^2-(4/105)*(1+2*x)*(-((7*(-1+x))/(1+2*x))-(92*n)/(y*10^6))^3))Š0,n]; y=0.1; Simplify[z]

noname#107097
noname#107097

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

  • ベストアンサー
  • inara
  • ベストアンサー率72% (293/404)
回答No.1

昨日お答えした inara です。 今回は y = 5.9 でなく、 y = 0.1 の場合ですか。Maple で計算すると n = 651.8424598、742.0595757 でした。繰り返し計算だと小さいほうの n を見つけてしまうのでは?

noname#107097
質問者

お礼

お返事ありがとうございます。 すいません。複雑な式は、止めて 下記に変更したいと思います。 下記が、0に一番近づくのは 7付近なのですが、 このように数値計算をして求めるのではなく 式(たぶん微分方程式)を 解いて、下記と同様な解を 得るには、どのような式 を作ればよいでしょうか? a2=.; For[n=1,n<2*10^1,n++, If[n==,s1=0]; If[n>1,s1=n/y]; y=3/2*a2^2+a2^3; a2=2-s1; f=5; If[y-f<0,Print["n=",n]]; If[y-f<0,Print["y=",N[y]]]; If[y-f<0,Break[]]; ];

noname#107097
質問者

補足

お返事ありがとうございます。 >昨日お答えした inara です。 お世話になります。 >今回は y = 5.9 でなく、 y = 0.1 の場合ですか。Maple で計算すると >n = 651.8424598、742.0595757 でした。 Mathematicaでも、同じ答えです。 >繰り返し計算だと小さいほうの n を見つけてしまうのでは? この計算は、y =が小さくなるにつれ、nが大きくなるはずなのです。 繰り返し計算では、 y=5.9のとき、n=13825 で y=0.1のとき、n= 14675 で、良いのですが、 直接計算する方法では y=5.9のとき、n=13820 で y=0.1のとき、n= 651 で、小さくなってしまい、具合が悪いです。 別の式で、繰り返し計算で得られた答えを導けないでしょうか?

関連するQ&A

  • 繰り返し計算で求められる解を直接計算して求める方法

    こんにちは、 下記について、教えて下さい。 y=625.733*((2/5)*(1-x)*a2^2-(4/105)*(1+2*x)*a2^3); があります。 a2は a2->-((7*(-1+x))/(1+2*x))-s1; です。 s1は nが1のときは、s1=0 nが2以上のときは、s1=(92*n)/(y*10^6) となります。 nを増やして、yが5.9に一番、近づいたときの nを求めたいのですが、どのように計算すれば 良いでしょうか? 下記は、nを増やして、mathematcaを使用して数値計算で求めたものです。 答えは n=13822 y=5.89997 となりました。 もっと、スマートに直接計算する方法を教えて下さい。 x=0.767476; For[n=1,n<2*10^4,n++, If[n==1,s1=0]; If[n>1,s1=(92*n)/(y1*10^6)]; y=625.733*((2/5)*(1-x)*a2^2-(4/105)*(1+2*x)*a2^3); y1=y/.a2->-((7*(-1+x))/(1+2*x))-s1; If[y1-5.9<0,Print["n=",n]]; If[y1-5.9<0,Print["y1=",y]]; ];

  • Mathematica式の挿入について

    こんにちは、 下記のように、yを微分して得られる解をまたyに代入したいのですが y = (2/5)*(1 - x)*a^2 - (4/105)*(1 + 2*x)*a^3; y /. a -> Solve[D[y, a] == 0, a][[2]] と計算してもうまく計算できません。 どうしたら良いでしょうか? 要するに、下記にように Simplify[y /. a -> -((7*(-1 + x))/(1 + 2*x))] 計算して -((98*(-1 + x)^3)/(15*(1 + 2*x)^2)) を得たいのです。

  • 3重積分のオーダーの下限を求めたいです。

    S_n=∫_{-1→1}dz∫_{a→n}dx∫_{a→n}dyh(x,y,z), ただしa>0, h(x,y,z)=zx^3y^3/{f(x)f(y)}(1/E(x)+1/E(y))^2{1/L(x,y,z)}^2, f(x)=√(x^2+c^2), c>0, E(x)=x^2/(2m)+f(x), L(x,y,z)=(x^2+y^2+2xyz)/(2m)+f(x)+f(y)とします。 S_nはn→∞のとき-logn以上で発散することがわかっています。 n→∞のときのS_nの発散の下限がお分かりの方いらっしゃいましたら、解説をお願いします。

  • 3重積分の発散のオーダーを教えてください。

    S_n=∫_{-1→1}dz∫_{a→n}dx∫_{a→n}dyh(x, y, z), ただし a>0, n>0, h(x,y,z)=(zx^2y^2)/{f(x)f(y)E(y)^2}(1/E(x)+1/E(y)){1/L(x,y,z)}, f(x)=√(x^2+c^2), c>0, E(x)=x^2/(2m)+f(x), m>0, L(x,y,z)=(x^2+y^2+2xyz)/(2m)+f(x)+f(y) とします。 n→∞のときのS_nのオーダーを求めてください。よろしくお願いします。

  • 難しい3重積分の発散のオーダーの問題です

    S_n=∫_{-1→1}dz∫_{a→n}dx∫_{a→n}dyh(x,y,z), ただしa>0, nは実数、 h(x,y,z)=zx^3y^3/{f(x)f(y)}(1/E(x)+1/E(y))1/{L(x,y,z)}^4, f(x)=√(x^2+c^2), c>0, E(x)=x^2/(2m)+f(x), m>0, L(x,y,z)=(x^2+y^2+2xyz)/(2m)+f(x)+f(y) のn→∞における発散のオーダーを求めてください。よろしくお願いします。

  • 4次方程式の解

    この度はよろしくお願いいたします。 題名のとおりで 次のサイト様 ttp://www.akamon-kai.co.jp/yomimono/kai/kai.html の計算方法(フェラーリの公式)を用いて4次方程式を 代数的に解こうとしたのですが初めてプログラムをしたに等しいので うまく解が出てきてくれません。 見にくいとは思いますがプログラムを以下に示しますので どこを直せばよいかの修正方法・もしくは他の方法がありましたらどうかよろしくお願いします。 use Math::Complex; # 定数の入力 print "aの値は?\n"; $a = <STDIN>; print "bの値は?\n"; $b = <STDIN>; print "cの値は?\n"; $c = <STDIN>; print "dの値は?\n"; $d = <STDIN>; print "eの値は?\n"; $e = <STDIN>; # ω・p1~p3の式 $j = (-1 + sqrt(-3))/2; $k = (-1 - sqrt(-3))/2; $f = -8*$a*$c+3*$b*$b; $g = -72*$a*$c*$e+27*$a*$d*$d+27*$b*$b*$e-9*$b*$c*$d+2*$c*$c*$c; $o = -256*$a*$a*$a*$e*$e*$e+192*$a*$a*$b*$d*$e*$e+128*$a*$a*$c*$c*$e*$e-144*$a*$a*$c*$d*$d*$e; $p = 27*$a*$a*$d*$d*$d*$d-144*$a*$b*$b*$c*$e*$e+6*$a*$b*$b*$d*$d*$e+80*$a*$b*$c*$c*$d*$e; $q = -18*$a*$b*$c*$d*$d*$d-16*$a*$c*$c*$c*$c*$e+4*$a*$c*$c*$c*$d*$d+27*$b*$b*$b*$b*$e*$e; $r = -18*$b*$b*$b*$c*$d*$e+4*$b*$b*$b*$d*$d*$d+4*$b*$b*$c*$c*$c*$e-$b*$b*$c*$c*$d*$d; $h = $o + $p + $q + $r; # xの3乗根を指数対数で表した式 $s = exp(log($g+3*sqrt(3*$h)/3)); $t = exp(log($g-3*sqrt(3*$h)/3)); # 解 $x1 = 1/(12*$a)*(-3*$b+sqrt(3*($f+2*$a*($s+$t)))+sqrt(3*($f+2*$a*($j*$s+$k*$t)))+sqrt(3*($f+2*$a*($k*$s+$j*$t)))); $x2 = 1/(12*$a)*(-3*$b+sqrt(3*($f+2*$a*($s+$t)))-sqrt(3*($f+2*$a*($j*$s+$k*$t)))-sqrt(3*($f+2*$a*($k*$s+$j*$t)))); $x3 = 1/(12*$a)*(-3*$b-sqrt(3*($f+2*$a*($s+$t)))+sqrt(3*($f+2*$a*($j*$s+$k*$t)))-sqrt(3*($f+2*$a*($k*$s+$j*$t)))); $x4 = 1/(12*$a)*(-3*$b-sqrt(3*($f+2*$a*($s+$t)))-sqrt(3*($f+2*$a*($j*$s+$k*$t)))+sqrt(3*($f+2*$a*($k*$s+$j*$t)))); # 解が成立する時の条件 if($s*$t == 4*(12*$a*$e-3*$b*$d+$c*$c) , sqrt(3*($f+2*$a*($s+$t)))*sqrt(3*($f+2*$a*($j*$s+$k*$t)))*sqrt(3*($f+2*$a*($k*$s+$j*$t))) == 27*(-8*$a*$a*$d+4*$a*$b*$c-$b*$b*$b )){ print $x1 , "\n"; print $x2 , "\n"; print $x3 , "\n"; print $x4 , "\n"; } else{break;}

  • 発散定理による面積分の計算

    次の問題について質問させて下さい。 発散定理を用いて∬s(F・n)dAを計算せよ。 F=[sinx,y,z] S :x≦π/2、x≦y≦z、0≦z≦1の境界面 です。 発散定理とは、∬s(F・n)dA=∫∫∫(divF)dV のことです。 divF=cosx+2で、またyの範囲に注目してy、x、zの順番にdivFを 積分したところ、(6-π^2)/4となったのですが、解答には 1/2-(π^2)/8+(π^3)/24 となっていました。 どこが間違っているのかが分からず困っています。 どなたか解説をお願いします。

  • 3重積分の発散のオーダーを求めてください。

    S_n=∫_{-1→1}dz∫_{a→n}dx∫_{a→n}h(x,y,z)dy, ただしa>0, nは実数、 h(x,y,z)=[x^2y^2/{f(x)f(y)}](x^2/{E(x)}^4+y^2/{E(y)}^4)[1/L(x,y,z)], f(x)=√(x^2+c^2), c>0, E(x)=x^2/(2m)+f(x), m>0, L(x,y,z)=(x^2+y^2+2xyz)/(2m)+f(x)+f(y)とします。 この積分のn→∞としたときの発散のオーダーを求めてください。 よろしくお願いします。

  • 解は得られても理解が不十分です(ベルヌーイ微分式)

    回答者の皆様、いつもお世話になります。 最近は微分方程式も少しは解ける様になれました。 ベルヌーイ微分式なのですが、一部分理解できない所があります。 y´+ p(x)y=Q(x)y^nの微分式において、 w=y^(-n+1)ならば、w´=(-n+1)y^(-n)・y´ とテキストにありますが、w=y^(-n+1)を単純に微分したらw´=(-n+1)y^(-n)ではないですか?y´は何処から出てきたのでしょう?(乗じているので合成関数っぽいです) 思いつく範囲では、そもそも関数y=f(x)があって、関数w=f(y)があるので、 w=f(f(x))であり、w´=f´(y)*dy/dx=f´(y)*y´ぐらいです。 実際はどうなのでしょうか、基本的なこと過ぎてテキストに説明が無いのかもしれませんが、ご指導願います。

  • 3重積分の発散のオーダーを知りたいです。

    S_n=∫_{-1→1}dz∫_{a→n}dx∫_{a→n}h(x,y,z)dy, ただしa>0, nは実数、 h(x,y,z)=[x^2y^2/{f(x)f(y)}](x^2/{E(x)}^3+y^2/{E(y)}^3)(1/E(x)+1/E(y))[1/L(x,y,z)], f(x)=√(x^2+c^2), c>0, E(x)=x^2/(2m)+f(x), m>0, L(x,y,z)=(x^2+y^2+2xyz)/(2m)+f(x)+f(y). この3重積分のn→∞としたときの発散のオーダーを求めてください。 よろしくお願いします。