Microsoft PowerPoint - MATLABの使い方.ppt

Similar documents
memo

II - ( 02 ) 1,,,, 2, 3. ( ) HP,. 2 MATLAB MATLAB, C Java,,., MATLAB, Workspace, Workspace. Workspace who. whos. MATLAB, MATLAB Workspace. 2.1 Workspac

板バネの元は固定にします x[0] は常に0です : > x[0]:=t->0; (1.2) 初期値の設定をします 以降 for 文処理のため 空集合を生成しておきます : > init:={}: 30 番目 ( 端 ) 以外については 初期高さおよび初速は全て 0 にします 初期高さを x[j]

matlab_basic.pptx

PowerPoint Presentation

1_matlab_basic

FORTRAN( と C) によるプログラミング 5 ファイル入出力 ここではファイルからデータを読みこんだり ファイルにデータを書き出したりするプログラムを作成してみます はじめに テキスト形式で書かれたデータファイルに書かれているデータを読みこんで配列に代入し 標準出力に書き出すプログラムを作り

Microsoft PowerPoint - ip02_01.ppt [互換モード]

4 月 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プロ

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ

Microsoft Word - matlab-coder-code-generation-quick-start-guide-japanese-r2016a

実験指導書

PowerPoint Presentation

ゲームエンジンの構成要素

多次元レーザー分光で探る凝縮分子系の超高速動力学

PowerPoint プレゼンテーション

Microsoft PowerPoint - CproNt02.ppt [互換モード]

スライド タイトルなし

Microsoft PowerPoint - 第3回目.ppt [互換モード]

Microsoft PowerPoint - VBA解説1.ppt [互換モード]

memo

Microsoft PowerPoint - H21生物計算化学2.ppt

生成された C コードの理解 コメント元になった MATLAB コードを C コード内にコメントとして追加しておくと その C コードの由来をより簡単に理解できることがよくありま [ 詳細設定 ] [ コード外観 ] を選択 C コードのカスタマイズ より効率的な C コードを生成するベストプラクテ

パソコンシミュレータの現状

Scilab 勉強会 ( 第 3 回 ) 高橋一馬, 十文字俊裕, 柏倉守 平成 17 年 11 月 15 日 関数 ファイルはエディタを用いて作成する.Scilab にはエディタ SciPad が附属している.SciPad では なく他のエディタを利用してもよい. 作成した関数は Scilab に

Microsoft PowerPoint - qcomp.ppt [互換モード]

Matlab講習会

1.3 ヘルプの参照関数やコマンドの使い方, 各種機能の使用方法等について情報が欲しいときには, オンラインヘルプ機能を使う ( 最も正確な情報が得られる ). 調べたい情報の内容によって, 下記の方法がある. ブラウザを開き MATLAB のオンラインドキュメントを表示する

プレポスト【解説】

Microsoft Word - scilab_intro.doc

ソフトウェア基礎 Ⅰ Report#2 提出日 : 2009 年 8 月 11 日 所属 : 工学部情報工学科 学籍番号 : K 氏名 : 當銘孔太

Microsoft Word - 18環設演付録0508.doc

スライド 1

Taro-ファイル処理(公開版).jtd

数学 t t t t t 加法定理 t t t 倍角公式加法定理で α=β と置く. 三角関数

ポインタ変数

解析力学B - 第11回: 正準変換

<4D F736F F F696E74202D20906C8D488AC28BAB90DD8C7689F090CD8D488A D91E F1>

数値計算

Microsoft PowerPoint - 10.pptx

Microsoft PowerPoint - CSA_B3_EX2.pptx

Microsoft PowerPoint - 第3回2.ppt

PowerPoint Presentation

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

第6章 実験モード解析

Microsoft Word - ClassicalControl_Matlab.doc

gengo1-8

プログラミング基礎

DVIOUT

Taro-ポインタ変数Ⅰ(公開版).j

計算機プログラミング

