38
1 © 2014 The MathWorks, Inc. Presentation Title By Author

Presentation Title - MathWorks · 10 实例: 电池测试数据处理 目标: – 处理电池测试数据,以用于精确的参数估 计和模型建立 方法: – 导入并对数据进行可视化

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Presentation Title - MathWorks · 10 实例: 电池测试数据处理 目标: – 处理电池测试数据,以用于精确的参数估 计和模型建立 方法: – 导入并对数据进行可视化

1 © 2014 The MathWorks, Inc.

Presentation Title

By Author

Page 2: Presentation Title - MathWorks · 10 实例: 电池测试数据处理 目标: – 处理电池测试数据,以用于精确的参数估 计和模型建立 方法: – 导入并对数据进行可视化

2

MATLAB数据管理与优化技术

卓金武

Application Engineer

[email protected]

Page 3: Presentation Title - MathWorks · 10 实例: 电池测试数据处理 目标: – 处理电池测试数据,以用于精确的参数估 计和模型建立 方法: – 导入并对数据进行可视化

3

内容提要

MATLAB数据处理概要

MATLAB数据处理应用实例

MATLAB优化技术及应用实例

总结

Page 4: Presentation Title - MathWorks · 10 实例: 电池测试数据处理 目标: – 处理电池测试数据,以用于精确的参数估 计和模型建立 方法: – 导入并对数据进行可视化

4

MATLAB数据处理流程

Reporting and

Documentation

Outputs for Design

Deployment

Share

Explore & Discover

Data Analysis

& Modeling

Algorithm

Development

Application

Development

Files

Software

Hardware

Access

Code & Applications

Automate

Page 5: Presentation Title - MathWorks · 10 实例: 电池测试数据处理 目标: – 处理电池测试数据,以用于精确的参数估 计和模型建立 方法: – 导入并对数据进行可视化

5

获取数据

文件

– Excel, text, or binary

– Multimedia

– Web

应用程序和数据库

– C/C++, Java, FORTRAN

– COM, .NET, shared libraries

– Databases

硬件

– 信号和图像读取硬件

– 单机仪器

Explore & Discover Share Access

Page 6: Presentation Title - MathWorks · 10 实例: 电池测试数据处理 目标: – 处理电池测试数据,以用于精确的参数估 计和模型建立 方法: – 导入并对数据进行可视化

6

数据分析和可视化(探索)

数据分析

– 组织、预处理和管理数据

– 用数学和工程函数快速、准确分析

可视化

– 绘图函数(2D, 3D, VolViz)

– 自定义图形

Explore & Discover Share Access

Page 7: Presentation Title - MathWorks · 10 实例: 电池测试数据处理 目标: – 处理电池测试数据,以用于精确的参数估 计和模型建立 方法: – 导入并对数据进行可视化

7

发挥MATLAB功能

功能工具:

– Statistics and curve fitting

– Signal and image processing

– System identification and

control system analysis

– Neural networks and fuzzy logic

– Optimization

– Model-based calibration and more …

合作工具:

– 多个领域

– 多种形式

Explore & Discover Share Access

Page 8: Presentation Title - MathWorks · 10 实例: 电池测试数据处理 目标: – 处理电池测试数据,以用于精确的参数估 计和模型建立 方法: – 导入并对数据进行可视化

8

分享结果

自动生成报告

将结果传递给下游处理工具

部署应用到其它环境

Explore & Discover Share Access

Page 9: Presentation Title - MathWorks · 10 实例: 电池测试数据处理 目标: – 处理电池测试数据,以用于精确的参数估 计和模型建立 方法: – 导入并对数据进行可视化

9

内容提要

MATLAB数据处理概要

MATLAB数据处理应用实例

MATLAB优化技术及应用实例

总结

Page 10: Presentation Title - MathWorks · 10 实例: 电池测试数据处理 目标: – 处理电池测试数据,以用于精确的参数估 计和模型建立 方法: – 导入并对数据进行可视化

10

实例: 电池测试数据处理

目标: – 处理电池测试数据,以用于精确的参数估

计和模型建立

方法: – 导入并对数据进行可视化

– 自动执行数据处理流程

– 以不同的形式分享结果

相关工具箱:

– MATLAB

– Statistics Toolbox

0 500 1000 1500 2000 2500 3000 3500 4000 45007.5

8

8.5

9

9.5

10

10.5

Time (s)

Voltage (

V)

Raw Data

0 500 1000 1500 2000 2500 3000 3500 4000 4500-0.01

0

0.01

0.02

0.03

Time (s)

Curr

ent

(Am

p)

0 500 1000 1500 2000 2500 3000 3500 40008

8.5

9

9.5

10

10.5Voltage Data

