54
1 © 2017 The MathWorks, Inc. MATLAB 基础入门 许悦伊 MathWorks 中国

MATLAB 基础入门 - ilovematlab

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: MATLAB 基础入门 - ilovematlab

1© 2017 The MathWorks, Inc.

MATLAB 基础入门

许悦伊

MathWorks 中国

Page 2: MATLAB 基础入门 - ilovematlab

2

主要内容

▪ MATLAB 介绍

▪ MATLAB 矩阵运算

▪ MATLAB数据可视化

▪ MATLAB 函数和实时编辑器

▪ MATLAB 与深度学习

▪ MATLAB 学习工具与资源

Page 3: MATLAB 基础入门 - ilovematlab

3

MATLAB 介绍

Page 4: MATLAB 基础入门 - ilovematlab

4

MATLAB 是什么?

MATLAB®是一种用于算法开发、数据可视化、数据分析以及数值计算的科学计算语言和编程环境。全球数以百万计的工程师和科学家使用 MATLAB®来分析和设计可改变世界的系统和

产品。

Page 5: MATLAB 基础入门 - ilovematlab

5

Kalman Filter

Predicted state and covariance

Estimation

Estimated state and covariance

Estimated measurements

1. MATLAB 精通数学

Page 6: MATLAB 基础入门 - ilovematlab

6

2. MATLAB 为工程师和科学家设计

Files

Software

Hardware

Access

Code & Applications

Reporting and

Documentation

Outputs for Design

Deployment

Share

Page 7: MATLAB 基础入门 - ilovematlab

7

3. MATLAB 工具箱得心应手

Page 8: MATLAB 基础入门 - ilovematlab

8

4. MATLAB 具有交互式应用

Page 9: MATLAB 基础入门 - ilovematlab

9

5. MATLAB 集成工作流程

VHDL/Verilog

C, C++

PLC

1,000+ 款硬件器件

自动代码生成

Page 10: MATLAB 基础入门 - ilovematlab

10

6. MATLAB 迅速高效

快速3D 数据并行计算

Page 11: MATLAB 基础入门 - ilovematlab

11

7. MATLAB 备受信任

每天100- 200 万次测试

Page 12: MATLAB 基础入门 - ilovematlab

12

为什么是 MATLAB?

MATLAB

是工程师和科学家最易用、并且最高效的开发平台

Page 13: MATLAB 基础入门 - ilovematlab

13

最新版本:MATLAB 2018a

Page 14: MATLAB 基础入门 - ilovematlab

14

MATLAB

矩阵运算

Page 15: MATLAB 基础入门 - ilovematlab

15

MATLAB 客户端界面

Page 16: MATLAB 基础入门 - ilovematlab

16

MATLAB 中的数据结构

Array(数组):

包含多个值的变量(任意长度,任意维度)

Matrix(矩阵):

数值型 2-D array (m-by-n)

Vector(向量):

1-D array (1-by-n or m-by-1)

Scalar(标量):

单个值

Page 17: MATLAB 基础入门 - ilovematlab

17

MATLAB 中的数据类型

分类型 函数句柄型 逻辑型

数值型时间型

异构型和字符型

Page 18: MATLAB 基础入门 - ilovematlab

18

手动创建数组

19 13 7 11 2 17 5 3

19

13

7

11

2

17

5

3

>> x = [19 13 7 11 2 17 5 3]

>> x = [19;13;7;11;2;17;5;3]

Page 19: MATLAB 基础入门 - ilovematlab

19

MATLAB 矩阵计算

▪ 矩阵化的数据访问

Page 20: MATLAB 基础入门 - ilovematlab

20

*

m-by-n n-by-p m-by-p

MATLAB 矩阵计算

▪ 矩阵乘法

Page 21: MATLAB 基础入门 - ilovematlab

21

▪ 矩阵点乘法

MATLAB 矩阵计算

▪ 类似情况:^ 与 .^, / 与 ./。

Page 22: MATLAB 基础入门 - ilovematlab

22

▪ 向量化操作的内置函数

MATLAB 矩阵计算

Page 23: MATLAB 基础入门 - ilovematlab

23

示例演示

▪ 矩阵与数组– MATLAB 帮助文档 > MATLAB 入门> 矩阵和数组

Page 24: MATLAB 基础入门 - ilovematlab

24

MATLAB 矩阵运算

▪ >> x=A\b;

▪ 可用来求解线性方程组Ax=b

𝑎11 𝑎12 … 𝑎1𝑛𝑎21 𝑎22 … 𝑎2𝑛⋮ ⋮ ⋱ ⋮𝑎𝑛1 𝑎𝑛2 … 𝑎𝑛𝑛

𝑥1𝑥2⋮𝑥𝑛

=

𝑏1𝑏2⋮𝑏𝑛

▪ 示例:A=[1 2 1;2 -1 3;3 1 2];

b=[7;7;18];

x=A\b;

Page 25: MATLAB 基础入门 - ilovematlab

25

MATLAB 命令行

检索重用

Page 26: MATLAB 基础入门 - ilovematlab

26

MATLAB 文本编辑器

脚本编辑

Page 27: MATLAB 基础入门 - ilovematlab

27

