数式処理ソフトMathematicaをもちいて,
数学の諸問題にとりくみます.
(講義で配布したプリントをまとめたものはこちらです→
11W-keisan-all.pdf
)
第13回(2012/1/19) フラクタル
● 講義:
クイズはコッホ曲線を描くアルゴリズムを作るのに必要な基礎計算,
それとコッホ曲線の長さ(無限大になってしまう)に関するものでした.
さらに,プログラミングの初歩の初歩という位置づけで,
コッホ曲線をListLinePlotとループ処理(Do, For, While)を用いて描くためのアルゴリズムを解説.
描画速度よりもプログラミングっぽさと読みやすさを意識しています.
ただし,Mathematicaには配列というものが無いので,
すべてリストで処理しなければなりません.
そのあたりがどうしても,普通のプログラムとは違ってきてしまいます.
● 実習:Do で書かれたものを While で書き換える,
というのが難しそうでした.
あとはひたすら打ち込んでいけばそれらしい結果が得られるので,
みなさんスムーズに進んでいたように思います.
研究問題のハイウェイ・ドラゴンやシェルピンスキー・カーペットまで
描画できた人もちらほら.感心です.
課題を提出した45名中,講義終了10分前以降に提出したのは17名でした.
第12回(2012/1/12) セル・オートマトン
● 講義:
クイズは1次元セル・オートマトンのルール150を手計算で実行してもらう問題でした.
そのあと1次元セル・オートマトンについて概説し,
Mathematicaでのデモンストレーションをしました.
コマンドのプログラミング的な要素(反復処理や条件分岐)を強調しました.
● 実習:
分量はそんなに多くなかったのですが,
新しいルールを作ったり,
いろいろ試行錯誤しているうちにいつのまにか時間が過ぎる,
という人が多かったようです.
セルの大きさ n が定数として扱われる部分が若干わかりにくかったようす.
最初っからn = 101と数字で表現しても良かったかもしれません.
課題を提出した41名中,講義終了10分前以降に提出したのは26名でした.
第11回(2011/12/22) 数列と素数のふるまい
● 講義:
クイズはセンター試験の数列の漸化式に関する問題と,
コラッツの予想を1から10までの整数で検証する課題でした.
コラッツの問題における操作を
MathematicaでIfを用いて定義し,
あとはNestWhileListで反復する,
という方法を解説・デモンストレーション.
● 実習:
今日はなぜか,Mathematica動作が鈍くなってしまう人が多くみられました.
すでに定義した数列と同じ文字をClearせずに使ってエラー,
という例も多かったように思います.
課題を提出した44名中,講義終了10分前以降に提出したのは21名でした.
第10回(2011/12/15) ベクトル場と微分方程式
● 講義:
クイズはごく簡単な(連立)微分方程式に関する問題でした.
それぞれベクトル場の流線として解釈できることを説明したあと,
VectorPlotなどのプレゼンをしました.
● 実習:
研究問題まで到達した人が予想より少なめでした.
ローレンツアトラクターなんかはぜひ見てほしかったのですが.
課題を提出した44名中,講義終了10分前以降に提出したのは18名でした.
タイプの分量が多かったようです.
第9回(2011/12/8) 確率実験とランダムウォーク
● 講義:クイズは確率と期待値に関する問題でした.
サイコロを2回投げて,(目の最大値+目の最小値)×100円をもらえるゲームで商売をするとき,儲けが出る最低金額を求める問題です.
サイコロを投げる回数を5回に増やした場合にも金額を推定してもらいましたが,
投げる回数を増やしても変わらない(701円)ことに気がついた人は少なかったようです.
残った時間でランダムウォークとモンテカルロ法の簡単な解説と
Mathematica のデモンストレーションをしました.
● 実習:
今日は課題が少なめだったので,研究問題
の3次元ランダムウォークまでやってくれた人が結構いました.
課題を提出した47名中,講義終了10分前以降に提出したのは7名だけでした.
このぐらいがちょうどいい気がします.
第8回(2011/12/1) 複素級数と複素関数の可視化
● 講義:クイズは「最大値の原理」,「級数の収束」,
「z -> z^2 による正方形の像」に関する問題でした.
今回のテーマはMathematicaを用いて,
これらの問題の結果を視覚的に吟味することです.
講義では簡単にクイズの解答をすませたあと,
Manipulate の Locator を使ったインタラクティブなグラフの作り方をおもにデモンストレーションしました.
● 実習:
今回,自分で考える問題は少なめでした.
とにかく指示通り入力して,
結果をじっくり「鑑賞」してほしかったのですが,
みなさん入力するので必死,という感じでした.
課題を提出した41名中,24名が講義終了10分前以降に提出していました.
第7回(2011/11/24) テイラー・フーリエ・Manipulate
● 講義:クイズは「3次関数の接線が動く範囲」,
「x の n 乗が各点・一様収束する範囲」,
「f(x) = x のフーリエ係数」をそれぞれ求める問題でした.
そのあと,関数の遅延的定義の解説と,
Manipulate の使い方についてデモンストレーションしました.
● 実習:
おもにManipulateを使ってグラフを描く課題をやってもらいました.
頭を使う課題はほとんど無いのですが,
タイプ量が多くなってきたのでみなさん大変そうです.
課題を提出した40名中,30名が講義終了10分前以降に提出していました.
第6回(2011/11/17) 行列と1次変換・ParametricPlot
● 講義:
クイズは固有値・固有ベクトルを求める問題と,
球面のパラメーター付けに関する問題でした.
よく出来ていましたが,
球面のほうは論理的に不十分な解答が半分ぐらいあった印象です.
その後,オプションについての説明,
行列関連の関数や演算の解説とデモンストレーションをやりました.
● 実習:
プリントに沿って課題をやってもらいました.
今日の問題はなかなか程よい分量だったように思います.
「美しいリサジュー曲線」も人それぞれで,
見てて面白かったです.「土星」はやっぱかっこいい!
第5回(2011/11/10) 微分・積分・いろんなグラフ
● 講義:
クイズは広義積分と2変数関数の極値を求める問題でした.
もうちょっとがんばってほしかった,というのが正直な感想ですが,
これからMathematicaを使ってたくさん勉強していただきたいものです.
授業ではクイズの解答をして,微積に関する基本的なコマンドに加え,
関数の定義(即時割り当て)についてデモンストレーションしました.
● 実習:
プリントに沿って課題をやってもらいました.
若干問題数が多かったようでしたので,
今後調整していきたいと思います.
第4回(2011/10/27) 方程式とグラフ
● 講義:
クイズ(大学入試問題).
あとの実習でMathematicaを用いて解き直してもらうのですが,
圧倒的な計算力を誇るMathematicaとわれわれ人間とでは,
戦略が全く異なることを注意しておきました.
まずは前回の課題の模範解答をデモンストレーション.
その後,今日のテーマである方程式の解法(N関数)と,
グラフでの確認のしかた(Plotなど),
さらに代入形で返ってくるSolveの出力をいかに
使いこなすのか,をデモンストレーション.
● 実習:
プリントに沿って課題をやってもらいました.
グラフィックはSolve関数の結果を吟味するのに便利です.
詳しくは来週以降扱いたいとおもいます.
第3回(2011/10/20) リストと数列
● 講義:
ふたたびクイズとして大学の入試問題に取り組んでもらう.
Listと数列の和に関するデモンストレーション.
● 実習:
リストをTableを用いて生成し,
さらにTableFormで一覧表を作ることができるようになることを目指しました.
問題がやや難しめだったようです.時間が足りず,
授業のこり10分の段階で適当に切り上げてもらいました.
一応,問題12まで出来ていれば十分です.
● メモ1:受講者のHさんに根号を入力する
ショートカット「Option + V」を教えていただきました.
しかしWindowsの「Ctrl + 2」とは少し動作が違うようですね.
残念.
第2回(2011/10/13) 式の変形と値
● 講義:クイズ(大学の入試問題).Mathematica入力時の注意,
Factor, Expand,Simplifyなどのデモンストレーション.
● 実習:クイズ問題を含む入試問題(主に「数と式」の内容から)をMathematicaで解く.
● メモ1:平方根の記号を入力する
ショートカット「Command + 2」が使えない!
(Macでは使えないのでしょうか?ご存知の方,教えてください!)
● メモ2:センターの方から,使用後は各自端末を
シャットダウンするよう指導していただきたいとのことでした.
次回以降は徹底します.
第1回(2011/10/06) ガイダンスとMathematica入門
● 講義:Mathematicaの紹介.
● 実習:メールアカウント等の設定.
とりあえすMathematicaを触ってみる.
内藤さんにも来ていただいて,
設定時のトラブルをいろいろと解決していただきました.
(ありがとうございました.)