Time (s)

Voltage

Original Data

Smoothed Data

0 500 1000 1500 2000 2500 3000 3500 4000-0.01

-0.005

0

0.005

0.01

0.015

0.02

0.025

subTime

subC

urr

ent

subCurrent vs. subTime

Excluded subCurrent vs. subTime

untitled fit 1

Page 11: Presentation Title - MathWorks · 10 实例: 电池测试数据处理 目标: – 处理电池测试数据,以用于精确的参数估 计和模型建立 方法: – 导入并对数据进行可视化

11

实例:汽车座椅震动分析

目标 – 确定哪种控制器对于降低座椅震

动最有效

方法 – 对座椅的震动数据进行处理

– 对振动器的性能和稳定性进行分

相关工具箱:

– MATLAB

– Statistics Toolbox

Page 12: Presentation Title - MathWorks · 10 实例: 电池测试数据处理 目标: – 处理电池测试数据,以用于精确的参数估 计和模型建立 方法: – 导入并对数据进行可视化

12

内容提要

MATLAB数据处理概要

MATLAB数据处理应用实例

MATLAB优化技术及应用实例

总结

Page 13: Presentation Title - MathWorks · 10 实例: 电池测试数据处理 目标: – 处理电池测试数据,以用于精确的参数估 计和模型建立 方法: – 导入并对数据进行可视化

13

优化流程

初始设计参数

模型

修正设计参数

最佳设计 目标

No

Yes

Page 14: Presentation Title - MathWorks · 10 实例: 电池测试数据处理 目标: – 处理电池测试数据,以用于精确的参数估 计和模型建立 方法: – 导入并对数据进行可视化

14

优化问题

最小化风险

最大化收益

最大化燃料利用率

Page 15: Presentation Title - MathWorks · 10 实例: 电池测试数据处理 目标: – 处理电池测试数据,以用于精确的参数估 计和模型建立 方法: – 导入并对数据进行可视化

15

引例: 求解一个典型的优化问题

2变量目标函数:

𝑓 𝑥 = log 1 + 3 𝑥2 − 𝑥13 − 𝑥1

2 + 𝑥1 −4

3

2

边界约束:

−2.5 ≤ 𝑥1 ≤ 2.5

−2.5 ≤ 𝑥2 ≤ 2.5

-2

-1

0

1

2

-2

-1

0

1

2

0

2

4

6

Page 16: Presentation Title - MathWorks · 10 实例: 电池测试数据处理 目标: – 处理电池测试数据,以用于精确的参数估 计和模型建立 方法: – 导入并对数据进行可视化

16

引例优化路径

-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

-2-1.5

-1-0.5

00.5

11.5

2

-1

-0.5

0

0.5

1

Objective

Evaluated Pts.

Solver Steps

Page 17: Presentation Title - MathWorks · 10 实例: 电池测试数据处理 目标: – 处理电池测试数据,以用于精确的参数估 计和模型建立 方法: – 导入并对数据进行可视化

17

应用实例: 水力发电厂优化

Spill Flow

Turbine Flow

Project Flow In Flow Reservoir

Storage

Electricity

变量:

涡轮机流量和溢出量

目标:

最大化收益

Page 18: Presentation Title - MathWorks · 10 实例: 电池测试数据处理 目标: – 处理电池测试数据,以用于精确的参数估 计和模型建立 方法: – 导入并对数据进行可视化

18

水力发电厂优化结果

0 5 10 15 20 25 30 35 40 45 5035

40

45

50

55

Time (hrs)

Price (

$/M

Wh)

Electricity Prices

0 5 10 15 20 25 30 35 40 45 500

1000

2000

3000

4000

Flow (CFS)

Tim

e (

hrs

)

Spill and Turbine Flow Rates

Turbine Flow

Spill Flow

Page 19: Presentation Title - MathWorks · 10 实例: 电池测试数据处理 目标: – 处理电池测试数据,以用于精确的参数估 计和模型建立 方法: – 导入并对数据进行可视化

19

投资组合优化—— 二次规划

最大化回报,以风险为约束

minimize − 𝑓𝑇𝑥 𝑠𝑢𝑏𝑗𝑒𝑐𝑡 𝑡𝑜 1

2𝑥𝑇𝐶𝑥 ≤ 𝐶𝑚𝑎𝑥

用 fmincon 内点算法

– 制定分析梯度的目标及约束

𝑔 = −𝑓 (梯度目标函数)

𝑔𝑐 = 𝐶𝑥 (梯度约束)

– 黑森拉格朗日 L = −𝑓𝑇𝑥 + λ(1

2𝑥𝑇𝐶𝑥 − 𝐶𝑚𝑎𝑥)

H = ∇2 L = λC

Page 20: Presentation Title - MathWorks · 10 实例: 电池测试数据处理 目标: – 处理电池测试数据,以用于精确的参数估 计和模型建立 方法: – 导入并对数据进行可视化

20

投资组合优化结果

2 4 6 8 100

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1CVaR Portfolio Weights

2 4 6 8 100

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1Mean-Variance Portfolio Weights

ANAT

CPTS

GEF

IFN

MYGN

HPQ

MDLZ

PG

VZ

XOM

AGG

BLV

BND

CSJ

Page 21: Presentation Title - MathWorks · 10 实例: 电池测试数据处理 目标: – 处理电池测试数据,以用于精确的参数估 计和模型建立 方法: – 导入并对数据进行可视化

21

整数规划

10,,

64

3

44

22

..

321

32

21

321

321

或xxx

xx

xx

xxx

xxx

ts

321 523Max xxxz

Page 22: Presentation Title - MathWorks · 10 实例: 电池测试数据处理 目标: – 处理电池测试数据,以用于精确的参数估 计和模型建立 方法: – 导入并对数据进行可视化

22

整数规划应用案例:生产、仓储、销售物流优化

0 2 4 6 8 10 120

2

4

6

8

10

12

Mapping of sales outlets to warehouses

Factory

Warehouse

Sales outlet

Page 23: Presentation Title - MathWorks · 10 实例: 电池测试数据处理 目标: – 处理电池测试数据,以用于精确的参数估 计和模型建立 方法: – 导入并对数据进行可视化

23

优化工具箱求解器

线性

• LINPROG

• BINTPROG

二次

• QUADPROG

非线性

• FMINCON

• FMINUNC

• FMINBND

• FMINSEARCH

• FSEMINF

最小二乘

• LSQLIN

• LSQNONNEG

• LSQCURVEFIT

• LSQNONLIN

非线性方程求解

• FSOLVE

• FZERO

多目标规划

• FGOALATTAIN

• FMINIMAX

Page 24: Presentation Title - MathWorks · 10 实例: 电池测试数据处理 目标: – 处理电池测试数据,以用于精确的参数估 计和模型建立 方法: – 导入并对数据进行可视化

24

-2

0

2

-3-2

-10

12

3

-6

-4

-2

0

2

4

6

8

x

Peaks

y

全局优化算法

多起点算法

全局搜索

模式搜索

遗传算法

模拟退火算法

Local minima Global

minima

Page 25: Presentation Title - MathWorks · 10 实例: 电池测试数据处理 目标: – 处理电池测试数据,以用于精确的参数估 计和模型建立 方法: – 导入并对数据进行可视化

25

什么是模式搜索?

围绕现存点按照一定模式进行搜索

当没有找到可行解时拓展/

收缩范围

不依赖梯度:适合于平滑和非平滑问题

Page 26: Presentation Title - MathWorks · 10 实例: 电池测试数据处理 目标: – 处理电池测试数据,以用于精确的参数估 计和模型建立 方法: – 导入并对数据进行可视化

26

-3 -2 -1 0 1 2 3-3

-2

-1

0

1

2

3

模式搜索– 第1次迭代 从指定的x0开始执行

x

y

3

Page 27: Presentation Title - MathWorks · 10 实例: 电池测试数据处理 目标: – 处理电池测试数据,以用于精确的参数估 计和模型建立 方法: – 导入并对数据进行可视化

27

-3 -2 -1 0 1 2 3-3

-2

-1

0

1

2

3

模式搜索–第1次迭代 应用模式矩阵, 检验新的点

x

y

3

Mesh size = 1

Pattern vectors = [1,0], [0,1], [-1,0], [0,-1]

0_*_ xvectorpatternsizemeshPnew

