最新MATLABハンドブック 第四版

概 要

理工系の学生およびエンジニアを対象にしたMATLAB/Simulinkに関するノウハウ・テクニック集の第四版です。MATLABは、行列演算や、データのビジュアライゼーション、信号処理、非手続き型のプログラミング言語としても使える便利な数値解析ソフトウェアです。本書では、MATLAB/Simulinkの基本操作はもとより、膨大なマニュアルの中から即戦力として使えるノウハウやマニアックなテクニック、MATALB特有なクセなどを解説しています。特に4年生になり、研究室に配属され、研究しようとする学生に対して有用な情報、スクリプト、MATLAB自体の理解の助けとなるような事柄を思いつく限り掲載しました。R2011b対応。

著者 小林一行
価格 本体3000円(税別)
ISBN 978-4-7980-3137-8
発売日 2011/11/1
判型 A5
色数 1色
ページ数 416
CD/DVD
対象読者 中級
シリーズ
表紙イメージ
購入 アマゾンで購入する
楽天で購入する

※リンク先によっては、販売ページが用意されていないことがあります。あらかじめご了承ください。

新しいウィンドウで開く 書籍購入のご案内

サポート

サポート情報は以下からご参照下さい。

サポート情報へのリンク

目次

Chapter0 なぜMATLABか?

MATLABの使用用途は?

Simulinkの使用用途は?

MATLABを使いこなすためのポイント

使用時のポイント

スクリプト作成時のポイント

MATLAB文法でのポイント

Chapter1 MATLABとは

行列演算ツールとしてのMATLAB

MATLABの起動

基本的な数値・変数の扱い方

単純な数値演算

round、ceil、floor、fix関数について

変数による入力

基本算術演算子

MATLABワークスペース

特殊変数と定数

MATLAB変数の注意事項

複素数の扱い

ファイル操作・実行・保存

MATLABスクリプトmファイル

ファイル管理(関数管理)

スクリプトmファイルの保存・実行

コメント文

継続文

スクリプト内での変数値の表示

M-File Editor/Debuggerによる方法

実行処理速度を解析するコマンド(profileコマンド)

配列・行列演算

配列演算子

コロン演算子を使ったインデックス番号指定

多次元配列の場合

コロン演算子のみの使用

配列操作

スカラーと配列/行列の算術演算

配列同士または行列同士の算術演算

空配列を利用した行列・配列のダイナミックアロケーション(動的確保)

zeros関数、ones関数

行列・配列の大きさを調べる関数

配列中の要素のサーチ

¥演算子

比較演算子

論理演算子

Logical Indexing機能とfind関数

ビットの演算

文字列の扱い方

文字列について

数値から文字列への変換

文字列関数(eval関数)

制御フロー

for文

if文

while文

switch文

try-catch文

制御フローのまとめ

演習問題

Chapter2 データビジュアライゼーション

ツールとしてのMATLAB その1

MATLABグラフィックコマンド体系

2次元グラフィックス

plot関数

行列形式での記述

ラインタイプ、プロットシンボル、カラーについて

グリッドやラベルの追加

axis関数による表示設定の変更

xlim関数、ylim関数

表示スケールの変更

legend関数

holdコマンド

plotyy関数

subplot関数

zoomコマンド

plot関数を使ったアニメーション

logスケールグラフ

特殊なグラフ関数

bar関数のオプション

hist関数のオプション

階段状グラフ

stemプロット

errorbarsグラフ

3次元グラフィックス

plot3関数

ビューポイントの移動

2変数の1出力関数のプロット

mesh関数のオプション

surf関数のオプション

contour3関数

2-Dプロットによる3-Dデータの表示

quiver関数

テクスチャマッピング

light関数

ボリュームビジュアライゼーション関数

ムービー用関数

演習問題

Chapter3 信号処理ツールとしてのMATLAB

MATLABへのデータ入出力

load・saveコマンド

loadコマンド

saveコマンド

各種データをウィザード形式で読み込む

低レベルファイル入出力関数

wavread関数

信号処理のための基礎知識

MATLABで時間応答グラフを描く場合の注意点

フーリエ変換とは

直交関数の内積(2信号の相関)

ウォルシュ関数による直交性の例

sin・cos関数に関する直交性

MATLABのfft関数について

fft関数と時系列データとの関係

表示のまとめ

波形整形法

フィルタ(signal processing toolboxが必要)

伝達関数、状態方程式による波形整形(control toolboxが必要)

伝達関数の離散値化

スムーザ

fft関数によるフィルタリング

fft関数によるバンドパスフィルタ

バンドエルミネーションフィルタ

スプライン関数によるデータ補間

特徴抽出

最小二乗カーブフィット

周波数領域による特徴抽出

spectrogram関数

自己回帰モデル法による周波数解析

arモデルからの周波数抽出例

fft法とarモデルによる方法の周波数分解能の違い

演習問題

Chapter4 Simulinkとは

Simulinkの起動

ブロック図を描く

コンフィグレーションパラメータの設定

MATLABとSimulinkとの連携

Simulinkによるダイナミックシミュレーション

sim関数を使った2次振動系のシミュレーション

