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

概 要

MATLAB/Simulinkは、行列演算を得意とし、科学・工学分野で特に威力を発揮するプログラミング言語です。しかし、MATLABは対話型プログラミングで初心者でも使いやすいかわりに、付属するマニュアルが膨大で、概念を理解するだけでも大変です。本書は、理工系大学生や大学院生、エンジニアを対象に、MATLAB/Simulinkの起動から、コマンドの解説、即戦力として使えるマニアックなテクニック、MATLAB特有のクセまで解説した入門書です。

著者 小林一行
価格 本体3000円(税別)
ISBN 978-4-7980-5159-8
発売日 2017/11/18
判型 A5
ページ数 456
CD/DVD
ダウンロード
表紙イメージ
購入 アマゾンで購入する
楽天で購入する

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

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

サポート

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

サポート情報へのリンク

目次

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 その

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 その

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関数

Supplement 補 足

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関数による擬似マルチタスク処理

PR

秀和システム