<<option chkGenerateAnRssFeed>> GenerateAnRssFeed\n<<option chkOpenInNewWindow>> OpenLinksInNewWindow\n<<option chkSaveEmptyTemplate>> SaveEmptyTemplate\n<<option chkToggleLinks>> Clicking on links to tiddlers that are already open causes them to close\n^^(override with Control or other modifier key)^^\n<<option chkHttpReadOnly>> HideEditingFeatures when viewed over HTTP\n<<option chkForceMinorUpdate>> Treat edits as MinorChanges by preserving date and time\n^^(override with Shift key when clicking 'done' or by pressing Ctrl-Shift-Enter^^\n<<option chkConfirmDelete>> ConfirmBeforeDeleting\nMaximum number of lines in a tiddler edit box: <<option txtMaxEditRows>>\nFolder name for backup files: <<option txtBackupFolder>>\n<<option chkInsertTabs>> Use tab key to insert tab characters instead of jumping to next field
\n\n情報生体システム工学実験I\n\nテーマ06 数値解析\n\n[img[banner02.jpg]]\n\n1. [[目的]]\n\n2. 実験.\n \n 2.1 [[Mathematicaの基本]]\n\n 2.2 [[方程式]]\n\n 2.3 [[微分・積分]]\n\n 2.4 [[その他の計算]]\n\n3. [[課題]]\n\n4. [[レポート作成・提出]]\n\n5. [[Tips]]\n\n
1. [[目的]]\n\n2. 実験\n\n[実験1] \n[[Mathematicaの基本]]\n\n[実験2]\n[[方程式]]\n\n[実験3]\n[[微分・積分]]\n\n[実験4]\n[[その他の計算]]\n\n3. [[課題]]\n\n4. [[レポート作成・提出]]\n\n5. [[Tips]]\n\n
新しいノートブックを作成し(「ファイル」→「新規作成」→「ノートブック」),以下の実験を行う.\n\n''[実験1.1]'' 計算の実行\n\nMathematicaを計算機のように使ってみよう. \n\n> [img[HTMLFiles/exp1_914.png]]\n\n上記のように入力を行った後,@@[Shift]+[Enter]キー@@を押すと,計算が行われる.\n\n> [img[HTMLFiles/exp1_915.png]]\n\n> [img[HTMLFiles/exp1_917.png]]\n\n定数や数学記号の入力もできる.\n\n> [img[HTMLFiles/exp1_916.png]] (Ctrl + /)\n\n> [img[HTMLFiles/exp1_902.gif]] (Ctrl + ^)\n\n> [img[HTMLFiles/exp1_903.gif]] (Esc → ee → Esc、 Esc → ii → Esc、 Esc → p → Esc) \n|x と yの掛け算では間に@@半角スペース@@を入れること. xyと連続して入力を行うと,一つの変数とみなされてしまうことに注意.|\n複雑な数学記号の入力はパレットを使用する.\n\n> [img[HTMLFiles/exp1_904.gif]]\n\n> [img[HTMLFiles/exp1_905.gif]]\n\n> [img[HTMLFiles/exp1_906.gif]]\n\n\n''[実験 1.2]'' 数値計算と代数計算\n\n以下の式を計算してみよう.\n\n> [img[HTMLFiles/exp1_3.gif]]\n\n%記号を使うと直前の結果を利用できる(%%は2つ前の結果).\n\n   |% / 2\n\n階乗や三角関数なども計算が可能である.\n\n> [img[HTMLFiles/exp1_5.gif]]\n\n> [img[HTMLFiles/exp1_7.gif]]\n\n代数を使った計算もできる.\n\n> [img[HTMLFiles/exp1_910.gif]]\n\n> [img[HTMLFiles/exp1_911.gif]]\n\n> [img[HTMLFiles/exp1_912.gif]]\n\n> [img[HTMLFiles/exp1_913.gif]] (初期化)\n\n> [img[HTMLFiles/exp1_911.gif]]\n\n数値計算を行い,近似値を求める場合は,関数Nを用いる.\n\n> [img[HTMLFiles/exp1_11.gif]]\n\n計算を行う桁数の指定も可能である.\n\n> [img[HTMLFiles/exp1_13.gif]]\n\n以下のように,数字の後ろに小数点を付加することで,近似実数を求める計算を行える.\n\n> [img[HTMLFiles/exp1_29.gif]]\n\n> [img[HTMLFiles/exp1_31.gif]]\n\n\n''[演習1.1]'' 次の値を求めよ.\n\n> [img[HTMLFiles/exp1_35.gif]]\n\n> [img[HTMLFiles/exp1_38.gif]]\n\n\n''[演習1.2]'' 次の値の桁数を求めよ.\n\n> [img[HTMLFiles/exp1_41.gif]]\n\n> [img[HTMLFiles/exp1_43.gif]]\n\n\n\n|変数名と関数名|\n|Mathematicaでは,全ての関数は@@大文字@@から始まり,その引数は鉤括弧@@ [ ] @@で囲まれる.変数をユーザが定義する場合は,小文字から始まる名前をつける. |\n\n''[実験1.3]'' リスト\n\nMathematicaでは,数値,式,グラフなど,あらゆるものをリストとして扱うことができる.\n\n> [img[HTMLFiles/exp1_907.gif]]\n\n> [img[HTMLFiles/exp1_908.gif]]\n\n> [img[HTMLFiles/exp1_909.gif]]\n\n> [img[HTMLFiles/exp1_17.gif]]\n\nSortやReverseなど,リストを扱う関数が用意されている.\n\n> [img[HTMLFiles/exp1_19.gif]]\n\n> [img[HTMLFiles/exp1_21.gif]]\n\n順列の作成も可能である.\n\n> [img[HTMLFiles/exp1_23.gif]]\n\nMathematicaでは,範囲を指定してリストを生成し,グラフの描画や計算に用いることが多い.\n\n> [img[HTMLFiles/exp1_25.gif]]\n \n> [img[HTMLFiles/exp1_27.gif]]\n\n\n\n''[実験1.4]'' グラフの描画\n\n以下のようにPlot関数を用いることで,グラフを描画することができる.\n\n> [img[HTMLFiles/exp1_224.gif]]\n\n複数のグラフを重ねて描画することが出来る.(一行づつコピーして実行すること)\n\n    pl1 = ContourPlot[((x/7)^2 + (y/3)^2 - 1) == 0, {x, -8, 8}, {y, -5, 5}, RegionFunction -> ((Abs[#1] > 3 && #2 > -(3 Sqrt[33])/7) &)]\n\n    pl2 = ContourPlot[(Abs[x/2] - ((3 Sqrt[33] - 7)/112) x^2 - 3 + Sqrt[1 - (Abs[Abs[x] - 2] - 1)^2] - y) == 0, {x, -7, 7}, {y, -3, 3}]\n\n    pl3 = ContourPlot[(9 - 8 Abs[x] - y) == 0, {x, -7, 7}, {y, -3, 3}, RegionFunction -> ((3/4 < Abs[#] < 1) &)]\n\n    pl4 = ContourPlot[(3 Abs[x] + 3/4 - y) == 0, {x, -7, 7}, {y, -3, 3}, RegionFunction -> ((1/2 < Abs[#1] < 3/4) &)]\n\n    pl5 = ContourPlot[(9/4 - y) == 0, {x, -7, 7}, {y, -3, 3}, RegionFunction -> ((Abs[#1] < 1/2) &)]\n\n    pl6 = ContourPlot[((6 Sqrt[10])/7 + (3/2 - Abs[x]/2) - (6 Sqrt[10])/14 Sqrt[4 - (Abs[x] - 1)^2] - y) == 0, {x, -7, 7}, {y, -3, 3}, RegionFunction -> ((Abs[#1] > 1) &)]\n\n    Show[{pl1, pl2, pl3, pl4, pl5, pl6}]\n\n    (Weisstein, Eric W. "Batman Curve." From MathWorld--A Wolfram Web Resource. http://mathworld.wolfram.com/BatmanCurve.html)\n\n\n描画したグラフをリストとして扱うことも可能である.\n\n> [img[HTMLFiles/exp1_226.gif]]\n\nパラメータを対話的に調整できるスライダを設置することもできる.\n\n> [img[HTMLFiles/exp1_228.gif]]\n\nManipulate関数の利用は,グラフを描画する意外にも様々な利用方法がある.\n\n> [img[HTMLFiles/exp1_230.gif]]\n\nC言語と同様に、Mathematicaでも「=」と「==」は区別される.\n\n>「=」は代入を表す (a = b ・・・ b を a に代入する)\n\n>「==」は等式を表す.または等しいかどうか判定する.方程式にはこちらを用いる. (a == b ・・・ a と b は等しい(かどうか判定する))\n\n''[演習1.3]'' 以下のグラフを描画せよ.(ContourPlot関数,ContourPlot3D関数を用いる.)\n\n> [img[Equations/281.png]]\n\n> [img[Equations/282.png]]\n\n----
情報工学実験I
情報生体システム工学実験I \nテーマ06 数値解析
! Mathematica: 評価(計算)の中断\n\n「評価」→「評価の破棄」\n\n! Mathematica: 実験結果の報告方法\n\nノートブックの右端のカギ括弧" ] "をクリック→ Ctrl + Cでコピー→ ワードファイル「形式を選択して貼り付け」→「図(拡張メタファイル)」.\n\n不要な行は貼り付けないように注意すること.\n\n! Microsoft Office Word 2007: 数式エディタ\n\n「挿入」リボンの「数式」メニューを選択すると,数式を入力するためのエディタが起動する.\n\n----\n
Satoshi Ono
\n''[実験4.1]'' 再帰\n\n自然界の植物などの規則的な配置を表す数列としてフィボナッチ数列がよく知られている.フィボナッチ数列は,以下のように,n番目の要素f(n)がf(n-1)+f(n-2)と計算される数列である.\n\n| 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, ...|\n\nここでは,Mathematicaを用いてフィボナッチ数列を定義する.まず,変数及び関数を初期化する.\n\n> [img[HTMLFiles/exp1_163.gif]]\n\n次に,フィボナッチ数列を表す関数fを定義する.nの後ろに'_'(アンダースコア)を入力する.\n\n> [img[HTMLFiles/exp1_164.gif]]\n\n数列の先頭および次の値をあらかじめ定義しておく.\n\n> [img[HTMLFiles/exp1_165.gif]]\n> [img[HTMLFiles/exp1_166.gif]]\n\n''[演習4.1]''\n\n先頭から12番目までのフィボナッチ数列を表示せよ.\n\n''[実験 4.2]''\n\n一度定義したユーザ関数は,Clear関数を用いてクリアすることができる.\n実験4.1で定義した関数fをクリアーせよ.\n\n''[実験4.3]'' ベクトル\n\n縦ベクトルa,横ベクトルbを定義する.\n\n> [img[HTMLFiles/exp1_184.gif]]\n\n> [img[HTMLFiles/exp1_186.gif]]\n \naとbのスカラー積はピリオドを用いて以下のように計算できる.\n\n> [img[HTMLFiles/exp1_188.gif]]\n\naとbのベクトル積はCross関数を用いて以下のように算出する.\n\n> [img[HTMLFiles/exp1_200.gif]]\n\n\n''[実験4.4]'' 行列・行列式\n\n行列は以下のように,リストのリストという形式で定義する.\n\n> [img[HTMLFiles/exp1_207.gif]]\n\n''[演習4.2]''\n\n上記の行列dの行列式,および逆行列を求めよ. 求めた逆行列は,MatrixForm関数を用いて整形して表示せよ.\n\n----\n\n\n
\n!レポート用紙\n\n下記のファイルを利用すること.\n\nhttp://www.ibe.kagoshima-u.ac.jp/edu/expI/theme06/NumericalAnalysis_Name_ID.doc\n\n実験日、提出日、学籍番号、氏名を必ず記入すること.\nファイル名は「NumericalAnalysis_氏名_学籍番号.doc」に変更すること.\n\n!内容について\n\nMathematicaのノートブックの入出力を報告すること.\n\n入力と出力を区別できるようにすること.\n\n不要な行は削除すること.\n\n各実験について、その実験結果はどうだったのか(正しく実行された、○○の原因でうまく行かなかった、など)や、何が分かったのかについて、客観的な考察を書くこと.(難しかった、などの主観的な感想は不可)\n\n本やWebページから引用を行った箇所と,自らの意見は明確に区別して書くこと.\n\n!作成したレポートの提出\n\n提出先、締め切りは担当教員の指示に従うこと.\n\n----
\n \n\n''[実験3.1]'' 微分\n\n関数の導関数は,Mathematicaの関数Dを用いて求めることができる.\n\n> [img[HTMLFiles/exp1_82.gif]]\n\n> [img[HTMLFiles/exp1_124.gif]]\n\n\n''[演習3.1]''\n\n次の関数の変曲点および導関数を求めよ.また,関数および導関数のグラフを描け.\n\n> [img[Equations/301.png]]\n\n''[実験3.2]'' 偏微分,全微分\n\n微分を行う変数を指定することで偏微分を計算することができる. \n\n> [img[HTMLFiles/exp1_126.gif]]\n\n|x と yの間に空白を入れること. xyと連続して入力を行うと,一つの変数とみなされてしまうことに注意.|\n\n関数Dtを用いて全微分を行うことも可能である. \n\n> [img[HTMLFiles/exp1_131.gif]]\n\n''[演習3.2]'' \n\n以下の2つの式を実行し,その違いを説明せよ. \n\n> [img[HTMLFiles/exp1_133.gif]]\n\n> [img[HTMLFiles/exp1_135.gif]]\n\n''[実験3.3]'' 積分\n\n関数Integrateを用いて積分を計算する. xの範囲を指定することで,定積分を計算することもできる.\n\n> [img[HTMLFiles/exp1_137.gif]]\n\n> [img[HTMLFiles/exp1_141.gif]]\n\nシンボル計算を行えない場合でも,NIntegrateを用いて近似値を得ることができる.\n\n> [img[HTMLFiles/exp1_145.gif]]\n\n\n''[演習3.3]'' 次の積分を求めよ. Integrate関数で直接求めることができない場合は,数値積分を行い,近似値を得ること.\n\n> [img[Equations/252.png]]\n\n> [img[Equations/253.png]]\n\n''[演習3.4]'' 次の曲線で囲まれた領域の面積を求めよ.\n\n> [img[Equations/261.png]]\n\n|曲線[img[Equations/262.png]]および2つの半直線[img[Equations/263.png]]で囲まれる図形の面積Sは[img[Equations/264.png]]で表される.|\n\n''[実験3.4]'' 極座標系のグラフ描画\n\n上記[演習3.4]の曲線は,以下のコマンドで描画することができる.\n\n> [img[HTMLFiles/exp1_151.gif]]\n\n\n''[実験3.5]'' 微分方程式\n\nDSolveを用いて微分方程式を解くことができる.\n\n> [img[HTMLFiles/exp1_153.gif]]\n\n> [img[HTMLFiles/exp1_155.gif]]\n\n\n''[演習3.5]'' 以下の微分方程式を解け.\n\n\n> [img[Equations/271.png]]\n\n> [img[Equations/272.png]]\n\n\n----
\n\n''[実験2.1]'' 式の計算\n\n関数Expandを用いることで式の展開を,\n関数Factorを用いることで因数分解を行うことができる.\n\n> [img[HTMLFiles/exp1_60.gif]]\n\n> [img[HTMLFiles/exp1_56.gif]]\n\n\nMathematicaは上記の他にも,式の単純化,分数の約分などの関数を持つ.\n\n''[演習2.1]'' 以下の式を約分せよ.\n\n> [img[Equations/211.png]]\n\n''[演習2.2]'' 以下の式を単純化せよ.\n\n> [img[Equations/291.png]]\n\n\n\n\n''[実験2.2]'' 方程式を解く\n\n以下のように関数Solveに方程式を与えることで,解を求めることができる.\n\n> [img[HTMLFiles/exp1_33.gif]]\n\n> [img[HTMLFiles/exp1_66.gif]]\n\n> [img[HTMLFiles/exp1_68.gif]]\n\n> [img[HTMLFiles/exp1_70.gif]]\n\n\n\n''[演習2.3]'' 以下の方程式を解け\n\n> [img[Equations/221.png]]\n\n> [img[Equations/222.png]]\n\n''[実験2.3]'' 方程式の近似解を求める\n\n指数関数や三角関数などを含む方程式はSolveで解くことができない. FindRoot関数を用いて数値解を求めることができる.\n\n> [img[HTMLFiles/exp1_74.gif]]\n\n> [img[HTMLFiles/exp1_76.gif]]\n\n''[演習2.4]''\n\nグラフを描画して,上記で解いた連立方程式([img[Equations/231.png]])の交点を図示せよ.また,[実験2.3]の結果およびグラフから,どのようなことがわかるか説明せよ.\n\n\n----
\n! 本実験の目的\n\n|計算機を用いた数値計算の基礎を理解し,強力な数式処理システムMathematicaの利用方法を習得する.|\n\n\nこの実験は,各個人が個別に行うこと. レポートの提出は,Moodleのみ受け付ける(「[[レポート作成・提出]]」を参照).本実験はWindows上で実施すること.また,この手引きは,Firefoxを用いて閲覧すること(Internet Explorerでは,一部の数式が見えない).\n\n本実験は,実験と演習の繰り返し,および課題からなる. 演習を行う際は,Mathematicaのヘルプを検索することで,必要な関数を探し出すことが必要となる.\n\n!手順\n\n1. 実験の進め方を解説.\n 2.1 Mathematicaの説明\n 2.2 [実験1.1]を実際に実行\n 2.3 実験結果の保存方法などを説明\n\n3. レポートの作成方法を説明.\n 3.1 実験結果のWordへの貼り付け方法\n 3.2 数式エディタの使い方\n 3.3 レポート提出用Webページ\n\n4. [実験1.2]以降を各自で実施\n\n\n----
全ての実験を終えた後,下記の課題を行うこと.\n\n\n''[課題1]'' 方程式の解を近似的に計算するニュートン法について調べよ.\n\n> 註:調べた本を,参考文献として記述すること.参考文献の書き方は,図書室にある論文誌や学術的な本の文献リスト等と同じ書式で,著者,本のタイトル,ページ,発行年などを書くこと.Webページを参照する場合,著者が明らかで信頼性が高く,数年後もアクセス可能である(と思われる)Webページのみ可とする.@@引き写し厳禁.レポートは0点になる.@@\n\n''[課題2]'' [課題1]で調べたニュートン法(ニュートン・ラフソン法)を用いて,以下の方程式の近似解を求めよ.\n\n* ニュートン法を実際に用いて,小数点以下5位まで正しい近似解を得られるまで反復を行うこと.各反復で得られる近似解やその導出過程を記述したMathematicaのノートブックの入出力を報告すること.\n* 5回以上反復を行っても,上記の精度の近似解を得られない場合は,反復を打ち切り,5回の反復を終えた時点での近似解を記述してもよい.\n* FindRoot関数を用いて正しい解も求め、その入出力も併せて報告すること.\n\n* 学籍番号の下二桁目を3で割った余りが0の者(例: 2508260362)\n   [img[Equations/401.png]] ( 初期値x0 = 1.5とする)\n\n* 学籍番号の下二桁目を3で割った余りが1の者(例: 2508260514)\n   [img[Equations/402.png]] ( 初期値x0 = 1.5とする)\n\n* 学籍番号の下二桁目を3で割った余りが2の者(例: 250826082)\n   [img[Equations/403.png]] ( 初期値x0 = 1.3とする)\n\n\n\n\n\n----\n\n\n