DCモータのシミュレーション例

サブシステム化

フィードバック制御によるDCモータのコントロール

速度フィードバックと位置フィードバック

P要素によるコントロール

PI要素によるコントロール

PID要素によるコントロール

現実的な非線形要素の対策

飽和要素によるワインドアップ現象

2重積分とバックラッシュの直列結合

演習問題

Chapter5 データビジュアライゼーション

ツールとしてのMATLAB その2

Handle Graphicsによるビジュアライゼーション

Handle Graphics

rootハンドル

figureハンドル

axesハンドル

lineハンドル

その他の便利なコマンド

findobj関数

MATLABのグラフィックアニメーションテクニック

軸と線に関する属性の変更(属性'drawmode','erasemode'の変更)

全ての属性を変更した場合とその比較

Handle Graphicsを利用した

MATLABイベントプログラミングテクニック

サンプルスクリプト例callback

属性'ButtonDownFcn'・'WindowButtonDownFcn'

属性'Interruptible'

無限ループシミュレーションの中断、再実行するスクリプト

属性'WindowButtonDownFcn'を使った簡単なデモスクリプト

Graphical User Interface(GUI)の構築

GUIのオブジェクトとしての位置づけ

uimenu関数について

メニューバーの追加

メニューバーのショートカットキーの割り当て

メニューバーの概観を整える

メニューアイテムの無効化

メニューバーの属性'callback'

uicontrol関数

pushbuttonスタイル

togglebuttonスタイル

radiobuttonスタイル

checkbox スタイル

textスタイル

editスタイル

sliderスタイル

frameスタイル

listboxスタイル

popupmenuスタイル

guideコマンド

簡単な3次元のViewを変更するスライダの作成

まとめ

演習問題

Chapter6 プログラミング処理言語としてのMATLAB

関数mファイル

簡単な、関数mファイルの例(a+bの計算してその結果を出力)

helpコマンドのためのコメント

可変入出力変数(nargin,nargout)

可変引数(varargin)

サブ関数

global変数

global変数を使った、簡単なサンプルスクリプト

MATLAB関数内のみで内部的に変数値を保持したい場合(persistent変数)

関数を呼び出すための変数(@変数)

(1)ode45関数を使った常微分方程式の解法

非線形連立微分方程式のシミュレーション

付加パラメータの利用

(2)quad関数を使った円周率の計算例

(3)fminsearch関数を利用した逆関数の作成応用

未知変数が複数の場合

扱えるデータ型と構造について

オリジナルクラス(binary class)の作成

コンストラクタ

表示関数

変換関数

オペレータオーバーロード

多次元配列

構造体(structures)

構造体配列

セルアレイ

変数の型のまとめ

演習問題

Chapter7 MATLABプログラミング応用例

GUIによる信号処理機能つきオシロスコープの作成

audiorecorder関数を使った音声信号リアルタイムビジュアライゼーション

音声データのリアルタイム表示

時間軸データからの特徴抽出

最大値の検出とその表示

max,min関数を使ったデータの最大最小カーソル表示例

時間軸カーソル表示例

平均値の計算と直流分のカット

標準偏差の計算

GUIによるオシロスコープの作成 その2

最小二乗法によるカーブフィッティング

時間データからの周期の検出

元となるデータについて

ノイズ対策

GUIによるオシロスコープの作成 その3

adstart.m

adrun.m

adupdate.m

adevent.m

Supplement 補 足

1章の演習問題の解答

2章の演習問題の解答

3章の演習問題の解答

4章の演習問題の解答

5章の演習問題の解答

6章の演習問題の解答

トピック別目次

MATLABのヘルプを英語モードにするには?

知っていると便利なコマンド

コマンドウィンドウ上での数値表示形式

cdコマンドの注意

スクリプトmファイル名の注意点

MATLAB起動時、終了時に実行されるスクリプトmファイル

M-Lintによるコードの文法チェック

コロン演算子による横ベクトルの作り方

コロン演算子を使ったテクニック

MATLABの図のバックグランドの色

logicalクラス

if文での注意

for 文とwhile文の表現の違い(ステップ間隔が1の場合)

MATLABスクリプトを実行中、中断させたい時

コマンドウィンドウからプロンプト「>>」が出なくなってしまった場合

複数のグラフを描いた後からgridコマンドなどを設定するには

使用可能なTeXライクな文字について

clearコマンド

数字以外の文字を軸に表示するには

図をファイルに保存するには

fontsizeの変更

コマンドウィンドウ上でタイプしたコマンドを記録しておくには

MATLABでの計算結果を高精度のまま他のアプリケーションに移すには?

ピークを検出するには?

複数のデータをScopeにより表示する場合

終了時間を指定しない方法は

ブロックパラメータを表示する

1次のハイパスフィルタをSimulinkブロックで作るには?

接続線情報の表示

マスクブロックをカスタマイズには?

属性'callback'に書くための文字列をチェックするには?

属性'units'

関数mファイルを作らずにスクリプトmファイル内で関数を宣言するには?

コマンドと関数の違い

global変数を定義するときの注意

特別なフォルダ名

PR

秀和システム