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

概 要

MATLABは、複雑な数学的解析のプログラムを簡単に作成できる汎用数値解析用ソフトです。主に設計開発などの分野で使われていますが、多彩な用途に使用できるため、付属のマニュアルも膨大で、全体を理解することは困難です。そこで本書では、理工系の学生およびエンジニアを対象に、よく使うテクニックやノウハウ、便利なスクリプト、MATLABに特有なクセなどを解説。好評だった『最新MATLABハンドブック 改訂第二版』以降にでた、R2008aへのバージョンアップに対応し、要望の多かった章末問題の回答例を追加。さらにMATLABプログラミングの一例としてオシロスコープの作成例などを追加しました。理工系学生、エンジニアにおすすめします。

著者 小林一行
価格 本体3000円(税別)
ISBN 978-4-7980-2041-9
発売日 2008/8/22
判型 A5
色数 1色
ページ数 402
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関数

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

配列中の要素のサーチ

¥演算子

比較演算子

論理演算子

ビットの演算

文字列の扱い方

文字列について

数値から文字列への変換

文字列関数(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関数によるバンドパスフィルタ

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

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

特徴抽出

最小二乗カーブフィット

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

specgram関数

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

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のグラフィックアニメーションテクニック

図に関する属性の変更(属性'doublebuffer'の変更)

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

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

Graphical User Interface(GUI)の構築

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

uimenu関数について

メニューバーの追加

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

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

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

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

uicontrol関数

pushbuttonスタイル

togglebuttonスタイル

radiobuttonスタイル

checkbox スタイル

textスタイル

editスタイル

sliderスタイル

frameスタイル

listboxスタイル

popupmenuスタイル

Handle Graphicsを利用した

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

サンプルスクリプト例callback

属性'ButtonDownFcn'・'WindowButtonDownFcn'

属性'Interruptible'

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

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

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による信号処理機能つきオシロスコープの作成

wavrecord関数を使った音声信号

リアルタイムビジュアライゼーション

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

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

最大値の検出とその表示

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

時間軸カーソル表示例

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

標準偏差の計算

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

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

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

元のとなるデータについて

ノイズ対策

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

adstart.m

adrun.m

adupdate.m

adevent.m

トピック別目次

コンピュータの処理能力をテストするには

必要なコマンドを探すには

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

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

MATLABで変数ネーミングの際の注意事項は

変数か関数かチェックする方法は

複素数演算での注意点は

数値表示形式を変更するには

MATLABスクリプトmファイルを保存・実行するには

cdコマンドの注意点

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

スクリプト内で命令が長くなりすぎてしまう場合は

スクリプトをデバックするには

実行処理速度を解析するには

文法をチェックするには

配列・行列演算の仕方は

配列への参照法は

コロン演算で横ベクトルを作るには

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

行列・配列の大きさを調べるには

配列要素内で最大値を検出するには

MATLABの図のバックグランドの色を変更するには

配列データの並べ替えを行うには、

文字列を扱うには

数値から文字列へ変換するには

eval関数とは

for文での処理を高速化するには

if文での注意は

for文とwhile文の表現の違いは

MATLABスクリプトを実行中、途中で中断させるには

コマンドウィンドウから>>が出なくなってしまった場合は

plot関数の色やプロットシンボル、ラインタイプを変更するには

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

使用可能なTeXライクな文字は

clear コマンドとは

数値以外の文字をプロットの軸に表示するには

図の縦横比を1:1にするには、

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

複数のグラフを一枚の図の中に表示するには

グラフ中で使われるフォントの大きさを変えるには

スムーズなアニメーションをするには

特殊なグラフを描くには

3次元データをアニメーションするには

ムービーを作成するには

テキストデータをMATLABに読み込むには

GUIベースのファイル入出力インターフェースを使うには

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

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

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

方形波を作成、表示するには

方形波のデューティー比を変えるには

フーリエ変換の考え方は

三角波波形を作成、表示するには

fftでのサンプリング周波数とデータの関係は

伝達関数、状態方程式によるフィルタリングをするには

bode関数を用い、横軸をHzにするには?

伝達関数を離散値化するには

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

fftを用い信号のフィルタリングするには

fftによるバンドパスフィルタを作るには

fftによるバンドエルミネーションフィルタを作るには

サンプルしたデータを補間するには

最小二乗カーブフィット曲線を計算するには

グラフから直接近似パラメータを求めるには

ピークを検出するには

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

SimulinkでScopeに複数データを表示するには

Simulinkでシミュレーション終了時間を無効にするには

Simulinkブロックのブロックパラメータを常に表示させるには

MATLABからSimulinkモデルをシミュレーションするには

SimulinkからMATLABで書かれたスクリプトをシミュレーションするには

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

パラメータを可変し、シミュレーションするには

Simulinkでモータモデルのシミュレーションをするには

Simulinkの接続線の情報を表示するには

ある程度まとまったSimulinkブロックを

ひとまとまりのブロックにまとめるには

ブロックをマスクするには

SimulinkによるPID制御のシミュレーションをするには

Simulinkで非線形要素を含んだモデルのシミュレーションをするには

set/get関数の使い方は

プロットの線を太くするには

ハンドルの値を探すには

MATLABでアニメーションする場合関連するハンドルとその属性は

ハンドルグラフィックスを利用したイベントプログラミングテクニックとは

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

無限ループシミュレーションを中断、再実行できるスクリプトを書くには

マウス操作を検出するには

プロットに独自のメニューバーを付けるには

プロットにボタンを付けるには

GUI構築ツールGUIDEの使い方は

スクリプトmファイルと関数mファイルの違いは

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

コマンドと関数の違いとは

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

global変数を使わず、関数内で変数値を保持するには

関数を呼び出すための変数とは

常微分方程式を解くには

定積分を計算するには

逆関数を作成するには

オリジナルクラスをつくるには

セル配列の中を見るには

PR

秀和システム