Upload
others
View
10
Download
0
Embed Size (px)
Citation preview
1© 2017 The MathWorks, Inc.
MATLAB 基础入门
许悦伊
MathWorks 中国
2
主要内容
▪ MATLAB 介绍
▪ MATLAB 矩阵运算
▪ MATLAB数据可视化
▪ MATLAB 函数和实时编辑器
▪ MATLAB 与深度学习
▪ MATLAB 学习工具与资源
3
MATLAB 介绍
4
MATLAB 是什么?
MATLAB®是一种用于算法开发、数据可视化、数据分析以及数值计算的科学计算语言和编程环境。全球数以百万计的工程师和科学家使用 MATLAB®来分析和设计可改变世界的系统和
产品。
5
Kalman Filter
Predicted state and covariance
Estimation
Estimated state and covariance
Estimated measurements
1. MATLAB 精通数学
6
2. MATLAB 为工程师和科学家设计
Files
Software
Hardware
Access
Code & Applications
Reporting and
Documentation
Outputs for Design
Deployment
Share
7
3. MATLAB 工具箱得心应手
8
4. MATLAB 具有交互式应用
9
5. MATLAB 集成工作流程
VHDL/Verilog
C, C++
PLC
1,000+ 款硬件器件
自动代码生成
10
6. MATLAB 迅速高效
快速3D 数据并行计算
11
7. MATLAB 备受信任
每天100- 200 万次测试
12
为什么是 MATLAB?
MATLAB
是工程师和科学家最易用、并且最高效的开发平台
13
最新版本:MATLAB 2018a
14
MATLAB
矩阵运算
15
MATLAB 客户端界面
16
MATLAB 中的数据结构
Array(数组):
包含多个值的变量(任意长度,任意维度)
Matrix(矩阵):
数值型 2-D array (m-by-n)
Vector(向量):
1-D array (1-by-n or m-by-1)
Scalar(标量):
单个值
17
MATLAB 中的数据类型
分类型 函数句柄型 逻辑型
数值型时间型
异构型和字符型
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]
19
MATLAB 矩阵计算
▪ 矩阵化的数据访问
20
*
m-by-n n-by-p m-by-p
MATLAB 矩阵计算
▪ 矩阵乘法
21
▪ 矩阵点乘法
MATLAB 矩阵计算
▪ 类似情况:^ 与 .^, / 与 ./。
22
▪ 向量化操作的内置函数
MATLAB 矩阵计算
23
示例演示
▪ 矩阵与数组– MATLAB 帮助文档 > MATLAB 入门> 矩阵和数组
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;
25
MATLAB 命令行
检索重用
26
MATLAB 文本编辑器
脚本编辑
27
MATLAB 编程
▪ 判断分支
28
MATLAB 编程
▪ 循环
for-loops 遍历
while-
loops条件判断
29
MATLAB
数据可视化
30
矩阵可视化
surf(z)
31
数据绘图
✓ Automatic code
32
Plot 绘图工具
Axis labels -2Units -1
4/10
更改属性
选择绘制组件添加绘制元素
33
示例演示
▪ 2D 和 3D 绘图– MATLAB 帮助文档 > MATLAB入门> 二维图和三维图
34
MATLAB
函数和实时编辑器
35
为什么要用函数?
script1.m script2.mWorkspace
管理代码管理变量
36
MATLAB 函数
42
0.7623
foo.m
BlackBox™
37
示例演示
▪ 脚本 vs. 函数– MATLAB 帮助文档 > 脚本和函数的编程> 编程基础知识> 脚本与函数
38
实时编辑器
39
示例演示
▪ 实时脚本– MATLAB 帮助文档 > 脚本和函数的编程> 编程基础知识> 脚本与函数> 在实时编辑器中创建实时脚本
40
MATLAB
与深度学习
41
什么是深度学习?
42
深度学习是机器学习的一种,在这种机器学习中,模型学习直接从图像、文本或声音中执行分类任务。
深度学习通常是使用神经网络架构实现的。
“深度”一词指的是网络中层次的数量——层次越多,网络越深。
43
为什么要进行深度学习?
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
45
为什么深度学习这么火?
Source: ILSVRC Top-5 Error on ImageNet
Human
Accuracy
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
47
传统机器学习和深度学习的区别
深度学习通过从图像、文本和声音中直接学习特性、表示和任务来完成端到端的学习
Machine Learning
Deep Learning
48
示例: 使用深度学习的对象识别
训练(GPU)
1000种不同分类的图片
预测 用电脑自带摄像头实施目标识别
https://cn.mathworks.com/matlabcentral/fileexchange/60659-deep-learning-in-11-lines-
of-matlab-code
49
MATLAB
学习工具与资源
50
玩转帮助文档
help
doc
docsearch
search
browse
52
MATLAB 产品主页
53
视频与网上研讨会
54
答疑解惑:用户社区