• ベストアンサー

この式わからん!

すいません。教えてください 仕事でこの式を使うんですが ln(x)=a/y+by+cy^2+dy^3+e(ln(y)) c,b,c,d,eは定数です これをy=で使いたいのですがどのような式になるんでしょうか。もう大学卒業して10数年もう頭が緊箍児に締め付けられる孫悟空の気分です。

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

  • ベストアンサー
  • Rossana
  • ベストアンサー率33% (131/394)
回答No.3

解析的には解けないと思います. C言語などで数値的に計算するか, 簡単にはEXCELを使うといいと思います. これを x=exp[a/y+by+cy^2+dy^3+e(ln(y))] の形にしておいて, 列xと列yを隣り合わせに作り, yの方の数字を細かく先にセルに入れておいて, xは上の式で計算というようにすれば xとyの関係を数値あるいはグラフの両方で確かめることができます.

kunimaru3
質問者

お礼

返事遅くなりすいません。 Rossanaさんの方法が一番今回の件では 合うようでした。 ありがとうございました

その他の回答 (4)

回答No.5

もうお気付きかもしれませんが、N02の回答でaが抜けていました。  at[n+1]  = ln(x)+e ln((1/a)(ln(x)+e ln(…(1/a)(ln(x)+e ln((1/a)ln(x)))…)) に訂正させて頂きます。

回答No.4

yを先に指定して  ln(x)=1/y+y+y^2+y^3+ln(y) によりxを求め、それを  t = log(x)+log(log(x)+log(log(x))) に代入して1/yの近似値を求め、元のyと比較してみました。   y      x    1/t 0.500000 8.86271e+00 0.306023 0.250000 1.89505e+01 0.230770 0.125000 4.29721e+02 0.123068 0.062500 5.93660e+05 0.062270 0.031250 2.54849e+12 0.031221 0.015625 9.89830e+25 0.015621 0.007812 3.06128e+53 0.007812 0.003906 5.92721e+108 0.003906 0.001953 4.47049e+219 0.001953 yが小さい時、あるいはxが大きい時良い近似になっていることが分かります。

kunimaru3
質問者

お礼

返事遅くなりすいません。 結果的にエクセルで表をつくり近似を参照しました。 あと範囲も指定しなくて申し訳ありませんでした。 yは270~310くらいでした

回答No.2

kunimaru3さん、こんにちは。yが大きい時や小さいときの漸近的な式を求めることはできると思います。以下ではyが小さい場合を考えてみます。yが小さい時  ln(x)=a/y+by+cy^2+dy^3+e ln(y) の右辺で主要な項はa/y、次がe ln(y)で、by+cy^2+dy^3は無視できると考えられます。そこで  ln(x)=a/y+e(ln(y)) …(1) あるいは  ln(x)=a/y …(2) t=1/yとおくと、(1)より  at = ln(x)+e ln(t) これを  at[n+1] = ln(x)+e ln(t[n]) という漸化式で置き換えると、  at[n+1] = ln(x)+e ln(ln(x)+e ln(t[n-1]))  = …  = ln(x)+e ln(ln(x)+e ln(…ln(x)+e ln(t[0])…) ここでt[0]=1とすると(これは(2)に相当します)  at[n+1]  = ln(x)+e ln(ln(x)+e ln(…ln(x)+e ln(ln(x))…) このiterationを有限回で打ち切って使えるかもしれません。

kunimaru3
質問者

お礼

返事遅くなりすいません。 結果的にエクセルで表をつくり近似を参照しました。 あと範囲も指定しなくて申し訳ありませんでした。 yは270~310くらいでした

  • hinebot
  • ベストアンサー率37% (1123/2963)
回答No.1

t=ln(x) とすると、定義から x=e^t となります。ここでeは自然対数の底 2.7182818… と続く無理数です。 つまり、yについて3次と対数(指数)が同居しているわけで、これを解析的に y= とすることは不可能だと思います。

kunimaru3
質問者

お礼

返事遅くなりすいません。 結果的にエクセルで表をつくり近似を参照しました。

関連するQ&A