基礎からはじめる - MathWorks - Makers of MATLAB …...

20
1 © 2014 The MathWorks, Inc. 基礎からはじめる MATLABプログラミング入門 MathWorks Japan アプリケーションエンジニアリング部 (テクニカルコンピューティング) アプリケーションエンジニア 井原 瑞希

Transcript of 基礎からはじめる - MathWorks - Makers of MATLAB …...

Page 1: 基礎からはじめる - MathWorks - Makers of MATLAB … を使用したデータ解析ワークフロー ドキュメント 生成 組み込み開発 ... GUI ツールとMATLAB

1© 2014 The MathWorks, Inc.

基礎からはじめるMATLABプログラミング入門

MathWorks Japan

アプリケーションエンジニアリング部 (テクニカルコンピューティング)

アプリケーションエンジニア

井原瑞希

Page 2: 基礎からはじめる - MathWorks - Makers of MATLAB … を使用したデータ解析ワークフロー ドキュメント 生成 組み込み開発 ... GUI ツールとMATLAB

2

MATLAB® とは

Matrix Laboratory

対話的開発環境

豊富な拡張ライブラリ

使用目的- 数値解析

- データ解析、可視化

- アルゴリズム開発、プログラミング

- 外部アプリケーションとの連携

Page 3: 基礎からはじめる - MathWorks - Makers of MATLAB … を使用したデータ解析ワークフロー ドキュメント 生成 組み込み開発 ... GUI ツールとMATLAB

3

MATLAB R2014b is Live!

Page 4: 基礎からはじめる - MathWorks - Makers of MATLAB … を使用したデータ解析ワークフロー ドキュメント 生成 組み込み開発 ... GUI ツールとMATLAB

4 4

R2014b Graphics New Look

Page 5: 基礎からはじめる - MathWorks - Makers of MATLAB … を使用したデータ解析ワークフロー ドキュメント 生成 組み込み開発 ... GUI ツールとMATLAB

5

データ解析モデリング

アルゴリズム開発

アプリケーション開発

処理方法アルゴリズムの探求

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

ドキュメント生成

組み込み開発

アプリケーション配布

結果の共有/IP化

MATLAB

Statistics Toolbox™

Curve Fitting Toolbox™

データへのアクセス

ファイル

ソフトウェア

ハードウェア

C/C++/Javaなど

ウェブサービス

XML

JSON

HTML

Page 6: 基礎からはじめる - MathWorks - Makers of MATLAB … を使用したデータ解析ワークフロー ドキュメント 生成 組み込み開発 ... GUI ツールとMATLAB

6

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

解析の流れ– データの読み込み

– データ傾向の分析

– モデル式の構築

– プログラム化

– 文書化

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

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

Page 7: 基礎からはじめる - MathWorks - Makers of MATLAB … を使用したデータ解析ワークフロー ドキュメント 生成 組み込み開発 ... GUI ツールとMATLAB

7

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

気温 レンタル数

Page 8: 基礎からはじめる - MathWorks - Makers of MATLAB … を使用したデータ解析ワークフロー ドキュメント 生成 組み込み開発 ... GUI ツールとMATLAB

8

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

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

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

Page 9: 基礎からはじめる - MathWorks - Makers of MATLAB … を使用したデータ解析ワークフロー ドキュメント 生成 組み込み開発 ... GUI ツールとMATLAB

9

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

時間による変動

気温による変動

x: 時間y: 気温

TIPS:

LaTeXで書いた数式をMATLAB のパブリッシュ機能で画像化

Page 10: 基礎からはじめる - MathWorks - Makers of MATLAB … を使用したデータ解析ワークフロー ドキュメント 生成 組み込み開発 ... GUI ツールとMATLAB

10

データ解析モデリング

アルゴリズム開発

アプリケーション開発

処理方法アルゴリズムの探求

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

ドキュメント生成

組み込み開発

アプリケーション配布

結果の共有/IP化

MATLAB

Statistics Toolbox

Curve Fitting Toolbox

データへのアクセス

ファイル

ソフトウェア

ハードウェア

C/C++/Javaなど

ウェブサービス

XML

JSON

HTML

Page 11: 基礎からはじめる - MathWorks - Makers of MATLAB … を使用したデータ解析ワークフロー ドキュメント 生成 組み込み開発 ... GUI ツールとMATLAB

11

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

webread関数を使用して現在の位置から最寄り駅を検索

読み取り形式: テキストベースのデータフォーマット XML, JSON, CSV, …

使用するAPI: HeartRailsAPI

– URL: http://express.heartrails.com/api/

– リクエストパラメタ

パラメタ 値 説明

method getStations メソッド名

x double 最寄駅の情報を取得したい場所の経度

y double 最寄駅の情報を取得したい場所の緯度

NEW

Page 12: 基礎からはじめる - MathWorks - Makers of MATLAB … を使用したデータ解析ワークフロー ドキュメント 生成 組み込み開発 ... GUI ツールとMATLAB

12

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

XMLの場合

NEW

http://express.heartrails.com/api/xml?

method=getStations & x=139.731434 & y=35.674166

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

Page 13: 基礎からはじめる - MathWorks - Makers of MATLAB … を使用したデータ解析ワークフロー ドキュメント 生成 組み込み開発 ... GUI ツールとMATLAB

13

データ解析モデリング

アルゴリズム開発

アプリケーション開発

処理方法アルゴリズムの探求

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

ドキュメント生成

組み込み開発

アプリケーション配布

結果の共有/IP化

MATLAB® Compiler™

データへのアクセス

ファイル

ソフトウェア

ハードウェア

C/C++/Javaなど

ウェブサービス

XML

JSON

HTML

Page 14: 基礎からはじめる - MathWorks - Makers of MATLAB … を使用したデータ解析ワークフロー ドキュメント 生成 組み込み開発 ... GUI ツールとMATLAB

14

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

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

非MATLABユーザとのMATLABアプリケーション共有– 実行形式 (.exe)

– C/C++ 共有ライブラリ (.lib/.dll)

– ソフトウェアコンポネント

作成したアプリケーションの再配布は無償

JavaExcel .NETWeb.exe

.dll

.lib

MATLAB Compiler

MATLABBuilder™ NE

MATLABBuilder™ EX

MATLABBuilder™ JA

Page 15: 基礎からはじめる - MathWorks - Makers of MATLAB … を使用したデータ解析ワークフロー ドキュメント 生成 組み込み開発 ... GUI ツールとMATLAB

15

データ解析モデリング

アルゴリズム開発

アプリケーション開発

処理方法アルゴリズムの探求

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

ドキュメント生成

組み込み開発

アプリケーション配布

結果の共有/IP化データへのアクセス

ファイル

ソフトウェア

ハードウェア

C/C++/Javaなど

ウェブサービス

XML

JSON

HTML

Page 16: 基礎からはじめる - MathWorks - Makers of MATLAB … を使用したデータ解析ワークフロー ドキュメント 生成 組み込み開発 ... GUI ツールとMATLAB

16

まとめ

ウェブサービスからのデータの読み込み

日時を扱う関数の紹介– month: 月番号と月名を出力

– weekday: 曜日を出力

– isweekend: 週末かどうかを0/1で出力

ダイナミックに変化する日時データのグラフ

varfun を使用したテーブル型変数への関数の適用

論理インデクスを使用したデータ抽出

GUI ツールと MATLAB プログラム生成

TeX を含むレポート作成

アプリケーション配布

Page 17: 基礎からはじめる - MathWorks - Makers of MATLAB … を使用したデータ解析ワークフロー ドキュメント 生成 組み込み開発 ... GUI ツールとMATLAB

17

まとめ

ウェブサービスからのデータの読み込み

日時を扱う関数の紹介– month: 月番号と月名を出力

– weekday: 曜日を出力

– isweekend: 週末かどうかを0/1で出力

ダイナミックに変化する日時データのグラフ

varfun を使用したテーブル型変数への関数の適用

論理インデクスを使用したデータ抽出

GUI ツールと MATLAB プログラム生成

TeX を含むレポート作成

アプリケーション配布

Page 18: 基礎からはじめる - MathWorks - Makers of MATLAB … を使用したデータ解析ワークフロー ドキュメント 生成 組み込み開発 ... GUI ツールとMATLAB

18

まとめ

ウェブサービスからのデータの読み込み

日時を扱う関数の紹介– month: 月番号と月名を出力

– weekday: 曜日を出力

– isweekend: 週末かどうかを0/1で出力

ダイナミックに変化する日時データのグラフ

varfun を使用したテーブル型変数への関数の適用

論理インデクスを使用したデータ抽出

GUI ツールと MATLAB プログラム生成

TeX を含むレポート作成

アプリケーション配布

Page 19: 基礎からはじめる - MathWorks - Makers of MATLAB … を使用したデータ解析ワークフロー ドキュメント 生成 組み込み開発 ... GUI ツールとMATLAB

19

Training Services

MATLAB トレーニング

MATLAB & Simulink を

もっと活用しませんか?

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

Page 20: 基礎からはじめる - MathWorks - Makers of MATLAB … を使用したデータ解析ワークフロー ドキュメント 生成 組み込み開発 ... GUI ツールとMATLAB

20

MathWorks展示部分

Drone

Nao

TurtleBot

Mars Rover