1000桁モードで5乗根 会社員 2004/06/27 21:14:40 ├1000桁モードでは0.2乗は無効だと思います。... 哲 2004/06/27 21:25:38 └ニュートン法でもいいですか? 青木太一 2004/06/27 21:43:57 ├十進BASICの最近の版ではフォルダ構成が変更... 白石 和夫 2004/06/28 10:15:32 └>あと、そもそも指数関数の5乗根を求め... 会社員 2004/06/30 22:16:59
1000桁モードで5乗根 会社員 2004/06/27 21:14:40 ツリーへ
1000桁モードで5乗根 |
返事を書く |
会社員 2004/06/27 21:14:40 | |
1000桁モードで5乗根を求めたいのですが、 どうすればいいのでしょうか? 指数関数の5乗根(=0.2乗)は 超越関数にチェックしても 17桁までしか求められません。 プログラムを教えていただけるとありがたいのですが、 基本的考えだけでも教えてください。 よろしくお願いします。 |
├1000桁モードでは0.2乗は無効だと思います。... 哲 2004/06/27 21:25:38 ツリーへ
Re: 1000桁モードで5乗根 |
返事を書く |
哲 2004/06/27 21:25:38 | |
1000桁モードでは0.2乗は無効だと思います。 それで初期値を適当に決めて、 5回掛けて元の数より小さければもっと大きい数にステップアップ、 大きくなりすぎたら1つ戻って桁を落として繰り返す、というやり方でどうでしょうか? |
└ニュートン法でもいいですか? 青木太一 2004/06/27 21:43:57 ツリーへ
Re: 1000桁モードで5乗根 |
返事を書く |
青木太一 2004/06/27 21:43:57 | |
ニュートン法でもいいですか? 会社員さんが解こうとしている問題の要求仕様にもよりますが、 ニュートン法でいいなら十進BASICをダウンロードして付いてくるサンプルの SUUGAKUC\NEWTON.BAS に平方根の場合のサンプルがあります。そのサンプルの >DEF f(x)=x^2-a >DEF g(x)=2*x ! g(x)=f'(x) のところを DEF f(x)=x^5-a DEF g(x)=5*(x^4) ! g(x)=f'(x) に書き換えれば1000桁モードで5乗根を出すことができると思います。 ただし、私は数値計算の精度評価について詳しくないので、 1000桁モードの精度が有効に生かされるのかどうかはわかりません。 あと、そもそも指数関数の5乗根を求めようとしているのですか? 指数関数の出す数値の有効桁数が17桁くらいでしょうから、 1000桁モードを使う意味はあまりないのではないかと愚考しますが。 間違ってたらごめんなさい。 |
├十進BASICの最近の版ではフォルダ構成が変更... 白石 和夫 2004/06/28 10:15:32 ツリーへ
Re: ニュートン法でもいいですか? |
返事を書く |
白石 和夫 2004/06/28 10:15:32 | |
十進BASICの最近の版ではフォルダ構成が変更になりました。 SUUGAKUCフォルダがないときはMATHフォルダからNEWTON.BASを探してください。 |
└>あと、そもそも指数関数の5乗根を求め... 会社員 2004/06/30 22:16:59 ツリーへ
Re: ニュートン法でもいいですか? |
返事を書く |
会社員 2004/06/30 22:16:59 | |
>あと、そもそも指数関数の5乗根を求めようとしているのですか? すいません。 「指数関数〜」は関係なかったです。 忘れてください。 ありがとうございました、ニュートン法 使わせていただきます。 ―5乗根――――――――――――――――――――――――――――― DECLARE EXTERNAL FUNCTION Fxx INPUT PROMPT "A=":A PRINT " Fxx(A)=";Fxx(A) END 1000 !5乗根 ! ニュートン法によって5乗根を求める。 EXTERNAL FUNCTION Fxx(KKK) DEF f(x)=x^5-KKK DEF g(x)=5*x^4 ! g(x)=f'(x) LET x=KKK LET J=EPS(1)*10 DO LET x1=x-f(x)/g(x) ! PRINT "☆";x1 IF ABS((x1-x)/x)<J THEN EXIT DO LET x=x1 LOOP LET Fxx=ROUND(x,500) END FUNCTION |