MATLAB 编程

▪ 判断分支

Page 28: MATLAB 基础入门 - ilovematlab

28

MATLAB 编程

▪ 循环

for-loops 遍历

while-

loops条件判断

Page 29: MATLAB 基础入门 - ilovematlab

29

MATLAB

数据可视化

Page 30: MATLAB 基础入门 - ilovematlab

30

矩阵可视化

surf(z)

Page 31: MATLAB 基础入门 - ilovematlab

31

数据绘图

✓ Automatic code

Page 32: MATLAB 基础入门 - ilovematlab

32

Plot 绘图工具

Axis labels -2Units -1

4/10

更改属性

选择绘制组件添加绘制元素

Page 33: MATLAB 基础入门 - ilovematlab

33

示例演示

▪ 2D 和 3D 绘图– MATLAB 帮助文档 > MATLAB入门> 二维图和三维图

Page 34: MATLAB 基础入门 - ilovematlab

34

MATLAB

函数和实时编辑器

Page 35: MATLAB 基础入门 - ilovematlab

35

为什么要用函数?

script1.m script2.mWorkspace

管理代码管理变量

Page 36: MATLAB 基础入门 - ilovematlab

36

MATLAB 函数

42

0.7623

foo.m

BlackBox™

Page 37: MATLAB 基础入门 - ilovematlab

37

示例演示

▪ 脚本 vs. 函数– MATLAB 帮助文档 > 脚本和函数的编程> 编程基础知识> 脚本与函数

Page 38: MATLAB 基础入门 - ilovematlab

38

实时编辑器

Page 39: MATLAB 基础入门 - ilovematlab

39

示例演示

▪ 实时脚本– MATLAB 帮助文档 > 脚本和函数的编程> 编程基础知识> 脚本与函数> 在实时编辑器中创建实时脚本

Page 40: MATLAB 基础入门 - ilovematlab

40

MATLAB

与深度学习

Page 41: MATLAB 基础入门 - ilovematlab

41

什么是深度学习?

Page 42: MATLAB 基础入门 - ilovematlab

42

深度学习是机器学习的一种,在这种机器学习中,模型学习直接从图像、文本或声音中执行分类任务。

深度学习通常是使用神经网络架构实现的。

“深度”一词指的是网络中层次的数量——层次越多,网络越深。

Page 43: MATLAB 基础入门 - ilovematlab

43

为什么要进行深度学习?

Page 44: MATLAB 基础入门 - ilovematlab

44

深度学习的多样化应用

虹膜识别 —— 99.4% 准确率1

1. Source: An experimental study of deep convolutional features for iris recognition Signal Processing in Medicine and Biology Symposium (SPMB), 2016 IEEE

Shervin Minaee ; Amirali Abdolrashidiy ; Yao Wang; An experimental study of deep convolutional features for iris recognition

2. "A Real-Time Pedestrian Detector using Deep Learning for Human-Aware Navigation" David Ribeiro, Andre Mateus, Jacinto C. Nascimento, and Pedro Miraldo

3. Deep Joint Rain Detection and Removal from a Single Image" Wenhan Yang, Robby T. Tan, Jiashi Feng, Jiaying Liu, Zongming Guo, and Shuicheng Yan

机器人的人类感知导航2

雨的检测与移除3

MatConvnet

MatCaffe

MatConvnet

Page 45: MATLAB 基础入门 - ilovematlab

45

为什么深度学习这么火?

Source: ILSVRC Top-5 Error on ImageNet

Human

Accuracy

Page 46: MATLAB 基础入门 - ilovematlab

46

深度学习的推进者

• 海量标签数据

• GPUs 加速性能

• 可获得专家训练出的顶级深度模型

AlexNetPRETRAINED MODEL

CaffeM O D E L S

ResNet PRETRAINED MODEL

TensorFlow/Keras M O D E L S

VGG-16PRETRAINED MODEL

GoogLeNet PRETRAINED MODEL

Page 47: MATLAB 基础入门 - ilovematlab

47

传统机器学习和深度学习的区别

深度学习通过从图像、文本和声音中直接学习特性、表示和任务来完成端到端的学习

Machine Learning

Deep Learning

Page 48: MATLAB 基础入门 - ilovematlab

48

示例: 使用深度学习的对象识别

训练(GPU)

1000种不同分类的图片

预测 用电脑自带摄像头实施目标识别

https://cn.mathworks.com/matlabcentral/fileexchange/60659-deep-learning-in-11-lines-

of-matlab-code

Page 49: MATLAB 基础入门 - ilovematlab

49

MATLAB

学习工具与资源

Page 50: MATLAB 基础入门 - ilovematlab

50

玩转帮助文档

help

doc

docsearch

search

browse

Page 51: MATLAB 基础入门 - ilovematlab

51

资源宝藏:MathWorks 官网

▪ cn.mathworks.com

▪ 注册 MathWorks 账户

▪ 关联全校板 License

Page 52: MATLAB 基础入门 - ilovematlab

52

MATLAB 产品主页

Page 53: MATLAB 基础入门 - ilovematlab

53

视频与网上研讨会

Page 54: MATLAB 基础入门 - ilovematlab

54

答疑解惑:用户社区