演習E 13 | 数値計算法☆演習(2010年度)

Time-stamp: "2010-07-16 Fri 14:00 JST hig"

準備というか科目の後片付(必須)

すべての課題提出が終わったあとで, IDEでソリューション-プロジェクトとして作成したe???.cQ:\ncにコピーしよう.

  1. マイコンピュータから Q:¥Visual Studio 2008¥Projects を開く
  2. Cのソースファイルをe001.cなどと命名している場合は, 右上の検索ボックスにe*.cと入力して検索する. *は任意の文字列という意味. 命名に法則性がない場合は*.cなどとする.
  3. 見つかったものをQ:¥nc¥にコピー&ペーストする.

これによって, 作成した数値計算法☆演習で作成したプログラムはすべて Q:\ncにまとめられます. 他の科目や活動で似たプログラムが必要になったときは参照してみよう. UNIX(Linux)のcc(gcc)でもプログラムはそのままで動作するはずです(ただし文字コードや改行コードが異なるために, その変換が必要であることがあります).

必要なファイルがコピーできたら, Q:¥Visual Studio 2008¥Projects以下のファイル・フォルダを消去しても構いません. 必要なファイルを本当にすべてコピーしましたか?

最終回アンケート(成績に加点あり)

ReLS(演習)

課題(必須)

以下の1つの課題がすべてできたら教員またはTAをよんでね.

  • [E131] 連立1次方程式

    \begin{pmatrix} 4 & 1 & 0 & 0 & 0\\2 & 4 & 1 & 0 & 0\\0 & 2 & 4 & 1 & 0\\0 & 0 & 2 & 4 & 1\\0 & 0 & 0 & 2 & 4 \end{pmatrix} \begin{pmatrix} x_0\\x_1\\x_2\\x_3\\x_4 \end{pmatrix} = \begin{pmatrix} 2\\-1\\-1\\0\\3 \end{pmatrix}
    を前進消去だけからなる(上三角部分も前進時に消去する簡易な)Gauss-Jordanの消去法で解くプログラムを作ろう.

    • 行列と右辺のベクトルからなる, 拡大係数行列に対して行基本変形を繰り返そう
    • 係数行列が正則で, 一意な解が存在することは仮定してよい
    • 部分ピボット選択(行の入れ替えにより, その列の中で絶対値が最大の成分をピボットとする)を用いよう
    • 次のような関数を定義して用いよう.
      • void swap(double a[][6], int i,int j)// aのi行とj行を交換する
      • void multiply(double a[][6], int j,double m)//aのj行をm倍する
      • void add(double a[][6], int i,double m,int j) // aのj行にi行をm倍して加える

発展問題

松木平先生の第13回課題を改題して使用させていただいています.

数値計算法☆演習の課題

このサイトのコンテンツ

QRcode to hig3.net

http://hig3.net