[[数理情報工学演習第二A]]

レポートの対策をするページです。実験でみんなが大変そうなので、ヒントをあげておきます。
少なくともtakoは、cygwin上のgccで動作を確認しています。

-課題1
--floatをとり、floatを返す関数をかけば、「精度がfloatに落ちてくれない」問題を回避できます。例:
 float t200(float t){
 	return t*200;
 }
-課題2
--λがn重根のとき、n*λ^(n-1)という形の項があらわれる、と、軽くふれましたよね。
-課題3
--これくらいなら、手で、根を求められるのでは。
-課題4
--課題4には、http://www.zusaku.com/suugaku4.htmlが便利です。
-課題5
--求めるだけなら、すぐに終了です。t[i+2]=2*x*t[i+1] - t[i];
-課題6
--意見募集
-課題7
--doubleでやっても30で値がおかしくなっていると思います。
-課題8
--注目すべきはどこでしょう。
-課題9
--C言語では、float.hにFLT_EPSILON,DBL_EPSILON,LDBL_EPSILONが定義されています。Mが大きい場合あふれると書いてあるので、doubleもしくはlong doubleで計算すればいいでしょう。
 f[m]=0;
 //f[m-1]=LDBL_EPSILON;
 //f[m-1]=DBL_EPSILON;
 //f[m-1]=FLT_EPSILON;
 f[m-1]=LDBL_EPSILON;
等として、f[i]=2*(i+1)*f[i+1] /10.0L -f[i+2];とループ…あとはいいですよね。

-- C++なら<limits>にあるstd::numeric_limits<double>::epsilon()とかで。
-課題10
--octaveというmatlabとよく似た機能を持つソフトにa\bという形でとかせてみたのですが、行列のサイズが45から46になったときに挙動がおかしくなりました。
--octaveというmatlabとよく似た機能を持つソフトにa\bという形でとかせてみたのですが、行列のサイズが45から46になったときに挙動がおかしくなりました。~
inv(a)*b とすれば、きちんとできるようです。

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS