シミュレーション演習 G. 総合演習 ( Mathematica 演 習) システム創成情報工学科 テキスト作成: 藤尾 光彦 講義担当: 尾下 真樹.

Slides:



Advertisements
Similar presentations
メモリとポインタ. プログラムの前提 コンピュータは、0と1で計算をし、 0と1でデータを保存している。 メモリを学ぶのに必要な知識である。
Advertisements

Absolute Orientation. Absolute Orientation の問題 二つの座標系の間における剛体 (rigid body) 変換を復元す る問題である。 例えば: 2 台のステレオカメラから得られた3次元情報の間の関 係を推定する問題。 2 台のステレオカメラから得られた3次元情報の間の関.
ファーストイヤー・セミナーⅡ 第13回 2次元グラフィックス(1). 2次元グラフィックス Ultra-C では、これまで利用してきた「標準入出力」 以外に「グラフィックス画面」があり、図形などを 表示できる C 言語のグラフィックスには細かな規定がなく、こ れから学ぶ内容が他の環境、システムでは利用でき.
プログラミング言語論 第10回(演習) 情報工学科 木村昌臣   篠埜 功.
初年次セミナー 第13回 2次元グラフィックス(1).
アルゴリズムとデータ構造 第2回 線形リスト(復習).
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第3回 配列(1) 情報・知能工学系 山本一公
情報処理演習 (9)グラフィックス システム科学領域 日浦 慎作.
プログラミング演習II 2004年11月 30日(第6回) 理学部数学科・木村巌.
プログラミング言語としてのR 情報知能学科 白井 英俊.
画像処理論.
Applet 岡部 祐典 鈴木 敬幸.
班紹介 描画班一同.
プログラミング入門2 第10回 構造体 情報工学科 篠埜 功.
アルゴリズムとデータ構造1 2007年6月12日
プログラミング演習Ⅱ 第12回 文字列とポインタ(1)
地理情報システム論 第3回 コンピュータシステムおける データ表現(1)
Handel-Cによる       エアホッケー.
プログラミング演習II 2004年10月19日(第1回) 理学部数学科・木村巌.
情報科学1(G1) 2016年度.
Mathematica入門 数学を数式処理システムで 上智大学理工学部 大槻東巳 TA: 吉本行気,清水元気 2012年6月.
透視投影(中心射影)とは  ○ 3次元空間上の点を2次元平面へ投影する方法の一つ  ○ 投影方法   1.投影中心を定義する   2.投影平面を定義する
プログラミング演習Ⅰ 課題2 10進数と2進数 2回目.
プログラミング入門2 総合演習課題 2008年 1/7, 1/21 実施 これまでの講義内容についての腕試し
3次元での回転表示について.
精密工学科プログラミング基礎Ⅱ 第3回資料 今回の授業で習得してほしいこと: 2次元配列の使い方 (前回の1次元配列の復習もします.)
第6回独習Javaゼミ 第6章 セクション4~6 発表者 直江 宗紀.
シミュレーション演習 G. 総合演習 (Mathematica演習) システム創成情報工学科
ちょっとした練習問題① 配列iroを['R', 'W', 'R', 'R', 'W' , 'W' , 'W']を宣言して、「W」のときの配列の番号をprintfで表示するようなプログラムを記述しなさい。
Computer Graphics 第3回 座標変換 芝浦工業大学情報工学科 青木 義満
電界中の電子の運動 シミュレータ作成 精密工学科プログラミング基礎 資料.
TCanvas BCB:TCanvasクラスでグラフィックを扱う。 TFormなどもプロパティとして持っている。
精密工学科プログラミング基礎 第10回資料 (12/18実施)
プログラミング 4 記憶の割り付け.
前回の練習問題.
情報とコンピュータ 静岡大学工学部 安藤和敏
「R入門」  5.7 行列に対する諸機能  10月23日 (木) 発表者 大城亜里沙.
プログラミング言語論 第五回 理工学部 情報システム工学科 新田直也.
3次元での回転表示について.
東北大学 大学院情報科学研究科 応用情報科学専攻 田中 和之(Kazuyuki Tanaka)
プログラミング基礎a 第12回 Java言語による図形処理入門(3) アニメーション入門
プログラミング基礎a 第11回 Java言語による図形処理入門(3) アニメーション入門
アルゴリズムとデータ構造1 2005年6月24日
情報処理Ⅱ 第2回:2003年10月14日(火).
第2回課題 配布した通り.氏名・学生番号を忘れないこと.
プログラミング入門2 総合演習課題 2008年 12/22(月), 2009年 1/14(水) 実施 これまでの講義内容についての腕試し
プログラミング 3 スタックとキュー.
計算機プログラミングI 第5回 配列 文字列(Stringクラス) mainの引数 配列の利用例
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
プログラミング言語論 第六回 理工学部 情報システム工学科 新田直也.
統計ソフトウエアRの基礎.
プログラミング 3 2 次元配列.
プログラミング言語論 第十三回 理工学部 情報システム工学科 新田直也.
地理情報システム論(総)/ 国民経済計算論(商)
計算の理論 I ー正則表現とFAの等価性ー 月曜3校時 大月 美佳.
アルゴリズムとプログラミング (Algorithms and Programming)
アルゴリズムとデータ構造1 2009年6月15日
バネモデルの シミュレータ作成 精密工学科プログラミング基礎 資料.
精密工学科プログラミング基礎 第7回資料 (11/27実施)
シミュレーション演習 G. 総合演習 (Mathematica演習) システム創成情報工学科
プログラミング 4 文字列.
アルゴリズムとデータ構造 2010年6月17日
精密工学科プログラミング基礎Ⅱ 第2回資料 今回の授業で習得してほしいこと: 配列の使い方 (今回は1次元,次回は2次元をやります.)
情報処理Ⅱ 2005年11月25日(金).
プログラミング基礎a 第5回 C言語によるプログラミング入門 配列と文字列
プログラミング入門2 第5回 配列 変数宣言、初期化について
情報処理概論Ⅰ 2007 第11回 2007/7/4 情報処理概論Ⅰ 第11回.
逆運動学(Inverse Kinematics) 2007.5.15
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
計算機プログラミングI 第5回 2002年11月7日(木) 配列: 沢山のデータをまとめたデータ どんなものか どうやって使うのか
Presentation transcript:

シミュレーション演習 G. 総合演習 ( Mathematica 演 習) システム創成情報工学科 テキスト作成: 藤尾 光彦 講義担当: 尾下 真樹

本演習の目的 さまざまな次元のデータ量を計算機で扱 うための基本的な考え方を学習する –1 次元、 2 次元、 3 次元 – 質点系、スカラ場、ベクトル場 – 連続値、離散値 Mathematica の基本的な使い方を学習す る –Mathematica とは何か? –Mathematica を使ってデータ量を表現する –Mathematica を使ってデータ量を可視化する

前回の内容 Mathematica の概要と使い方 –Mathematica の特徴 – 数値解と解析解 (無理数や π などをそのまま扱え る ) – 記号計算 ( Σ 、方程式の解、因数分解) – リスト操作、行列演算 各自、プリントの演習課題を行う – 時間内に課題を終えて提出

今回・次回の内容 計算機でのデータ量の表現 – 講義 (テキスト G1~G9 ) Mathematica を使ったデータ表現と表示 – 講義+演習 (テキスト G9~G32 ) 各自、プリントの演習課題 – 時間内に課題を終えて提出 講義資料 –

前回の演習問題の解説

データ量の扱い

データ量を扱うための考え方 自由度 質点系と場(スカラ場、ベクトル場) 連続値、離散値 Mathematica での多次元データの扱い

自由度 自由度( Degrees of Freedom: DOF ) – 状態を表すために必要な数値の数 例:2次元空間での質点の状態は ( x,y )の2つ の 変数で表される → 2自由 (x,y)(x,y) 運動する質点は ( x,y,t ) の3自由度 ( x , y, t )

自由度 次元が上がると自由度も高くなる – 運動を扱うと、時間が加わり1自由度増える 3次元の質点系 – 3次元空間での質点の位置 → ( x, y, z ) 3自由度 – 3次元空間での質点の運動 → ( x, y, z, t ) 4自由度 – 3次元空間での剛体の 位置・向き → ( x, y, z, rx, ry, rz ) 6自由度 ( x, y, z ) ( x, y, z, t ) ( rx, ry, rz ) ( x, y, z )

データ空間の種類 質点系 – 空間内にある質点の状態 場(スカラ場、ベクトル場) – 空間内の各点が状態をもつ 2次元の質点系 2次元のスカラ場 (x,y)(x,y) ( x , y, s )

データ空間の種類 質点系 と 場(スカラ場、ベクトル場) 2次元の質点系2次元のスカラ場2次元のベクトル 場 (x,y)(x,y) ( x , y, s ) ( x , y, vx, vy ) 次元が上がれば自由度も増える

データ空間の種類 運動(時間変化)が加わると1次元増え る 位置、スカラ値、ベクトル、時間など、 すべてひっくるめて自由度として考える ことができる ( x , y, t ) ( x , y, s, t ) ( x , y, vx, vy, t )

連続値と離散値 連続値 – 関数によって与えられ る連続的な値 データ量が何らかの数式 により求められるとき 離散値 – 離散的な計測点での値 として与えられる値 実際には連続的に変化し た値であっても、数式な どで表すことができない とき y = f ( x ) y = { y 1, y 2, y 3, …, y n }

連続値と離散値 Mathematica での連続値と離散値 連続値 – 関数として定義できる –f [ 引数 ] でアクセス 離散値 – リストとして定義できる –f [[ データ番号 ]] でアクセス y = f ( x ) y = { y 1, y 2, y 3, …, y n }

連続値と離散値 Mathematica では、連続値や離散値を同 じように扱い、リストに格納できる – どちらも1次のリストを返す – 記述に注意 q [ ? ](関数) と q [[ ? ]] (リスト要素) 関数のリスト(リストを返す関数として扱われ る) リストのリスト (2次元配列的に扱わ れる)

多次元データの扱い Mathematica では、リストや関数を組み 合わせることで、多次元のデータを表現 できる – 資料末尾の「関数とリストの混在」も参照 Java などの一般的なプログラミング言語 では、関数と変数は別のものなので、混 在して扱うためには特別な工夫が必要 – 「関数」はメソッドという形でしか定義でき ず、配列などに格納することもできない –C++ では、[]関数のオーバーライドの機能 を使えば、一部は実現できる

データ量の表現と表示 Mathematica で、さまざまな自由度の データ量を扱うやり方を学ぶ – リストや関数を混在して扱えるので都合が良 い データ量を扱うときの考え方は、他のプ ログラミング環境でも同様 今まで行ってきた演習のデータ量も今回 学ぶ考え方でとらえなおすことができる → 総合演習

データ量の種類 今回 次回

データ量の表現と表示

1次元の質点系の運動 1次元の質点系の運動(2自由度) 連続値 Plot [ 関数, 変数と範囲, オプション ] 離散値 ListPlot [ リスト, オプション ] y = f ( x ) y = { y 1, y 2, y 3, …, y n }

離散値の描画

折れ線で描画

Show [ {複数のグラフィックス}, オプ ション] – グラフィックスを重ねて描画

2次元の質点系の運動 2次元の質点系の運動(3自由度) 連続値 ParametricPlot [関数, 変数と範囲, オプション ] 離散値 ListPlot [ リスト, オプション ] – 1次元の運動と同じ

連続値の描画

離散値の描画

テキストの表示 Text [表示文字, 表示座標, オフセット座 標]

オフセットと描画範囲

矢印で描画

3次元の質点系の運動 2次元の質点系の運動(3自由度) – テキスト G16 連続値 –ParametricPlot3D [関数, 変数と範囲, オプ ション ] 離散値 – 点オブジェクトとして表示 –Point [ リスト, オプション ]

スカラ場 2次元のスカラ場 – ( x, y, s ) 2次元空間の各点がスカラ値を持 つ – 3自由度 2次元のスカラ場の変化 – ( x, y, s, t ) 4自由度 – アニメーションなどを使わない 限り画面に表示できない – 来週扱う 2次元のスカラ場 ( x , y, s )

質点系とスカラ場の表現の違 い 2次元の質点系の運動 – ( x, y, t ) – ( x,y ) は関数の返す値になる 2次元のスカラ場の運動 – ( x, y, s, t ) – ( x,y ) は関数の引数になる 2次元の質点系 2次元のスカラ場 (x,y)(x,y)

2次元のスカラ場の表示 2次元空間の密度プロットとして表示 – スカラ値を濃度(色)として表現 3次元空間の平面として表示 – スカラ値を高さとして表現 (一部が隠れてし まう)

2次元空間の密度プロットとして 表示

3次元空間の平面として描画

離散値の描画

演習