0]0,1[*1 x

1.6

0.4

4.6

2.8

First poll successful

Complete Poll (not default)

Page 28: Presentation Title - MathWorks · 10 实例: 电池测试数据处理 目标: – 处理电池测试数据,以用于精确的参数估 计和模型建立 方法: – 导入并对数据进行可视化

28

-3 -2 -1 0 1 2 3-3

-2

-1

0

1

2

3

模式搜索– 第2次迭代

x

y

3

Mesh size = 2

Pattern vectors = [1,0], [0,1], [-1,0], [0,-1]

1.6

0.4

4.6

2.8

-4

0.3 -2.8

Complete Poll

Page 29: Presentation Title - MathWorks · 10 实例: 电池测试数据处理 目标: – 处理电池测试数据,以用于精确的参数估 计和模型建立 方法: – 导入并对数据进行可视化

29

-3 -2 -1 0 1 2 3-3

-2

-1

0

1

2

3

模式搜索– 第3次迭代

x

y

3

Mesh size = 4

Pattern vectors = [1,0], [0,1], [-1,0], [0,-1]

1.6

0.4

4.6

2.8

-4

0.3 -2.8

Page 30: Presentation Title - MathWorks · 10 实例: 电池测试数据处理 目标: – 处理电池测试数据,以用于精确的参数估 计和模型建立 方法: – 导入并对数据进行可视化

30

-3 -2 -1 0 1 2 3-3

-2

-1

0

1

2

3

模式搜索– 第4次迭代

x

y

3

Mesh size = 4*0.5 = 2

Pattern vectors = [1,0], [0,1], [-1,0], [0,-1]

1.6

0.4

4.6

2.8

-4

0.3 -2.8

Page 31: Presentation Title - MathWorks · 10 实例: 电池测试数据处理 目标: – 处理电池测试数据,以用于精确的参数估 计和模型建立 方法: – 导入并对数据进行可视化

31

-3 -2 -1 0 1 2 3-3

-2

-1

0

1

2

3

模式搜索– 第N次迭代 不断拓展或收缩,直到收敛

x

y

3 1.6

0.4

4.6

2.8

-4

0.3 -2.8

-6.5

Page 32: Presentation Title - MathWorks · 10 实例: 电池测试数据处理 目标: – 处理电池测试数据,以用于精确的参数估 计和模型建立 方法: – 导入并对数据进行可视化

32

模式搜索案例– 随机函数

随机目标函数

Page 33: Presentation Title - MathWorks · 10 实例: 电池测试数据处理 目标: – 处理电池测试数据,以用于精确的参数估 计和模型建立 方法: – 导入并对数据进行可视化

33

遗传算法

应用进化生物学的概念

从初始总群开始根据目标函数测试备选方案

通过选择、交叉、变异进化新的种群

Page 34: Presentation Title - MathWorks · 10 实例: 电池测试数据处理 目标: – 处理电池测试数据,以用于精确的参数估 计和模型建立 方法: – 导入并对数据进行可视化

34

遗传算法优化量化交易算法

Bit Position

Indiv

idual in

Popula

tion

1 2 3 4 5 6 7 8 9 10

20

40

60

80

100

120

140

0 500 1000 1500 2000 2500 3000 3500 40002600

2800

3000

3200

3400Evolutionary Learning Resutls, Sharpe Ratio = 15.1

0 500 1000 1500 2000 2500 3000 3500 4000-1000

0

1000

2000

3000Final Return = 2.57e+03 (78.2%)

Position

Cumulative Return

Page 35: Presentation Title - MathWorks · 10 实例: 电池测试数据处理 目标: – 处理电池测试数据,以用于精确的参数估 计和模型建立 方法: – 导入并对数据进行可视化

35

内容提要

MATLAB数据处理概要

MATLAB数据处理应用实例

MATLAB优化技术及应用实例

总结

Page 36: Presentation Title - MathWorks · 10 实例: 电池测试数据处理 目标: – 处理电池测试数据,以用于精确的参数估 计和模型建立 方法: – 导入并对数据进行可视化

36

MATLAB 数据管理及优化技术工具箱架构

Statistics

Symbolic Math Toolbox Optimization/global

Curve Fitting Toolbox Neural Network Toolbox

MATLAB

Parallel Computing MATLAB Distributed Computing Server

Files

Databases

Images

Access

Reporting

Applications

Production

Share

Data Analysis and Visualization

Modeling and Optimization

Application Development

Explore & Discover

Database

Image Acquisition

Spreadsheet Link EX Builder NE

Builder EX

Builder JA

Compiler

Re

po

rt Ge

ne

rato

r

Pro

du

ctio

n S

erv

er

Wavelet Toolbox Partial Differential

Page 37: Presentation Title - MathWorks · 10 实例: 电池测试数据处理 目标: – 处理电池测试数据,以用于精确的参数估 计和模型建立 方法: – 导入并对数据进行可视化

37

MATLAB优化技术tips

广泛的求解器

提供梯度和黑森算法

平滑和非平滑问题的全局求解器

并行计算加速

Page 38: Presentation Title - MathWorks · 10 实例: 电池测试数据处理 目标: – 处理电池测试数据,以用于精确的参数估 计和模型建立 方法: – 导入并对数据进行可视化

38

总结

数据处理和数据分析占据了工程师相当多的工作时间,工程师需要更快、更准的数据处理解决方案

采用交互式的、定制化的数据处理解决方案,可以有效降低重复工作的时间

MATLAB数据处理和优化技术可以在产业研发、生产、销售等环节广泛使用

MATLAB优化技术集成了当前顶级的优化算法,能够解决广泛的优化问题