製品開発の現場では 各種のセンサーや測定環境を利用したデータ解析が行われ シミュレーションや動作検証等に役立てられています しかし 日々収集されるデータ量は増加し 解析も複雑化しており データ解析の負荷は徐々に重くなっています 例えば自動車の車両計測データを解析する場合 取得したデータをそのまま解析

ファイル入出力

Microsoft PowerPoint - kougi6.ppt

ファイル入出力

Microsoft PowerPoint - 10.pptx

Microsoft Word - Matlab_R_MLE.docx

Microsoft PowerPoint - H22制御工学I-2回.ppt

Java Scriptプログラミング入門 3.6~ 茨城大学工学部情報工学科 08T4018Y 小幡智裕

ポインタ変数

PowerPoint プレゼンテーション

C 言語の式と文 C 言語の文 ( 関数の呼び出し ) printf("hello, n"); 式 a a+4 a++ a = 7 関数名関数の引数セミコロン 3 < a "hello" printf("hello") 関数の引数は () で囲み, 中に式を書く. 文 ( 式文 ) は

情報処理概論(第二日目)

演習1

* ライブラリ関数 islower(),toupper() を使ったプログラム 1 /* 2 Program : trupper.c 3 Student-ID : K 4 Author : TOUME, Kouta 5 Comments : Used Library function i

kiso2-03.key

memo

Microsoft Word - Training10_プリプロセッサ.docx

Si 知識情報処理

sinfI2005_VBA.doc

今後の予定 6/29 パターン形成第 11 回 7/6 データ解析第 12 回 7/13 群れ行動 ( 久保先生 ) 第 13 回 7/17 ( 金 ) 休講 7/20 まとめ第 14 回 7/27 休講?

OpenFOAM(R) ソースコード入門 pt1 熱伝導方程式の解法から有限体積法の実装について考える 前編 : 有限体積法の基礎確認 2013/11/17 オープンCAE 富山富山県立大学中川慎二

2011年度 筑波大・理系数学

PowerPoint プレゼンテーション

Chapter 版 Maxima を用いた LC のインピーダンス測定について [ 目的 ] 電気通信大学 先進理工学科の2 年次後期に実施される電気 電子回路実験において L,C のインピーダンス測定を実施している この実験項目について 無料ソフトの Maxima を用い

以下 変数の上のドットは時間に関する微分を表わしている (ex. 2 dx d x x, x 2 dt dt ) 付録 E 非線形微分方程式の平衡点の安定性解析 E-1) 非線形方程式の線形近似特に言及してこなかったが これまでは線形微分方程式 ( x や x, x などがすべて 1 次で なおかつ

線形代数とは

Microsoft PowerPoint - H22制御工学I-10回.ppt

Microsoft Word - VBA基礎(3).docx

Microsoft PowerPoint - 計算機言語 第7回.ppt

例 e 指数関数的に減衰する信号を h( a < + a a すると, それらのラプラス変換は, H ( ) { e } e インパルス応答が h( a < ( ただし a >, U( ) { } となるシステムにステップ信号 ( y( のラプラス変換 Y () は, Y ( ) H ( ) X (

システム工学実験 パラメータ推定手順

Microsoft PowerPoint - 13approx.pptx

gengo1-11

コンピュータ概論

プログラミング実習I

Microsoft Word - Cプログラミング演習(12)

<4D F736F F D E4F8E9F82C982A882AF82E98D7397F1>

Microsoft PowerPoint - ProD0107.ppt

※ ポイント ※

UNIX 初級講習会 (第一日目)

画像解析論(2) 講義内容

コマンド入力による操作1(ロード、プロット、画像ファイル出力等)

gengo1-12

untitled

データ構造

演習2

PowerPoint プレゼンテーション - 物理学情報処理演習

Microsoft Word ã‡»ã…«ã‡ªã…¼ã…‹ã…žã…‹ã…³ã†¨åłºæœ›å•¤(佒芤喋çfl�)

Transcription:

MATLAB の使い方 東京大学橋梁研究室

MATLAB とは 技術計算のための高性能言語 特徴配列が基本的データ要素変数宣言不要. 対話的システム. 豊富な関数ライブラリ, グラフィックスツール. 使用される分野 数値計算, アルゴリズムの開発, モデル化, シミュレーション, データ解析,GUI アプリケーションの開発, グラフィックス, etc.

MATLAB の動かし方 1 コマンドウィンドウにプログラムを打ち込み, リターン Ex. c1=2 c2=3 割り当て c3=c1+c2 演算, 割り当て or M-fileにプログラムを記述して保存, 実行 (C や Fortran と同様. コンパイル, リンクなど必要ない ) ファイル 新規作成 M-file, プログラムを記述, 例えば test.m と保存, コマンドウィンドウで test, リターン

MATLAB の動かし方 2 カレントディレクトリの変更, パスの設定. カレントディレクトリの変更 カレントディレクトリブラウザ 保存した M-file の存在するディレクトリを指定 サーチパスの追加 パスの設定 dialog box. 保存したM-fileの存在するディレクトリを指定

MATLAB の動かし方 3 M-file にコマンドを記述 カレントディレクトリ, パスの設定 コマンドウィンドウでファイル名を打ち込み, リターン (.m は必要ない )

(1) コメント Basic Rule 1 記述 % コメントを表す. 論理上の, 行の終わり. % 以降の記述は無視される. (2) 結果の非表示 行の最後に ; をつける 結果を非表示 Ex. c1=2;c2=3; (3) 大文字と小文字 MATLAB では, 大文字と小文字の区別する. ただし, 記述するときにはどちらかに統一した方がよい.

Basic Rules 2 行列とベクトルの表現 数学上の表現 l q {} a = 1 2 3 MATLAB 上の表現 a=[1 2 3]; {} b = [ ] A = L N M R S T 1 2 3 U V W 1 2 3 4 O Q P 列の区切り :space 行の区切り :semi-colon b=[1;2;3]; A=[1 2;3 4]; or A=[1 2; 3 4];

Basic Rules 3 四則演算 [ ] A = L N M 1 2 3 4 O Q P [ ] B = L N M 5 6 7 8 O Q P A=[1 2; 3 4]; B=[5 6; 7 8]; [ C] = [ A] + [ B] [ C] = [ A] [ B] C 11 11 11 = A B etc 23 23 23 C=A+B; 6 8 1 12 C=A*B; 19 22 43 5 [ C] = [ A] T C=A 1 3 2 4 C = A B C=A.*B; 5 12 21 32

Basic Rules 4 行列の要素 a=[1 2 3; 4 5 6]; b=[1 2 3 4]; 行列 aのm 行 n 列成分 :a(m,n) 行列 aのm 行 :a(m,:) 行列 aのn 列 :a(:,n) ベクトルbの第 m 成分 :b(m) Ex. c=a(2,3) c=6 Ex. c=a(2,:) c=[4 5 6] Ex. c=a(:,3) c=[3 6] Ex. c=b(3)

Q1: 行列の掛け算 (1) (2) [ A ] = L NM 1 2 2 1 O QP [ ] B = L N M 5 3 3 8 のとき,[A] [B] を計算せよ. l q {} b = 1 2 3 O Q P のとき, 内積 {}{} b b T を計算せよ. (3) [ D ] = L NM 1 2 3 4 5 6 7 8 9 O QP の第 2 行目ならびに第 3 列目を抜き出して表示せよ.

組み込み関数 1 よく利用する関数のリスト 初等関数 :sin, cos, tan, log, log1, log2, exp, a^b 行列演算 :inv, size, length, ones, zeros, eye 2 次元グラフィックス :plot, semilogx, semilogy, loglog, fill 3 次元グラフィックス :fill3, surf, mesh グラフィックスオプション :xlabel, ylabel, title, subplot, figure, axis ファイル入出力 :fopen, fscanf, fprintf, fclose, save, load その他 :fft, eig, sort, sum, fix, round, floor 定数 : pi, i, j 詳細はヘルプ Command window で または MATLAB ヘルプ help コマンド名 Ex. help inv

組み込み関数 2 初等関数 a=1 b=[1;2] c=[1 2; 3 4]; プログラム 意味 結果 d=sin(a) d=sin(1).8415 d=sin(b) d=[sin(1);sin(2)].8415.993 c=sin(c) d=[sin(1);sin(2); sin(3);sin(4)];.8415.993.1411 -.7568

組み込み関数 3 行列演算 a=1 b=[1;2;3] c=[1 2; 3 4]; d=length(b): ベクトル b の長さを計算 d=3 d=inv(c): 行列 c の逆行列を計算 d=[-2 1 1.5 -.5 d=ones(m,n):m 行 n 列で要素が全部 1 の行列 d=zeros(m,n):m 行 n 列で要素が全部 の行列 d=eye(m,n):m 行 n 列で対角要素が 1, その他が の行列

組み込み関数 4 2 次元グラフィックス t=t:dt:t1; t~t1 まで dt 刻みのベクトル. Ex. t=:1:1 t=[ 1 2 3 4 5 6 7 8 9 1] x=sin(t) plot(t,x) 1.5 -.5-1 2 4 6 8 1 x=sin(t) plot(t,x) xlabel( time );ylabel( displ ) title( plot example ) grid displ 1.8.6.4.2 -.2 -.4 -.6 -.8 plot expample -1 1 2 3 4 5 6 7 8 9 1 time

組み込み関数 5 固有値問題 [V,D]=eig(A): 正方マトリクスAの固有値と固有ベクトルを求める. V: 各列がAの固有ベクトル行列の大きさはAに等しい. D: 対角成分が A の固有値, その他の成分は 行列の大きさは A に等しい. [ A]{ v} = d{ v} [ A] [ V] = [ V] [ D]

組み込み関数 6 フーリエ変換 1 c=fft(x): X の離散フーリエ変換を出力する 周波数領域での解析に有効 Ex. dt=.1; t=:dt:1- dt; f1=.5; f2=2; y1=2*sin(2*pi*f1*t); y2=sin(2*pi*f2*t); y3=y1+y2; Y1=fft(y3)/n*2; 2-2 2 4 6 8 1 5-5 2 2 4 6 8 1 1 component superposition result of fft() 1 2 3 4 5 (s) (s) (Hz)

注意 1: 見かけ上の性質 組み込み関数 6 フーリエ変換 2 周期性に関する仮定有限データ長 2 dt=.1; t=:dt:9-dt; f1=.5; f2=2; 不十分なサンプリング周波数 f<1/2/dt 2 dt=.1; t=:dt:1- dt; f1=.5; f2=6; -2 2 4 6 8 1 1.5 1.5 1 2 3 4 5-2 2 4 6 8 1 (s) 2 (Hz) 1 1 2 3 4 5 (s) (Hz)

注意 2: 計算時間 組み込み関数 6 フーリエ変換 3 fft(x,n) は n 点離散フーリエ変換を計算する. n が 2 の累乗の場合 fft は高速フーリエ変換を行う. Ex. fft(1:16384) と fft(1:16382) の比較 16384= =2^14 長さ 2^m のデータを使うことが多い. k=length(x) n=2^nextpow2(k) X=1,2, 1 n=124

Q2:sort, sum (1) help を利用して sort の意味を理解し, a={-1 5 3 8} のとき sort(a) を計算してベクトル a の要素が並び替えられていることを確認せよ. (2) help を利用して sum の意味を理解し, b={1 2 3 4 5 6 7 8 9 1} のとき sum(b) を計算し, 結果が要素の和 55 になっていることを確認せよ.

Q3: 逆行列 逆行列コマンド inv を用いて連立 1 次方程式を解け. x 2x + 3x = 6 1 2 3 2x 5x + 8x = 16 1 2 3 x + 2x + 5x = 2 1 2 3 答え : { x, x, x } = {,, } 1 2 3 123

Q4: 固有値問題 以下の行列 A の固有値と固有ベクトルを求めよ. [ A ] = L NM 1 3 3 1 4 4 1 O QP 固有値 :1, 6, -4 固有ベクトル : L 8. 6. NM O QP L NM. 4243. 771 5657. O QP L NM 4243.. 771 5657. O QP

Q5: フーリエ変換, plot 減衰振動を周波数領域で表示せよ. y1=real(exp((i*2*pi*f1-damp)*t)); Y1=fft(y1)/n*2; 時間領域 周波数領域 ( 振幅 ) 周波数領域 ( 位相 ) 1-1 2 4 6 8 1.2.1 9 1 2 3 4 5 Apparent feature -9 1 2 3 4 5 (s) (Hz) (Hz)

繰り返し計算 for, while for i1=nst:ned 文 end Ex. s=; for i1=1:1 s=s+i1; end i1 は nst から ned まで 1 ずつ増加し計 ned-nst+1 回 文 が繰り返される. 1 から 1 までの整数の和

条件文 if, else, else if if 条件 1 文 1 elseif 条件 2 文 2 else 文 3 end 条件 1 が満たされれば文 1 を実行. 条件 1 が満たされず条件 2 が満たされれば文 2 を実行. 条件 1 も 2 も満たされなければ文 3 を実行 比較演算子 <, >, <=, >=, ==, ~= 論理演算子 &,, ~

Q6 : 繰り返し計算, 条件文 次のステップ波を得よ. (i1 <= n1) (i1 > n1) is not true displacement 1 9 8 7 6 5 4 3 2 1 5 1 15 2 25 3 time[sec] t1=1; t2=2; vel=1; dt=.1; n1=fix(t1/dt); fix(): ゼロ方向 n2=fix(t2/dt); への丸め nn=n1+n2; tt=:dt:(n1+n2-1)*dt; dd=zeros(1,nn); for i1=1:nn if i1 <= n1 dd(i1)=vel*(i1-1); else dd(i1)=dd(n1); end end plot(t,dd) xlabel( time[sec] ) ylabel( displacement ) grid

関数の定義, 追加 1 自作関数 : 入力値 in1, in2, を受け取りユーザが定義した何らかの演算を施し出力 out1, out2, を返す. 新規 M-file に次の形式で関数を定義する function [out1,out2, ]=func_name(in1,in2,.) ( ユーザー定義の演算 ) out1= out2= 関数名と同じ名前で保存 (func_name.m) カレントディレクトリかサーチパスの下に保存する

関数の定義, 追加 2 function out1=extract(inp1,n) ベクトルinp1を受け取り,n 個刻みのデータout1を出力する 呼び出し側 M-file extract(1:1,2) 関数 extract.m function out1=extract(inp1,n) temp1=1:n:length(inp1); out1=inp1(temp1); ans = 1 3 5 7 9

数値シミュレーション [y,x]=lsim(a,b,c,d,u,t) は線形システム {} x = [ A]{} x + [ B]{} u {} y = [ C]{} x + [ D]{} u {} u の応答を任意の入力に対してシミュレーションする. Ex. 運動方程式 [ M ]{} x + [ C]{} x + [ K]{} x = { u I [ ] { x} } {} x = [ ] [ ] {} x { u} {} [ C] [ M] x [ K] [] x [ M] [] + = x [] [ M] x 状態方程式 { } 1 {} u x [] I x + 1 1 x = [ M] [ K] [ M] [ C] x [ M ] 状態方程式 出力方程式 出力方程式

数値シミュレーション Ex. simulation m1 x1 c1+ c2 c2 x 1 k1+ k2 k2 x1 m + + = x c c x k k x 2 2 2 2 2 2 2 2 {} c2 c1 m2 m1 k2 k1 dt=.1; m1=1;m2=2; c1=.1;c2=.1; k1=1;k2=15; x1 x2 1-1 -2 1 2 3 4 5.5 -.5 1 2 3 4 5 (s) (s)