MATLAB统计应用课程**(第二期) 7 W U4 L: {3 {2 b4 X培训时间:2011-08-06 主讲人:谢中华 软件名称:MATLAB # ]" B; A! Y. q7 b) vMATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。' r; D! O: ~" z0 U
& F- S) F# Z; C
主讲教师:2 j. O8 H! |- L6 h
谢中华,资深MATLAB讲师,10年MATLAB编程经验,MATLAB技术论坛创始人之一,编著书籍《MATLAB统计分析与应用:40个案例分析》。现于天津科技大学数学系任教,长期从事本科生《概率论与数理统计》、《多元统计分析》,硕士研究生《数理统计》,博士研究生《应用数学基础》等课程的教学。谢老师精通MATLAB、SAS、R语言等软件,擅长多种软件协同作战,有着扎实的理论基础和丰富的实战经验。, W" C1 l x c4 T# }* v; _3 N
( Q5 t' h8 Y' e* V0 |* _/ gMATLAB统计应用课程大纲 m4 {# G' \. X# N MATLAB统计应用课程需时三天,该课程提供了对 MATLAB 和Statistics Toolbox中的统计工具的全面介绍。本课程适用于希望对MATLAB数据处理功能做全面了解的中高级用户,课程中包含的众多实例和练习将带您体验MATLAB的高级应用。本课程内容包括:, V$ F* g! w; b8 G
※ 数据文件的读写操作 % }5 R0 N0 `5 P2 t9 s
※ 绘图——数据的可视化2 w$ I& U- x( ?+ X# t% b8 [3 r
※ 数据预处理(平滑处理、标准化变换和极差归一化变换)6 `2 u+ e# H; k4 N5 X8 q
※ 概率分布、随机数及蒙特卡洛模拟6 o1 N4 Q1 |9 J' A; c2 i" k
※ 参数估计 3 J$ I* J- Y# ]※ 假设检验7 {6 \" ~( l8 Q" `8 R0 P+ ~& c
※ 描述性统计量和统计图 9 R" o9 U* E: s) M2 |! N. c
※ 数据分布拟合与检验 0 J/ N9 u8 j/ j) Q/ K※ Copula理论与应用实例 ' [8 g4 ~8 D6 Y) O' @3 W1 z' B& \※ 方差分析1 k7 S4 @# c6 `" d! t/ }
※ 回归分析 , K% R+ B, \: I- n9 s4 a※ 多元统计分析5 o P" [( ?1 l) a% K
※ 制作统计报表 6 W n! q- k1 _' `3 u- z- d
第一天 MATLAB数据处理和可视化 , f1 |) n! Y; \3 A9 _' c* a2 J从TXT文件中读取数据 TXT文件是纯文本文件,本节以TXT文件为例,介绍从文本文件中读取数据的方法。包括界面操作和编程操作。; w" x: w3 V( i+ Z" g% K' n
★ 利用界面操作导入TXT文件 8 h4 i, B7 c# h1 M★ 调用高级函数读取数据 ) J8 b$ m, {" Q, N
1.调用importdata函数读取数据 8 E$ B; l2 m* o# ^ 2.调用load函数读取数据 " o7 T+ c: s r- t 3.调用dlmread函数读取数据6 s2 T5 O. @7 W; K! P7 ^
4.调用textread函数读取数据0 \$ V3 U) e+ [( _- s" N
★ 调用低级函数读取数据 4 o# A& C) j6 T
1.调用fopen函数打开文件 ! O1 t$ x8 Z" P$ {4 B- l |7 }
2.调用fcolse函数关闭文件0 Y2 h9 Y4 r- R
3.调用fseek、ftell、frewind和feof函数控制读写位置1 P: D# g# u3 _; m+ \9 {
4.调用fgets、fgetl函数读取文件的下一行 ; Y1 N9 F# L. w& e* ^ 5.调用textscan函数读取数据 . ?+ M% P2 t0 a9 w# ~4 X
把数据写入TXT文件 本节介绍把数据写入文本文件的方法。 1 u% M/ U) ^, b★ 调用dlmwrite函数写入数据) p' |2 l* g8 S8 b
★ 调用fprintf函数写入数据 6 P% A( r8 @6 u; F" E
从EXCEL文件中读取数据 本节介绍从Excel文件中读取数据的方法。 : P, s7 i) L& |3 G/ q, x: b4 k# R★ 利用界面操作导入Excel文件8 Y5 y1 a$ q9 Q! U# f
★ 调用xlsread函数读取数据 . J- T7 c! S7 o, R2 J
把数据写入EXCEL文件 本节介绍把数据写入Excel文件的方法。8 x, K) {7 a; c5 W
★调用xlswrite函数写数据到Excel文件 # `$ X! l/ A) @, O图形对象与图形对象句柄 在对数据进行计算分析时,图形能非常直观地展现数据所包含的规律,而MATLAB提供了非常丰富的绘图函数,并且能通过多种属性设置绘制出各种各样的图形,本节将对图形对象与图形对象句柄、二维绘图、三维绘图、图形的打印和输出和动画制作等内容作详细介绍。 ' h# ?6 R. { h8 k, L: I★ 图形对象与图形对象句柄 1 j; y3 d @: ]/ z7 H' P 1 句柄式图形对象% U8 m9 n# a" f- Z# L8 T, h* e
2 获取图形对象属性名称和属性值4 I' ~, p$ A9 S. s, \. c
3 设置图形对象属性值( l4 Y( n6 ?' A# p
★ 二维图形绘制 O% p1 [9 c9 Z" N t, \
1 基本二维绘图函数 4 B/ ^* s$ o. e6 W0 \ 2 二维图形修饰和添加注释 ! a _. V/ F: P2 k$ P {1 B. e- r. h: J. B& G 3 常用统计绘图函数 6 K2 { d6 I" b7 E. p3 G
4 特殊二维绘图函数) ^. Q& E- W4 G
★ 三维图形绘制6 G8 E9 S! F3 n3 R/ N# m |
1 常用三维绘图函数' s, P8 c) a2 N
2 三维图形的修饰和添加注释& f. o0 v1 S5 L( Z/ W3 }
★ 图形的打印和输出7 I: A2 m5 V8 ? Z
1 把图形复制到剪贴板3 F( {1 i6 k! w6 {. @
2 把图形导出到文件 . @' n% `" N3 U7 a% p7 [
3 打印图形 / u& \+ \+ i4 u7 U4 I3 w, S★ 动画制作 ' |- |' h, r9 j( r; b7 c& X$ _ 1 彗星运行轨迹动画 ' A/ B" }9 p$ g* L9 i6 H1 a: o% @' v 2 霓虹闪烁动画7 ^' Z# n& h5 M
3 电影动画 / N! t1 z' \2 e8 G1 ~ 4 录制AVI格式视频动画 . ]1 v4 A6 J4 Q2 w5 |4 v. C 5 制作GIF格式动画 + ]4 f2 ?# N: Y3 N: o2 \; | 第二天 MATLAB统计工具箱 % s7 i+ @; P% |: d/ y( t3 Q$ M数据预处理 数据导入到MATLAB之后,通常需要对数据进行一些预处理,例如平滑处理(或去噪)、标准化变换和极差归一化变换等。本节介绍数据预处理的MATLAB实现。 ' v7 _! H; o! l: ], H w+ j: c
★ 数据的平滑处理 , [% o6 \3 h2 x7 M★ 数据的标准化变换) T5 _8 b. Q9 S2 V9 T/ J
★ 数据的极差归一化变换 4 M: q1 a) q3 x" X- W
分布、随机数及蒙特卡洛模拟 本节主要介绍统计工具箱中产生不同概率分布的函数功能,以及产生各种分布随机数,以及基于随机数的蒙特卡洛模拟。 & C$ f0 {+ V+ {★ 概率分布 + z! ]7 d* D) y {2 w/ e
★ 统计工具箱中的分布 & Z* n& L' X7 R3 i/ B: K★ 产生随机数 9 E- S% R( {, E4 u' Q4 h
★ 随机数流 1 d7 q8 i2 U- } M7 S+ w
★ 任意分布的随机数 8 j9 ^5 A: P) g5 E+ P" t3 A; C( V
★ 蒙特卡洛(Monte Carlo)模拟 ' b2 N4 y1 t$ c3 i: e参数估计与假设检验 本节以案例形式介绍参数估计和假设检验这两种重要的统计推断形式。主要内容包括:) Q; e: d! D$ ]. H5 q
★ 常见分布的参数估计! i# D9 N2 X3 M8 V4 S8 H$ q
★ 正态总体参数的检验1 h, o: b4 ?" `# p5 G1 {7 e
★ 计算描述性统计量 & C1 x' n% s% w7 V. W★ 统计图 ) @- o7 ]% F0 J4 s% s★ 分布的拟合与检验; {8 }6 q* d. c* X! z$ w: f
★ 核密度(kernel density)估计 ; ? G8 u0 g- @* c! j% P
Copula理论及应用实例 通常由随机变量的联合分布可以确定各自的边缘分布,然而由边缘分布却很难确定联合分布。在给定几个随机变量的边缘分布的情况下,如何确定它们的联合分布便成了一个非常重要的问题。Copula概念的提出及其理论的完善,使得这一问题得到了解决。本节结合具体案例介绍Copula模型的构建方法。 5 r' j+ H0 O) V: p1 M★ 常用的Copula函数* M+ s0 @2 B n
★ Copula函数与相关性度量 F# s' C- J) U+ c0 c★ 沪深股市日收益率的二元Copula模型 ! P4 d# l5 i- W$ @. \+ s. i' h! b5 d方差分析 在生产实践和科学研究中,经常要研究生产条件或试验条件的改变对产品的质量和产量有无影响。如在农业生产中,需要考虑品种、施肥量、种植密度等因素对农作物收获量的影响;又如某产品在不同的地区、不同的时期,采用不同的销售方式,其销售量是否有差异。在诸影响因素中哪些因素是主要的,哪些因素是次要的,以及主要因素处于何种状态时,才能使农作物的产量和产品的销售量达到一个较高的水平,这就是方差分析所要解决的问题。本节内容包括:1 O) x. c# f6 p; n7 g
★ 单因素一元方差分析+ Y. ^3 G4 E1 l$ @
★ 双因素一元方差分析 / U0 W# Q1 m- }8 A( S★ 多因素一元方差分析 - o0 b2 x. ~/ y5 ~- j, x★ 多元方差分析 6 v+ g$ s& F7 D$ X# L★ Kruskal-Wallis单因素方差分析: E9 F' @+ G& q _, O9 V3 m. E- U
★ Friedman秩方差分析 1 u) D' A% b; t F
第三天 MATLAB统计工具箱 1 h5 h+ B$ x6 ~8 u" V回归分析 本节讨论如何对双变量数据集进行线性和非线性拟合。 ) _) P0 e2 E. @; z* o0 J★ 散点图 , F' h1 v l4 g3 `★ 相关系数和协方差 # d- w; @2 ~3 \ l) G★ 线性模型 . F0 Q3 T, p1 L$ O
★ 非线性模型 " w4 k7 p% h; i0 ]多元统计分析 本节扩展了前面章节的内容到包含多个变量的数据集,介绍多变量分析和显示的专用方法。1 r3 y3 `5 e* e: S
★ 多变量绘图 + {! a: E% `4 H7 v5 a1 c0 p9 k★ 聚类分析 i ]2 p1 {# `3 [★ 判别分析' \+ Y4 L1 d8 `2 h8 Q: @* O e
★ 主成分分析(或主分量分析) e1 U) Y; ]1 y★ 因子分析 9 N' v& p; | l# D
制作统计报表 利用MATLAB制作统计报告或报表是一件非常有意义的事情,本节以案例形式详细介绍利用MATLAB生成Word和Excel文档。 u4 q- F% D/ g* k
★ 利用MATLAB生成Word文档% `: s/ p5 M- I" o& E3 n
★ 利用MATLAB生成Excel文档 7 P( F9 z& [- K3 N8 s