最新MATLABハンドブック~The language of technical computing~ 第6版
小林一行 著
著者紹介
内容
目次
Chapter 0 □ なぜMATLABか? ○ MATLAB言語の特徴 ○ 配列演算子 ○ バックスラッシュ演算子 ○ まとめ Chapter 1 MATLABとは □ 行列演算ツールとしてのMATLAB ○ MATLABの起動 ○ 基本的な数値・変数の扱い方 ◇ 単純な数値演算 ◇ 変数による入力 ◇ 基本算術演算子 ◇ MATLABワークスペース ◇ MATLAB変数の注意事項 ◇ 複素数の扱い ○ ファイル操作・実行・保存 ◇ MATLABスクリプトmファイル ◇ ファイル管理(関数管理) ◇ スクリプトの保存・実行 ◇ スクリプトmファイルの保存・実行 ◇ コメント文 ◇ 継続文 ◇ スクリプト内での変数値の表示 ◇ mファイル エディタ/デバッガによる方法 ◇ 実行処理速度を解析するコマンド(profileコマンド) ◇ MATLAB Live Editor ○ 配列・行列演算 ◇ 配列演算子 ◇ コロン演算子を使ったインデックス番号指定 ◇ 多次元配列の場合 ◇ コロン演算子のみの使用 ◇ 配列操作 ◇ スカラーと配列/行列の算術演算 ◇ 配列同士または行列同士の算術演算 ◇ 空配列を利用した行列・配列のダイナミックアロケーション(動的確保) ◇ zeros関数、ones関数 ○ 行列・配列の大きさを調べる関数 ◇ 配列中の要素のサーチ ◇ ¥演算子 ◇ 比較演算子 ◇ 論理演算子 ◇ Logical Indexing機能とfind関数 ◇ ビットの演算 ○ 文字列の扱い方 ◇ char型文字列について ◇ string型 ◇ char型文字列とstring型文字列の違いのまとめ ◇ 数値から文字列への変換 ◇ 文字列関数(eval関数) ○ 制御フロー ◇ for文 ◇ if文 ◇ while文 ◇ switch文 ◇ try-catch文 ○ 制御フローのまとめ ○ 演習問題 Chapter 2 データビジュアライゼーションツールとしてのMATLAB その1 □ MATLABグラフィックコマンド体系 □ 2次元グラフィックス ○ plot関数 ○ 行列形式での記述 ○ ラインタイプ、プロットシンボル、カラーについて ○ グリッドやラベルの追加 ○ axis関数による表示設定の変更 ○ xlim関数、ylim関数 ○ 表示スケールの変更 ○ legend関数 ○ holdコマンド ○ plotyy関数 ○ subplot関数 ○ zoomコマンド ○ plot関数を使ったアニメーション ○ loglog関数、semilogx関数、semilogy関数 ○ 特殊なグラフ関数 ○ bar関数のオプション ○ histogram関数のオプション ○ stairs関数 ○ stem関数 ○ errorbar関数 □ 3次元グラフィックス ○ plot3関数 ○ ビューポイントの移動 ○ 2変数の1出力関数のプロット ○ mesh関数のオプション ○ surf関数のオプション ○ contour3関数 ○ 2-Dプロットによる3-Dデータの表示 ○ quiver関数 ○ テクスチャマッピング ○ light関数 ○ ボリュームビジュアライゼーション関数 ○ ムービー用関数 ○ 演習問題 Chapter 3 信号処理ツールとしてのMATLAB □ MATLABへのデータ入出力 ○ load・saveコマンド ◇ loadコマンド ◇ saveコマンド ○ 各種データをウィザード形式で読み込む ○ 低レベルファイル入出力関数 ○ audioread関数 □ 信号処理のための基礎知識 ○ MATLABで時間応答グラフを描く場合の注意点 ○ フーリエ変換とは ○ 直交関数の内積(2信号の相関) ◇ ウォルシュ関数による直交性の例 ◇ sin・cos関数に関する直交性 ○ MATLABのfft関数について ○ fft関数と時系列データとの関係 ○ 表示のまとめ □ 波形整形法 ○ フィルタ(signal processing toolboxが必要) ◇ 伝達関数、状態方程式による波形整形(control system toolboxが必要) ◇ 伝達関数の離散値化 ○ スムーザ ◇ fft関数によるフィルタリング ◇ fft関数によるバンドパスフィルタ ◇ バンドエルミネーションフィルタ ◇ スプライン関数によるデータ補間 □ 特徴抽出 ○ 最小二乗カーブフィット ○ 周波数領域による特徴抽出 ◇ spectrogram関数 ○ 自己回帰モデル法による周波数解析 ○ arモデルからの周波数抽出例 ○ fft法とarモデルによる方法の周波数分解能の違い ○ 演習問題 Chapter 4 Simulinkとは □ Simulinkの起動 □ ブロック図を描く □ コンフィグレーションパラメータの設定 ○ MATLABとSimulinkとの連携 □ Simulinkによるダイナミックシミュレーション ○ sim関数を使った2次振動系のシミュレーション □ DCモータのシミュレーション例 □ サブシステム化 □ フィードバック制御によるDCモータのコントロール ○ 速度フィードバックと位置フィードバック ○ P要素によるコントロール ○ PI要素によるコントロール ○ PID要素によるコントロール □ 現実的な非線形要素の対策 ○ 飽和要素によるワインドアップ現象 ○ 2重積分とバックラッシュの直列結合 ○ 演習問題 Chapter 5 データビジュアライゼーションツールとしてのMATLAB その2 □ Handle Graphicsによるビジュアライゼーション ○ Handle Graphics ○ その他の便利なコマンド ○ findobj関数 □ MATLABのグラフィックアニメーションテクニック □ Handle Graphicsを利用したMATLABイベントプログラミングテクニック ○ サンプルスクリプト例 Callback ◇ ButtonDownFcn属性・WindowButtonDownFcn属性 ◇ Interruptible属性 ◇ 無限ループシミュレーションの中断、再実行するスクリプト ◇ WindowButtonDownFcn属性を使った簡単なデモスクリプト □ Graphical User Interface(GUI)の構築 ○ uicontrol関数 ○ pushbuttonスタイル ○ togglebuttonスタイル ○ radiobuttonスタイル ○ checkbox スタイル ○ textスタイル ○ editスタイル ○ sliderスタイル ○ frameスタイル ○ listboxスタイル ○ popupmenuスタイル ○ guideコマンド ○ 簡単な3次元のViewを変更するスライダの作成 ○ App Designer ○ ノイズによる可変周波数データの生成 ○ まとめ ○ 演習問題 Chapter 6 プログラミング処理言語としてのMATLAB □ 関数mファイル ○ 関数mファイルの利点 ◇ 簡単な、関数mファイルの例(a+bの計算してその結果を出力) ○ helpコマンドのためのコメント ○ 可変入出力変数(nargin,nargout) ○ 可変引数(varargin) ○ sub関数 □ global変数 ○ global変数を使った、簡単なサンプルスクリプト ○ MATLAB関数内のみで内部的に変数値を保持したい場合(persistent変数) □ 関数を呼び出すための変数(@変数) ○ (1)ode45関数を使った常微分方程式の解法 ◇ 非線形連立微分方程式のシミュレーション ◇ 付加パラメータの利用 ○ (2)quad関数を使った円周率の計算例 ○ (3)fminsearch関数を利用した逆関数の作成応用 ◇ 未知変数が複数の場合 □ 扱えるデータ型と構造について ○ int,uint,double,single変数 □ 多次元配列 □ 構造体(structures) ○ 構造体配列 □ セル配列 ○ char型文字列クラスとstring型文字列クラス ○ datetimeクラス ◇ datetimeクラスを使った応用例 ○ tableクラス □ timetableクラス ○ classdef構文を使ったオブジェクト指向プログラミング ◇ 関数mファイルの問題点 ○ classdef構文の概要 ○ オリジナルクラス(binary class)の作成 ◇ 表示関数 ◇ 変換関数 ◇ オペレーターオーバーロード ○ classdef構文で使う、属性 ◇ classdef構文の属性指定例 ◇ propertiesブロックの属性指定例 ◇ methodsブロックの属性指定例 ◇ eventsブロックの属性指定例 ○ handleクラスの応用 ◇ 画像処理でハンドルクラスを継承した場合としない場合の結果の違い □ 変数の型のまとめ ○ 演習問題 Chapter 7 MATLABプログラミング応用例 □ GUIによる信号処理機能つきオシロスコープの作成 □ audiorecorder関数を使った音声信号リアルタイムビジュアライゼーション □ 音声データのリアルタイム表示 □ 時間軸データからの特徴抽出 □ 最大値の検出とその表示 ○ max,min関数を使ったデータの最大最小カーソル表示例 □ 時間軸カーソル表示例 □ 平均値の計算と直流分のカット ○ 標準偏差の計算 □ GUIによるオシロスコープの作成 その2 ○ 最小二乗法によるカーブフィッティング □ 時間データからの周期の検出 ○ 元となるデータについて □ ノイズ対策 □ GUIによるオシロスコープの作成 その3 ○ oscillodemo関数 ○ adrun関数 ○ adevent関数 ○ adsetpara関数 ○ adupdateevent関数 ○ adupdate関数 補足 ○ 1章の演習問題の解答 ○ 2章の演習問題の解答 ○ 3章の演習問題の解答 ○ 4章の演習問題の解答 ○ 5章の演習問題の解答 ○ 6章の演習問題の解答 トピック別目次 ◇ MATLABのhelpは、英語モードがオススメ ◇ helpコマンドは、関数だけでなくツールボックスの関数も調べられる。 ◇ round、ceil、floor、fix関数について ◇ 知っていると便利なコマンド ◇ 特殊変数と定数 ◇ nan, inf, [ ]のチェック ◇ コマンドウィンドウ上での数値表示形式 ◇ cdコマンドの注意 ◇ スクリプトmファイル名の注意点 ◇ MATLAB起動時、終了時に実行されるスクリプトmファイル ◇ checkcode関数によるコードの文法チェック ◇ パブリッシュ機能 ◇ コロン演算子による横ベクトルの作り方 ◇ コロン演算子を使ったテクニック ◇ 行列・配列演算における暗黙の展開 ◇ logicalクラス ◇ if文での注意 ◇ for 文とwhile文の表現の違い(ステップ間隔が1の場合) ◇ MATLABスクリプトを実行中、中断させたい時 ◇ コマンドウィンドウからプロンプト「>>」が出なくなってしまった場合 ◇ 複数のグラフを描いた後からgridコマンドなどを設定するには ◇ 使用可能なTeXライクな文字について ◇ clearコマンド ◇ 数字以外の文字を軸に表示するには ◇ 図をファイルに保存するには ◇ コマンドウィンドウ上で実行したコマンドを記録しておくには ◇ fft処理したデータは対称に出力されるか? ◇ bode関数を用い、横軸をHzにするには? ◇ MATLABでの計算結果を高精度のまま他のアプリケーションに移すには? ◇ ピークを検出するには? ◇ 複数のデータをScopeにより表示する場合 ◇ 終了時間を指定しない方法は ◇ ブロックパラメータを表示する ◇ 1次のハイパスフィルタをSimulinkブロックで作るには? ◇ 接続線情報の表示 ◇ マスクブロックをカスタマイズするには? ◇ Callback 属性に書くための文字列をチェックするには? ◇ Units属性 ◇ 関数mファイルを作らずにスクリプトmファイル内で関数を宣言するには? ◇ セルモード活用 ◇ エディタ上の別スクリプト、関数の参照 ◇ コマンドと関数の違い ◇ global変数を定義するときの注意 ◇ struct関数とclassdef構文のpropertiesブロックで作った構造体の違い ◇ 特別なフォルダ名 ◇ methodsブロックでの関数の引数 ◇ timer関数による擬似マルチタスク処理
カート
カートに商品は入っていません。