You are on page 1of 20

基礎からはじめる

MATLABプログラミング入門

MathWorks Japan
アプリケーションエンジニアリング部 (テクニカルコンピューティング)
アプリケーションエンジニア
井原 瑞希

© 2014 The MathWorks, Inc.1


MATLAB® とは

Matrix Laboratory

 対話的開発環境
 豊富な拡張ライブラリ
 使用目的
- 数値解析
- データ解析、可視化
- アルゴリズム開発、プログラミング
- 外部アプリケーションとの連携

2
MATLAB R2014b is Live!

3
R2014b Graphics New Look

44
MATLAB を使用したデータ解析ワークフロー
 MATLAB
 Statistics Toolbox™
 Curve Fitting Toolbox™
処理方法
データへのアクセス アルゴリズムの探求 結果の共有/IP化
ファイル
ドキュメント
データ解析 生成
モデリング

ソフトウェア

アルゴリズム
組み込み開発
開発
C/C++/Javaなど

ハードウェア

アプリケーション
開発
アプリケーション配布
ウェブサービス
JSON
XML
HTML

5
例:自転車レンタルデータの解析

 解析の流れ
– データの読み込み
– データ傾向の分析
– モデル式の構築
– プログラム化 自転車レンタル所にはどれくらい
– 文書化 自転車を用意しておけばよい?

自転車のレンタル台数 = f ( 時間, 気温 )

6
自転車レンタル台数のデータ

気温 レンタル数

7
例:自転車レンタルデータの解析

自転車レンタル所にはどれくらい
自転車を用意しておけばよい?

自転車のレンタル台数 = f ( 時間, 気温 )

8
自転車レンタル台数予測のカスタム式

時間による変動

気温による変動
x: 時間 TIPS:
y: 気温 LaTeX で書いた数式を
MATLAB のパブリッシュ機能で画像化

9
MATLAB を使用したデータ解析ワークフロー
 MATLAB
 Statistics Toolbox
 Curve Fitting Toolbox
処理方法
データへのアクセス アルゴリズムの探求 結果の共有/IP化
ファイル
ドキュメント
データ解析 生成
モデリング

ソフトウェア

アルゴリズム
組み込み開発
開発
C/C++/Javaなど

ハードウェア

アプリケーション
開発
アプリケーション配布
ウェブサービス
JSON
XML
HTML

10
NEW

例: Webサービスデータの読み込み

 webread 関数を使用して現在の位置から最寄り駅を検索
 読み取り形式: テキストベースのデータフォーマット
 XML, JSON, CSV, …
 使用するAPI: HeartRailsAPI
– URL: http://express.heartrails.com/api/
– リクエストパラメタ
パラメタ 値 説明
method getStations メソッド名
x double 最寄駅の情報を取得したい場所の経度
y double 最寄駅の情報を取得したい場所の緯度

11
NEW

例: Webサービスデータの読み込み

 XMLの場合
http://express.heartrails.com/api/xml?
method=getStations & x=139.731434 & y=35.674166

駅だけでなく、別のAPIで
コンビニなども検索可能

12
MATLAB を使用したデータ解析ワークフロー
 MATLAB® Compiler™

処理方法
データへのアクセス アルゴリズムの探求 結果の共有/IP化
ファイル
ドキュメント
データ解析 生成
モデリング

ソフトウェア

アルゴリズム
組み込み開発
開発
C/C++/Javaなど

ハードウェア

アプリケーション
開発
アプリケーション配布
ウェブサービス
JSON
XML
HTML

13
データ解析で使える機能
他アプリケーションとのデータや結果の共有

 MATLABユーザとのMATLABコード共有
– MATLAB ファイル

 非MATLABユーザとのMATLABアプリケーション共有
– 実行形式 (.exe)
– C/C++ 共有ライブラリ (.lib/.dll)
– ソフトウェアコンポネント
MATLAB Compiler

MATLAB MATLAB MATLAB

 作成したアプリケーションの Builder™ EX Builder™ JA Builder™ NE

再配布は無償
.dll
.exe .lib
Excel Java Web .NET

14
MATLAB を使用したデータ解析ワークフロー

処理方法
データへのアクセス アルゴリズムの探求 結果の共有/IP化
ファイル
ドキュメント
データ解析 生成
モデリング

ソフトウェア

アルゴリズム
組み込み開発
開発
C/C++/Javaなど

ハードウェア

アプリケーション
開発
アプリケーション配布
ウェブサービス
JSON
XML
HTML

15
まとめ

 ウェブサービスからのデータの読み込み
 日時を扱う関数の紹介
– month: 月番号と月名を出力
– weekday: 曜日を出力
– isweekend: 週末かどうかを0/1で出力
 ダイナミックに変化する日時データのグラフ
 varfun を使用したテーブル型変数への関数の適用
 論理インデクスを使用したデータ抽出
 GUI ツールと MATLAB プログラム生成
 TeX を含むレポート作成
 アプリケーション配布
16
まとめ

 ウェブサービスからのデータの読み込み
 日時を扱う関数の紹介
– month: 月番号と月名を出力
– weekday: 曜日を出力
– isweekend: 週末かどうかを0/1で出力
 ダイナミックに変化する日時データのグラフ
 varfun を使用したテーブル型変数への関数の適用
 論理インデクスを使用したデータ抽出
 GUI ツールと MATLAB プログラム生成
 TeX を含むレポート作成
 アプリケーション配布
17
まとめ

 ウェブサービスからのデータの読み込み
 日時を扱う関数の紹介
– month: 月番号と月名を出力
– weekday: 曜日を出力
– isweekend: 週末かどうかを0/1で出力
 ダイナミックに変化する日時データのグラフ
 varfun を使用したテーブル型変数への関数の適用
 論理インデクスを使用したデータ抽出
 GUI ツールと MATLAB プログラム生成
 TeX を含むレポート作成
 アプリケーション配布
18
Training Services

MATLAB & Simulink を


もっと 活用 しませんか?

MATLAB トレーニング

EXPO 展示コーナーでトレーニングテキストを閲覧可能です!
19
MathWorks展示部分

Drone
Nao
TurtleBot
Mars Rover

20

You might also like