数学建模社区-数学中国
标题:
MATLAB应用大全 书连载
[打印本页]
作者:
lili456
时间:
2012-5-28 11:00
标题:
MATLAB应用大全 书连载
程序员典藏大系
( I0 K2 }1 }4 I. g( x9 e" C4 F
1 Q* d4 J o, g* |
MATLAB应用大全
0 ]9 R* Q( p7 Z# b* a2 ^: }- N" I
' e7 O+ ]; n- T5 G) l
赵海滨 等编著
- f) G( }4 a2 C) S% O
$ N! K! L" T5 N% ~) }
, B: c) ?$ w+ k" j8 v* B5 _
( r. i# q, _) ~0 B3 f
7 F* r% A4 C& I3 w! ^# |
) {4 m& y+ ~* v/ @9 o9 b5 _1 x
3 i; o# G. Y: I3 K, Z2 L
. q0 C! n' F8 g0 R1 ^- v" \/ \
+ ~' W7 H& u) h
! t: [6 p0 d: Q0 q5 P
- Q/ K* z8 M2 v! i4 Y
6 A" G+ u$ x) V3 {* B* b5 x, }
, u( A% A4 a9 z
+ t. _) G& R+ v0 j- O3 D# I/ j& v
6 Y- y9 C, Z8 v1 [
7 Q f; }2 o! w# U2 ^! P" k+ s
4 `4 K3 b5 N+ `, C( U/ n( M8 ]
6 k2 q! Q4 N; g# m+ I4 |
清 华 大 学 出 版 社
$ q; f O* l2 T x X! z2 J
北 京
0 L9 Y! H! U. J" k6 P3 a
内 容 简 介
! r4 l3 o% U0 w* d2 m
本书由浅入深,全面、系统地介绍了MATLAB编程和开发的方方面面。书中的每章都提供了大量有针对性的实例,供读者实战演练。另外,为了帮助读者更高效、直观地学习,本书每章重点内容都专门录制了对应的教学视频。这些视频和本书所有的实例文件一起收录于配书DVD光盘中。
4 `# \3 e9 h& c/ n2 J
全书共23章,分为7篇。基础篇介绍了MATLAB基础、数组和矩阵分析、字符串分析;科学运算篇介绍了MATLAB数据分析、积分和微分运算、概率和数理统计、符号计算;数据可视化篇介绍了二维和三维数据的可视化;编程篇介绍了MATLAB基本编程、程序调试和编程技巧;仿真篇介绍了Simulink基本知识、Simulink建模和S-函数;高级应用篇介绍了GUI编程开发、GUIDE工具建立GUI界面、文件夹管理和文件I/O操作、MATLAB编译器;工具箱与接口编程篇介绍了信号处理、小波分析、图像处理、神经网络4个工具箱,最后还介绍了MATLAB与Word和Excel的接口技术。
8 _; X+ U( N$ V# v9 `
无论是对于MATLAB的初学者,还是有一定基础的高级用户,本书都是一本难得的参考书。本书非常适合使用MATLAB进行编程和开发的本科生、研究生及教师,也适合广大科研和工程技术人员研读。
/ ?" Z3 M. K% m$ Z1 F; x
7 E1 ~6 }! j+ N" N) P3 |
本书封面贴有清华大学出版社防伪标签,无标签者不得销售。
9 n. W5 g; m( H* V
版权所有,侵权必究。侵权举报电话:010-62782989 13701121933
8 D' q3 V" |9 b" m }% K
- b6 d: U8 E6 e
) t ^7 J) C- Q0 ^ Q0 @
图书在版编目(CIP)数据
9 ]/ s+ N; u; _: _, v4 i
4 n7 T( G6 i' L0 [
MATLAB应用大全 / 赵海滨等编著. —北京:清华大学出版社,2012.3
* X2 O4 E+ t3 G
ISBN 978-7-302-27616-6
3 [/ x% q$ p2 M) \5 h
( Q# E+ p1 n( A, ?* Q+ Z' i
Ⅰ. ①M… Ⅱ. ①赵… Ⅲ. ①Matlab软件 Ⅳ. ①TP317
! ~6 h, p$ U3 @% E Z( w
: V) ~& @" N+ a& E$ y" T! S' e& o
中国版本图书馆CIP数据核字(2011)第271712号
4 n9 \1 z6 l3 v8 Y0 L
$ j5 u8 k$ M1 A1 i4 v! o
责任编辑:夏兆彦
8 F. [. {4 u% n1 Y7 @, ? I) v
责任校对:徐俊伟
! f u3 g9 s% l* _! _
责任印制:
* Q5 O1 {$ T' z* x4 ?, F
8 `, q+ r( i& k- x, F; F
出版发行:清华大学出版社
3 b- _. a- c8 v' J* H7 W8 b% a$ P g. p
网 址:
http://www.tup.com.cn
,
http://www.wqbook.com
, o$ w4 W& O7 h
地 址:北京清华大学学研大厦A座 邮 编:100084
1 i. Q3 O% D' D/ [! ~ C" [. W) ?
社 总 机:010-62770175 邮 购:010-62786544
9 b8 p+ D6 Z. l, v1 h
投稿与读者服务:010-62776969,
c-service@tup.tsinghua.edu.cn
3 v7 x3 A1 A( O* W- |0 ~4 r4 o
质量反馈:010-62772015,
zhiliang@tup.tsinghua.edu.cn
4 }+ f) g* K( b' X6 O; d* L
印 刷 者:
' L5 P* D- ]/ S/ _ `' O5 i
装 订 者:肖 米
& _3 {0 G0 x. l# \! C& I# t, R* }
经 销:全国新华书店
) s4 x u' k" G0 g& ?
开 本:185mm×260mm 印 张:46.75 字 数:1170千字
( I4 M% }3 o& v! Z$ J2 G! m
(附光盘1张)
! x; I1 i7 b- f+ b
版 次:2012年3月第1版 印 次:2012年3月第1次印刷
5 @* B4 m# g+ H, y5 \
印 数:1~5000
# X* t2 Q: L3 ?/ M3 Y1 P I
定 价:25.00元
! S q! _& l, r' B( _
产品编号:043740-01
3 V0 k* b8 |; T E; l$ `; Q4 ], |
7 _4 O. L j- I
当当地址:
http://product.dangdang.com/product.aspx?product_id=22704305
作者:
lili456
时间:
2012-5-28 11:02
目 录
/ k* [: I/ J% H& p( C: D9 u! ~
第1篇 MATLAB基础
( U: w- l9 @- r5 x
第1章 MATLAB概述( 教学视频:15分钟) 2
* c# k' ^, d1 \
1.1 MATLAB简介 2
, t' \" j: t# ~+ I) o3 M+ `
1.2 MATLAB的特点 2
! e3 ~; f1 @5 V3 x3 I7 P7 Z( V# w- }
1.2.1 界面友好,容易使用 2
3 n' T" b4 M: A6 l% i( @6 b
1.2.2 强大的科学计算和数据处理能力 3
2 d( a! ?7 _4 f3 X; h
1.2.3 强大的图形处理功能 3
. l- r% _4 s* A6 B5 w9 r
1.2.4 应用广泛的专业领域工具箱 3
& c L0 d% b% G+ q( S
1.2.5 实用的程序接口 3
* u' B6 x3 d8 v
1.3 MATLAB 2010a的新功能和特点 4
7 K: `" u$ C P$ w
1.4 MATLAB的安装、退出及卸载 4
2 C, H! Y8 v/ [! P! k6 _- ]8 y
1.4.1 MATLAB的安装 4
3 R1 m" b0 G! ?9 r0 w: ?
1.4.2 MATLAB的启动和退出 8
3 V% ]4 t2 G: E& C- P$ Y
1.4.3 MATLAB的卸载 9
7 |6 _+ m7 H8 D$ C
1.5 MATLAB的目录结构 10
" Z0 e0 ]4 Q' k7 c p* v1 N
1.6 MATLAB的工作环境 11
9 J \* u. `! m. a
1.7 MATLAB的通用命令简介 16
+ {; o- i! f$ G% Z$ u4 E# f2 F2 p+ P
1.8 MATLAB的工具箱简介 17
( B" h7 C$ u, ]. I
1.9 MATLAB的帮助系统 18
5 a$ P( `" V- R0 O! L! V& E
1.9.1 命令行窗口查询帮助 18
2 V$ V s/ Y, A% b
1.9.2 MATLAB 2010a联机帮助系统 20
K5 M- v8 g3 p2 `2 C
1.10 本章小结 21
2 i# o! Z8 c$ ?7 y1 r/ p0 g* b
第2章 MATLAB基础( 教学视频:78分钟) 22
3 X# b1 H- n2 Q% q! N
2.1 数据类型 22
" M* Z2 D8 C9 D5 ]( s$ b O+ f
2.1.1 数值类型 23
% k* P! @- `" l4 s0 u
2.1.2 逻辑类型 31
8 z1 y( u e' Y2 W3 D4 \
2.1.3 字符和字符串 32
$ Y6 I0 s8 d) C7 d
2.1.4 函数句柄 33
, J7 g- M' J+ t7 c) W2 d
2.1.5 单元数组类型 35
. D$ ~: Z: E5 H: U
2.1.6 结构体类型 39
) D, u% z& H2 ]/ w
2.2 运算符 46
% R0 Q2 F( D; q" V+ ?
2.2.1 算术运算符 46
D+ B7 h( C5 _5 I4 ?" ^" W
2.2.2 关系运算符 47
O+ d4 z, v0 D6 v( `2 P6 Q& u
2.2.3 逻辑运算符 48
3 @( m0 ?% h2 p( ~; S k7 ?# }1 \
2.2.4 运算优先级 52
" a. W( g6 j) j8 F0 {
2.3 日期和时间 53
* [5 Y: A+ A' p. l
2.3.1 日期和时间的表示形式 53
* F* [/ I% ~5 @) Q6 B" I& X
2.3.2 日期和时间的格式转换 55
. [& c/ d2 u Y
2.3.3 计时函数及其应用 58
# d0 o) A% ?4 g( V4 O$ G) y/ y3 R
2.4 MATLAB中的常量和变量 60
# i% l+ Q2 U7 H7 j5 w3 P
2.5 本章小结 60
' ]9 M+ r) z& L6 ^9 A
第3章 数组和矩阵分析( 教学视频:160分钟) 61
5 u* H2 R) g. J- Q
3.1 数组及其函数 61
' J; R# D. g0 ]+ _9 W5 ~
3.1.1 数组的建立和操作 61
+ z4 X3 }2 d+ @" l. R; I2 F
3.1.2 数组的算术运算 65
% i) d' M- D- g- |* v6 E
3.1.3 数组的关系运算 68
* b+ X z' h$ j; J/ k3 F, l
3.1.4 数组的逻辑运算 70
; x" U2 b5 j7 E) [2 v( S3 N
3.1.5 数组信息的获取 71
) N- W+ ^" A9 a5 E' n
3.2 矩阵的创建 75
# y" F" n9 f' o" o b
3.3 矩阵的基本操作 79
1 W$ ~, S- i1 [6 z2 ]3 O- k. O; o+ w
3.3.1 矩阵的扩展 79
1 `1 u) Q$ `( T8 ^9 a* N: v9 o
3.3.2 矩阵的块操作 80
z% e6 n$ S7 A7 @6 q
3.3.3 矩阵中元素的删除 82
- H# }5 _& [, ]# x
3.3.4 矩阵的转置 82
q% y% j) q9 g- \- V7 F+ ]
3.3.5 矩阵的旋转 83
4 u8 c# ?1 x# c
3.3.6 矩阵的翻转 84
( d) M* h3 Y. g% o: R% J
3.3.7 矩阵尺寸的改变 85
" `; P9 j$ n' H+ m; Y9 [
3.4 矩阵的基本数值运算 85
7 P8 u% {5 [8 ]7 ~$ R- e% `
3.4.1 矩阵的加减运算 85
4 i' v' {7 v- P5 W
3.4.2 矩阵的乘法 86
* X& G2 ?, K0 j/ Y
3.4.3 矩阵的除法 87
, @, \% Z! Y m; i! O
3.4.4 矩阵元素的查找 89
! e( K& _; d# @& _. T+ s; P
3.4.5 矩阵元素的排序 89
7 O+ O5 ]) F) @/ A. ~5 O7 ?
3.4.6 矩阵元素的求和 90
( A Y( u5 V/ }! E8 y0 s6 k% V
3.4.7 矩阵元素的求积 91
9 @% q# C. ?' A
3.4.8 矩阵元素的差分 92
: j6 Q8 X3 N8 D' \ g- I1 w' E# v* e
3.5 特殊矩阵的生成 93
4 Y7 p% s) |( j
3.5.1 全零矩阵 93
( x- T4 }5 @2 m1 z4 f% O
3.5.2 全1矩阵 94
5 q Z: q: L. A% ^" j) d8 \
3.5.3 单位矩阵 94
4 }+ }2 ?& h: h n
3.5.4 0~1间均匀分布的随机矩阵 95
4 Y6 \8 k/ l) f' U l
* b2 X c3 Q; z9 _+ C5 }5 i" O
作者:
lili456
时间:
2012-5-28 11:07
3.5.5 标准正态分布随机矩阵 95
6 b$ D6 m/ m5 W U* P
3.5.6 魔方矩阵 96
" h; n, a9 d% T* _
3.5.7 范得蒙矩阵 96
- W% A: e6 O( y) }- i- n7 I8 {
3.5.8 希尔伯特矩阵 97
* p0 b) Z/ x- R, g- x- Y
3.5.9 托普利兹矩阵 98
K7 s/ ^: g. A- W7 A
3.5.10 伴随矩阵 98
& ], @# N( u7 m' T% f
3.5.11 帕斯卡矩阵 99
& f$ `% Y5 Z/ z d$ n
3.6 矩阵的特征和线性代数 100
/ q) ]0 R4 i# w0 h$ w
3.6.1 方阵的行列式 100
1 H$ s5 b/ u+ j! S# K
3.6.2 特征值、特征向量和特征多项式 100
" X3 ^: A/ ^1 O* n, C
3.6.3 对角阵 102
2 z! E) X$ r$ E9 u& D
3.6.4 上三角阵和下三角阵 102
" L! J" ]/ a! y' `# F
3.6.5 矩阵的逆和伪逆 103
4 o) {4 H3 h1 O& U
3.6.6 矩阵的秩 104
; t9 v6 c/ o/ p; j1 h8 k
3.6.7 矩阵的迹 105
9 M, h7 j, L6 L$ [( Q4 B
3.6.8 矩阵的范数 105
: @& ?: o# c7 U7 S# h
3.6.9 矩阵的条件数 106
- R# d/ S0 m; a4 @" ]
3.6.10 矩阵的标准正交基 107
3 G4 q# I( m2 r3 \; Z9 M8 I
3.6.11 矩阵的超越函数 108
% E+ F; \! p/ h8 d+ T( w
3.7 稀疏矩阵 111
1 `: z! i5 [5 m) U
3.7.1 矩阵存储方式 111
5 y/ i$ C/ S/ }% [/ o2 T0 c, z
3.7.2 产生稀疏矩阵 111
3 ?* h, k$ q7 N/ w
3.7.3 特殊稀疏矩阵 115
3 M2 j1 z6 ^' ~, m3 X
3.8 矩阵的分解 117
9 v; s" f8 T( H: Q/ G. S, l2 B
3.8.1 Cholesky分解 117
# r& b# H X( I: M f) D
3.8.2 LU分解 118
, M7 _. W* i7 ]0 x5 t
3.8.3 QR分解 119
! t* s8 O9 v. K' `- t# s! z
3.8.4 SVD分解 120
$ g( E7 P$ p2 [ O) V
3.8.5 Schur分解 121
3 r% b& N9 }* a, A7 ~( C( `
3.8.6 Hessenberg分解 122
p3 }" z; d) N- Z/ A' h
3.9 本章小结 123
+ U4 j6 i' c: ~" {: R7 T
第4章 字符串分析( 教学视频:19分钟) 124
9 u4 |7 J2 T6 f* R
4.1 字符串处理函数 124
+ M6 U8 ^, t) D
4.1.1 字符串基本属性 124
& w. i+ T0 [ j' L" T
4.1.2 字符串的构造 125
$ `. C0 k' }# H4 h: ^& h
4.1.3 字符串的比较 127
, b. F7 W: P8 ^$ ^7 n6 @
4.1.4 字符串的查找和替换 128
+ D# a& a7 W" e6 B' G! u/ f
4.1.5 字符串的转换 130
& D/ j' _$ c3 Q. a" g1 K0 p
4.2 字符串的其他操作 131
6 l+ a2 C& @9 o# t
4.2.1 字符的分类 131
; M* j) \* d4 T6 t# ~1 c) ]
4.2.2 字符串的执行 132
7 `$ d( x4 v& s/ G! O! U
4.2.3 其他操作 134
9 X/ b, i" y2 Y7 h0 O- o* n
4.3 本章小结 136
' N/ k7 D6 C( R$ ~+ M
第2篇 MATLAB科**算
, t5 j2 g- K; i# Q, n
第5章 MATLAB数据分析( 教学视频:33分钟) 138
; R: B5 W5 t; V+ _8 _3 {/ R! V9 K( Q' j
5.1 多项式及其函数 138
8 j ~$ b4 _1 f
5.1.1 多项式的建立 138
: O7 r4 u. O' H" X" _( P
5.1.2 多项式的求值与求根 139
- h+ x, p! t# U& m7 C9 V# ?
5.1.3 多项式乘法和除法 141
$ y9 p( Z3 k; \4 V! [: v$ u* L
5.1.4 多项式的导数和积分 142
; u% A. T5 x$ U$ A8 d
5.1.5 多项式展开 143
) K+ [# `: W) D
5.1.6 多项式拟合 145
$ o0 i' J: W* Z- A/ E+ Q: p
5.1.7 曲线拟合图形用户接口 145
% \% l- o6 G. s/ ^" j
5.2 插值 147
& H5 Q% c5 W: b3 b, B8 E: F
5.2.1 一维插值 147
" B! a, }" k. ?0 Q: A h3 S3 l5 i7 P
5.2.2 二维插值 150
4 }0 _7 x6 O* H( |
5.2.3 样条插值 151
0 S- T: A4 O, i& j, t2 a0 S' f
5.2.4 高维插值 152
) D# l5 e0 y! x! w2 L b& ]) }$ C
5.3 函数的极限 153
' m# s$ B3 g, w) H2 ]
5.3.1 极限的概念 153
' `8 S- F( T, X' u, ]6 Y4 h2 n
5.3.2 求极限的函数 155
% j! W% @% ^( x/ z( u! `. L
5.4 本章小结 157
4 S6 u! {* I$ W; M0 R( e2 i: {
第6章 积分和微分运算( 教学视频:27分钟) 158
2 ?- w3 P3 C! {9 r6 s! _0 H) Q
6.1 数值积分 158
* N4 f6 O9 A4 ~8 `- p
6.1.1 定积分概念 158
/ P* d4 x, o" h o9 J
6.1.2 利用梯形求面积 159
6 O" a* g9 B5 C) J2 ~( ] B
6.1.3 利用矩形求面积 161
+ q! k/ @$ g3 D/ Q' U- V5 o7 h
6.1.4 单变量数值积分求解 162
- b! @# n: t- |6 c( l( d+ d2 |
6.1.5 双重积分求解 164
$ M3 g& P8 m# d. G
6.1.6 三重定积分求解 165
4 n6 C/ i2 n# B# q% h R1 Z
6.2 常微分方程 166
2 {" j' K: x) u6 R# Q
6.2.1 常微分方程符号解 166
, u8 B8 d; W$ [; h; M T0 W
6.2.2 常微分方程数值解 168
# @! K4 l! K+ e1 ~$ A# ]2 l
6.3 函数的极小值和零点 171
r E3 B0 a* }7 t2 O% c/ Z" X
6.3.1 一元函数的最小值 171
' o/ O& z) A! k" n* o
6.3.2 多元函数的最小值 172
$ K% ^# B, O0 R& { Q* j, d& _
6.3.3 一元函数的零点 173
. h' e* r$ g( e. T% J% M9 w
6.4 本章小结 174
! f; K4 A6 z; Z. i
第7章 概率和数理统计( 教学视频:94分钟) 175
2 ^- t, p7 O" V, x5 L% i
7.1 随机数的产生 175
) V! Y7 p! Z5 c8 o- w1 V
7.1.1 二项分布随机数据的产生 175
% _5 n! \) s# t8 y0 \0 F7 g0 }
7.1.2 泊松分布 176
: q+ |7 z( j% p& h. X8 Z6 i1 t
7.1.3 指数分布随机数据的产生 176
8 p3 ~9 z; K D- J) X
7.1.4 均匀分布随机数据的产生 177
8 a" J1 Z+ \' Y* ]3 p4 w9 C
7.1.5 正态分布随机数据的产生 178
0 v* h" O& i, t( ?' m, x
7.1.6 其他常见分布随机数据的产生 179
( @2 F$ _4 m9 B% H5 J
7.2 概率密度函数 179
( g# C- v- O9 R( l# I
7.2.1 常见离散分布的概率密度函数 179
: m# B9 ^3 G1 c1 R& x0 G; b8 u
7.2.2 常见连续分布的概率密度函数 182
9 T# Y6 S5 L( Q3 ?
7.2.3 三大抽样分布的概率密度函数 185
, Q7 ~) U8 V. @! X1 |
7.3 随机变量的数字特征 187
7 K% Q: M" H+ B% q$ |9 o
7.3.1 平均值和中位数 187
7 Q& ^3 L! o- o# b! |
7.3.2 数据的排序 192
) D& ?* v0 i- {' t' U
7.3.3 期望和方差 195
8 D2 U# D! m+ m( v7 h
7.3.4 常见分布的期望和方差 198
. p0 T* b. i* @5 F' ^
7.3.5 协方差和相关系数 203
* ]0 {6 W* _* _# {0 A2 B b D
7.3.6 偏斜度和峰度 205
& O6 o$ ~" V- }: }6 v5 L/ V8 M9 l
7.4 参数估计 207
) m) k y9 n2 _3 H0 P! u I z; d$ }
7.4.1 点估计 207
) S' H& U; P3 C* z" V! k
7.4.2 区间估计 207
$ |4 U3 _5 E- d
7.5 假设检验 212
+ c6 N- M i' a' R% J8 q1 Q
7.5.1 方差已知时正态总体均值的假设检验 212
# N/ x2 O, e1 L8 ~6 u2 e" S9 J! L1 m
7.5.2 方差未知时正态总体均值的假设检验 213
' k* M/ E h) c* Z
7.5.3 两个正态分布均值差的检验 214
5 k9 t9 s, U1 ~ p. r" P$ j8 J3 \
7.5.4 两个分布一致性检验 215
! \. w2 c/ W8 `# e- C
7.6 方差分析 216
: t" j- g6 U8 }: |! T1 R' K
7.6.1 单因素方差分析 216
; n5 t H: e' F
7.6.2 双因素方差分析 218
, O3 l3 ^ J' z, F0 [" M
7.7 统计图绘制 221
6 f/ a; y7 D+ l: V' t: t& j7 F
7.7.1 正整数的频率表 221
9 ~4 L7 @" {* ^3 w3 S9 h' {
7.7.2 样本数据的盒图 222
- Z/ M* |: S F. h! n% l$ J/ }& O# C
7.7.3 最小二乘拟合直线 222
; ^9 d8 Q- ~+ ?7 B: Q! V( r
7.7.4 正态分布概率图 223
/ O/ U" v1 g8 I) i/ `: \
7.7.5 经验累积分布函数图 224
9 y7 U6 K1 [* _0 L2 \5 K% _
7.7.6 威布尔概率图 225
3 T6 J& h0 e6 S, z& A
7.7.7 分位数-分位数图 226
! _5 c: E: c1 @0 Q4 O
7.7.8 给当前图形加一条参考线 227
3 q8 A2 B8 y7 s' m4 W
7.7.9 给当前图形加多项式曲线 228
, Z/ A6 i! e: L" p7 I: `1 \$ R- i
7.7.10 样本的概率图形 229
8 r+ `" ~2 J# t
作者:
lili456
时间:
2012-5-28 11:09
7.7.11 带有正态密度曲线的直方图 230
/ u' V$ i8 q1 r8 z, T6 A& `/ t
7.7.12 在指定区间绘制正态密度曲线 230
" {: c* |! A. v' G* z
7.8 本章小结 231
' w$ ^: }' w" b' t
第8章 MATLAB符号计算( 教学视频:124分钟) 232
# Q) T. d$ a# _; @1 Q. K
8.1 符号运算入门 232
) T8 C x' G* }4 R
8.1.1 符号变量的创建 232
; M- v" Z7 [) s* r- O" a- J a
8.1.2 符号变量 235
. y) o3 Z. u8 Q+ N: o, P
8.1.3 符号函数和符号方程 236
( D) i5 S! z7 R! L5 e+ x0 l( a
8.2 简单实例分析 237
/ H7 V2 q1 }, z& l& u! o2 X3 d8 b
8.2.1 求解一元二次方程的根 237
, M* v) i) b" c' _! X
8.2.2 求导数 237
0 V4 _0 c6 T5 Y0 v* _( n- ]
8.2.3 计算不定积分 238
( Q/ C& H2 ~: T) q/ J
8.2.4 计算定积分 238
R7 y, W' m. x4 v
8.2.5 求解一阶微分方程 238
& ~5 [, r2 U) z/ A/ ]% e4 d$ k
8.3 符号运算精度 239
! e3 O: B3 E( M8 E
8.4 符号表达式的操作 240
+ O( l8 k: O- w" Z1 r# K# ~
8.4.1 符号表达式的基本运算 240
8 M- p; Q' R/ Q7 n. s
8.4.2 符号表达式的常用操作 241
+ }9 t& Q' P7 T6 A
8.4.3 符号表达式的化简 245
( H7 |3 Z0 Y3 g/ x% t
8.4.4 符号表达式的替换 247
8 \2 V/ W. N9 V" C8 I
8.4.5 反函数运算 249
* S/ i+ ~' J e+ o2 Z9 E6 v% {
8.4.6 复合函数运算 250
, I: p) [) Q& q) ]* I) ?. s
8.5 符号矩阵的计算 251
" c3 j+ B0 m$ C3 E8 y0 s' z; h
8.5.1 符号矩阵的生成 251
: {; ?' C4 x, W
8.5.2 符号矩阵的四则运算 253
. F! P7 h6 g2 H: P* W% w
8.5.3 符号矩阵的线性代数运算 254
& L: I* _" q6 k2 b
8.6 符号微积分 260
8 U" a! w/ U9 l. B) W' X+ `
8.6.1 符号表达式的微分运算 260
3 X9 @5 I: f; e+ i) D9 e
8.6.2 符号表达式的极限 262
- ]6 g5 o; O6 }8 d
8.6.3 符号表达式的积分 262
( v5 a) h0 O, P" m) C' H' _
8.6.4 级数的求和 264
D6 w9 C S& f* l
8.6.5 泰勒级数 264
9 `5 O# s! J7 ?0 u
8.7 符号表达式积分变换 265
" `" w- H A# W# C2 [& f* W6 {
8.7.1 Fourier变换及其反变换 265
! {' l) Z1 r- h
8.7.2 Laplace变换及其反变换 267
/ q$ ^& e$ b) b: }2 w% _ r' P
8.7.3 Z变换及其反变换 268
8 a7 P9 |* _' I9 h( `
8.8 符号方程求解 270
& @+ r+ U( _& C% I+ m& y# U
8.8.1 符号代数方程组的求解 270
+ U. J# W- e0 a) D
8.8.2 微分方程的求解 273
. C9 P! }( p$ P/ H% y; ]
8.9 符号函数的图形绘制 275
7 Y0 t% P3 j; y) [ w/ a
8.9.1 符号函数曲线的绘制 275
. T- |2 }. k; G; f9 v. y* H
8.9.2 符号函数的三维网格图 280
% X6 v- ~9 G, N2 j1 S1 U
8.9.3 符号函数的等值线图 283
8 F- g% q) O3 C
8.9.4 符号函数的三维彩色曲面图 284
( M, I! y( i' @# \ N
8.10 图形化符号函数计算器 286
2 ?( n g6 e: b* U0 P
8.10.1 单变量符号函数计算器 287
% a" H6 B( U: ~" s0 s
8.10.2 泰勒级数逼近计算器 288
" ?8 Q! H, B( u3 z5 a1 f8 m
8.11 Maple接口 289
6 B) E2 x0 l. m: S
8.11.1 利用sym函数调用Maple函数 290
8 u$ \; b5 r; x$ A7 N% i' H
8.11.2 利用maple函数调用Maple函数 290
9 s: k* {1 @2 K1 Y& X
8.12 本章小结 291
3 n2 [. N% l0 V" l/ Z; E
第3篇 数据可视化
3 Q2 g4 ]/ A% y$ s# `* e
第9章 二维数据可视化( 教学视频:112分钟) 294
1 T+ Q$ @8 r6 m. n
9.1 MATLAB绘图 294
8 A6 U0 m, R. [6 [) d; Q. X
9.1.1 基本绘图函数 294
) J1 d: x* Y j" ]8 K; j
9.1.3 子图绘制 300
- {0 Z/ G/ s0 O& F
9.1.4 叠加图绘制 301
! B* |& y. I' h. g
9.1.5 设置坐标轴 302
8 `( I# R& h: D- U; a( H7 q6 K6 n: w
9.1.6 网格线和边框 303
! n! q% O+ Q; E
9.1.7 坐标轴的缩放 304
" ]- r v9 e2 X/ ^
9.1.8 图形的拖曳 306
- {$ m- I1 ]( U
9.1.9 数据光标 306
" ~# h4 K. ^- Q$ T8 j
9.1.10 绘制直线 307
[6 D5 E9 s1 K& O
9.1.11 极坐标绘图 307
7 l( l' c9 A6 J
9.1.12 对数和半对数坐标系绘图 309
" |8 K8 ]- A$ E5 h+ O6 Y- y5 S
9.1.13 双纵轴绘图 311
1 F% B, S( q% N# O' o ~6 l
9.2 图形的窗口和标注 312
7 r9 u- j" Z% T5 P7 _
9.2.1 图形窗口 313
+ S4 a+ h" T9 n# _' m% S
9.2.2 图形标注概述 314
- q; D' N$ c2 J9 D
9.2.3 图形标题 315
- Z6 F0 n, I, n/ C( b, P. f* v
9.2.4 坐标轴标题 318
4 o4 }5 w- K4 \6 v
9.2.5 图例 319
" T" V; k) h- m6 P3 e8 F
9.2.6 颜色条 321
3 b& w- B! i1 i
9.2.7 文本框标注 322
: M7 X6 x/ A) C% \, D
9.2.8 获取和标记数据点 323
. G: N; E, F' y* U H( L6 Z
9.3 特殊图形的绘制 324
( R* Y. z; d& v
9.3.1 函数绘图 325
6 z5 i* V. a2 [4 G
9.3.2 柱状图 328
+ u+ W5 I1 I- v. W. \
9.3.3 饼状图 330
5 h0 \5 t1 A6 |
9.3.4 直方图 331
- _( R+ E/ S% l/ U3 S: n c" I
9.3.5 面积图 331
4 p5 \" s0 F1 C4 Q$ d; w* J# S. I
9.3.6 散点图 332
4 N* |4 b) F6 O
9.3.7 等高线绘图 333
( b$ F* b3 ^ P
9.3.8 误差图 335
& C% f% A: t0 |, k
9.3.9 填充图 335
5 D% u- P, P6 L# L4 f8 w3 r0 t
9.3.10 火柴杆图 336
8 u3 W; x* s- L+ b
9.3.11 阶梯图 336
# E- S/ i! N7 V4 d( }/ n. M% {
9.3.12 罗盘图 337
9 H9 K# J* m+ w {8 k6 e
9.3.13 羽毛图 337
3 @1 x1 Z6 l- X: g4 y' w& q. r
9.3.14 向量场图 338
" |9 V% @0 J- C" g
9.3.15 彗星图 338
' j. s5 |6 F3 z, H, b5 d! j
9.3.16 伪彩色绘图 339
6 v9 f" y; I$ h" J: J; J
9.4 图形句柄 339
, n" z+ o; y' J9 r$ r
9.4.1 图形句柄 339
! D- _3 j% H A' t, L/ v
9.4.2 坐标轴句柄 342
8 ]: H4 M" j" F0 y4 a& G
9.5 本章小结 346
, b+ f3 }( @- I
第10章 三维数据可视化( 教学视频:75分钟) 347
0 l* l' s9 Y7 O# V( ~4 \/ M
10.1 创建三维图形 347
0 k* q! D# `( G4 V% A
10.1.1 三维图形概述 347
0 n2 @# A4 m6 U: y* k. Z8 E, d
10.1.2 三维曲线图 348
/ X t3 l/ r, b: }7 w
10.1.3 三维曲面图 348
9 e' w4 k3 F- V( ?% q, N
10.1.4 特殊三维绘图 354
. S" [/ F N3 o& f' @
10.1.5 非网格数据绘图 362
4 Y ?/ A6 C$ N( D2 v
10.1.6 创建三维片块模型 363
+ Z2 H# J+ {3 b$ L9 G; }
10.2 三维隐函数绘图 364
; O- g& x m* q$ G4 n+ {
10.3 三维图形显示 367
- }1 q6 b7 |2 w; n" O- l& g
10.3.1 设置视角 367
- l- J' M! V7 V x4 n+ ]) P3 d
10.3.2 色彩控制 369
2 M2 Q5 H1 \- i4 q
10.3.3 光照效果 377
2 n; V7 B' b/ ~- B
10.3.4 Camera控制 381
5 |1 q: @$ Z) G! C( {; {
10.3.5 图形绘制实例 382
( O$ C7 K7 {; d) I, f0 S
10.4 图形的输出 385
8 ^+ C9 g4 |: K( G0 N- B! m$ G
10.5 本章小结 386
5 C! t8 H8 n; t6 D, c& U3 P
第4篇 MATLAB编程
. _$ ^# H' p' G& e( ]
第11章 MATLAB基本编程( 教学视频:77分钟) 388
7 a: z' G& r1 h; \% |1 }1 y
11.1 MATLAB编程概述 388
# ?- d+ L2 ?8 L; `& i% X- b' n
作者:
lili456
时间:
2012-5-28 11:10
11.1.1 M文件的创建 388
' {1 f4 H) k9 O" L$ C* e
11.1.2 脚本M文件 388
: O/ t" R6 n7 D' W
11.1.3 函数M文件 390
/ N8 c! F6 Q2 B- @ v
11.1.4 函数的参数传递 393
8 q9 g- I6 z" @- P" ]" l! R* w
11.2 流程控制 397
7 V2 s2 T8 E- t5 X7 C! a
11.2.1 变量 397
7 G; M6 Q, z; T
11.2.2 顺序结构 399
, B4 D: z' w5 r6 [4 W( f
11.2.3 分支结构 399
6 ^( u b& [! d% l" Y
11.2.4 循环结构 401
) U9 T' w. `% ^& ^. {( p0 `
11.2.5 try…catch语句 404
9 |+ L. @% G! Z8 c. f( _ k
11.2.6 人机交互函数 405
8 c- h& r: z0 E; H
11.3 函数类型 408
3 r+ s* u" J- @5 y# i
11.3.1 主函数 409
( n( X6 y/ t' ?& u
11.3.2 子函数 409
. W* J/ G- \( k2 B6 e, g1 c
11.3.3 嵌套函数 410
" X& y3 V8 b0 z4 j3 S5 O
11.3.4 私有函数 411
5 G4 d# X5 M$ k# `. p
11.3.5 重载函数 412
; }* Y* y0 t; I: K' ?
11.3.6 匿名函数 414
! M9 @3 O' o ]# X# b
11.3.7 函数句柄 419
0 q1 \& k3 x7 m5 }" v/ F( t1 T
11.4 P码文件和ASV文件 420
& L! H) H; L: [' W1 }
11.4.1 P码文件 420
1 G5 t; K% H3 U2 ]7 | X" }
11.4.2 ASV文件 422
$ r0 [6 @+ N9 _2 O: Q& w
11.5 本章小结 423
# I& }! x( u& Y3 l0 T" y' R" |
第12章 程序调试和编程技巧( 教学视频:33分钟) 424
& m/ M8 n- R Y' G" {4 R/ Q
12.1 M文件调试 424
. ?8 Y; S- o* B( O( L7 C8 g: ]3 {
12.1.1 出错信息 424
# d0 H( r9 @3 g1 w6 W# L$ P2 {
12.1.2 直接调试法 424
( ?' r! @% g# [9 l6 j
12.1.3 工具调试法 425
* N2 u" w3 M6 ^
12.1.4 错误处理 430
+ }- V [/ ]( D) Z2 ~6 w+ `
12.2 M文件性能分析 434
0 p5 y. I' O' F' S6 {% V
12.2.1 Code Analyzer工具 434
) ]+ @1 J2 D G0 \3 l9 G
12.2.2 Profiler分析工具 436
% t. ^ r# h# e) m& k
12.3 编程技巧 438
3 z S2 C5 s$ s6 k
12.3.1 程序执行时间 438
0 e. o8 J: ?& V1 V. P
12.3.2 编程技巧 438
' M O, d9 j$ o$ E* ^$ j! Q0 `" y
12.3.3 小技巧 442
/ b! D3 m3 _9 I0 ~; ?
12.4 本章小结 443
$ o% `* u6 C. |
第5篇 MATLAB仿真
+ k. D: `0 L+ c3 P
第13章 Simulink基本知识( 教学视频:61分钟) 446
( e, G* X* N6 v/ B
13.1 Simulink概述 446
, n) \, C# @2 l- H7 v# ~, M2 |
13.1.1 Simulink的概念 446
8 ~+ K. o% T3 I J; `3 G, A, o
13.1.2 Simulink的应用和特点 446
_4 w; G/ v4 M% u& N8 X& G. w4 L
13.2 Simulink的基本操作 447
. z+ r7 W2 S9 e9 M& B1 O$ U7 h
13.2.1 启动Simulink 447
" o- e1 x" K( p% ^" O
13.2.2 选择模块 448
3 V/ _7 l) V1 @! K6 Y
13.2.3 模块的连接 449
k( m- w9 b$ U. k2 u, C( V' j
13.2.4 模块的基本操作 449
* [4 a: b9 q/ D& D2 y2 n! b9 l7 x
13.2.5 模块参数设置 450
9 }3 v: A* P% m; A% f, w4 {, ^
13.2.6 仿真器设置 450
% [2 K0 n7 W1 U+ V1 G5 a
13.2.7 运行仿真 451
; M B5 @0 [7 u/ Y! e/ J, m6 Y9 q' b
13.3 常用的模块库 452
- x& v2 f% _$ J
13.3.1 Simulink常用模块子集 452
! | Q3 h$ b* F4 r8 p- _5 L5 q
13.3.2 连续时间模块子集 453
" A2 G$ R: k3 {: o$ s
13.3.3 非连续时间模块子集 454
$ L1 ~. T _# I: I% }! j
13.3.4 离散时间模块子集 455
7 H" z* k6 q8 T0 K3 M$ U% o7 q
13.3.5 逻辑和位操作模块子集 456
0 K0 B( q7 @+ U
13.3.6 查表模块子集 457
; z1 Q, K3 c0 k! ?% _1 U
13.3.7 数学运算模块子集 459
2 z# }2 T! x) _* j
13.3.8 端口和子系统模块子集 459
% ~9 _$ {& ^. u1 c' Q' k2 ?' @+ {
13.3.9 信号特征模块子集 460
6 F+ z4 X+ {7 b* V7 r
13.3.10 信号路径模块子集 462
4 @2 i/ K7 S% }8 }/ `
13.3.11 Sinks模块子集 463
4 f/ a j1 d( h$ C' h3 L+ m1 s
13.3.12 信号源模块子集 464
1 o' c0 R% j: E' q6 e$ b2 q
13.3.13 用户定义模块子集 465
% Z0 `) J* i8 M9 H# n' P7 k
13.4 子系统及其封装 466
7 L0 b, L9 ^7 |: l# A
13.4.1 子系统 466
" r5 X: G2 l6 Y- C Z
13.4.2 子系统的封装 467
+ e9 D( G u7 O
13.5 Simulink模型工作空间 469
1 t+ W; z1 Z. j" [7 z3 F8 P
13.6 本章小结 470
/ q) l6 ~0 Z- A
第14章 Simulink建模和S-函数( 教学视频:32分钟) 471
; M4 r" \) C* g1 O/ u* y, x/ g: U
14.1 回调函数 471
9 k i+ [+ M3 m
14.1.1 模型回调函数 471
% ]+ v7 h% j4 P' ?, T8 ]
14.1.2 模块回调函数 472
. H Q) o5 f, Y0 e6 K4 v0 G- {9 L
14.2 运行仿真 474
9 X% F9 g. m2 x1 q
14.2.1 仿真参数的设置 474
7 K" k5 G- V" q: ?; `
14.2.2 仿真的出错信息 476
8 o# P# C% G& ?! q8 \
14.2.3 使用MATLAB命令运行仿真 476
% t5 N8 `8 I5 _% ^; R/ l5 F
14.3 模型的调试 478
0 P/ t1 ^9 Z/ E5 E M
14.3.1 Simulink调试器 478
6 r' N1 e! x. t6 w0 B$ {- P
14.3.2 命令行调试 479
: @ V9 g5 j) m/ u
14.4 S-函数建模 479
6 Q7 f/ f- M1 x" A% J7 i$ p
14.4.1 S-函数介绍 480
7 y# K/ g8 s$ D
14.4.2 S-函数工作原理 480
1 J) e8 X7 M! \! G9 l' q; F
14.4.3 M文件的S-函数 480
6 Q, T/ d& A4 z$ r
14.4.4 S-函数实例分析 481
( N, B4 p; e1 L( X+ P F- g# e0 Q9 t
14.5 本章小结 484
6 r; Z" k; n1 t4 N! t5 w8 A N: P
第6篇 MATLAB高级应用
6 J! Q- S( ^( `) s
第15章 GUI编程开发( 教学视频:70分钟) 486
+ _: M- f1 B+ t
15.1 图形句柄 486
& f0 {3 K/ v$ }: e1 o2 T$ _+ x+ d
15.1.1 MATLAB图形系统 486
9 U9 {' e9 e w; w2 e: I
15.1.2 图形句柄 487
" G5 u2 y V# T. C `. x$ f: x
15.1.3 图形对象的属性 487
! w( a6 i( n8 q' A+ \& Z8 u# ?
15.2 图形对象 487
. R! {7 d' V$ A( y
15.2.1 创建图形对象 487
. \; _5 C! v' ~" W4 ^9 w; n& q
15.2.2 获取对象的属性 488
9 f; A7 ?7 N5 w, E
15.2.3 设置对象的属性 489
5 c" ]% W3 b: }
15.2.4 对象的基本操作 491
^- y7 m' P8 f. h+ D
15.2.5 root根对象 494
6 D: ~3 L. @% G' b
15.2.6 figure对象 495
+ o* M) @1 O/ d, H( |, q/ j
15.2.7 axes坐标轴对象 495
2 j: ]) _! I/ s/ L% t$ N5 U
15.2.8 核心图形对象 496
' U6 U& U: S# n0 U$ i
15.3 用户接口对象 499
; n5 \/ [) f1 a0 E7 H' ~
15.3.1 uicontrol对象 499
$ T6 E) h* U! b; a8 q* E3 G
15.3.2 uimenu对象 500
: `0 w" V$ U* p. e
15.3.3 uicontextmenu对象 502
$ V& D }$ k1 \0 f
15.3.4 uitoolbar对象 503
3 W$ P4 Z; u! x! |
15.3.5 uibuttongroup对象 506
5 Q5 {0 [' V& I/ ^
15.3.6 uipanel对象 506
' C6 p( Y' m; \, r ^/ {/ f
15.3.7 uitable对象 506
3 d! M( p4 t% T5 A: U# c; F
15.4 常用的对话框 507
7 U! a' d9 R# i+ C6 ~6 D& c
15.4.1 消息对话框 508
$ S1 ?- w) p" P; }
15.4.2 错误对话框 508
5 P/ {& ~! l' P3 w+ X4 W6 t7 l
15.4.3 警告对话框 509
' l, m% R) i1 f# F3 \3 c2 o& @9 e
15.4.4 帮助对话框 509
T/ X- c* J: j `+ a8 g
15.4.5 输入对话框 510
7 ?; b8 f" S6 r* s$ v: L/ v
15.4.6 列表对话框 511
7 j2 h& |* G6 i7 ?$ M5 m9 Q9 l
15.4.7 问题对话框 512
6 S) F/ [8 S( }; q# C
15.4.8 进度条设置对话框 513
+ D5 r4 l: S; K
15.4.9 路径选择对话框 514
" P" f9 t& a4 q% k2 }
* J$ Z. v$ r0 _2 U/ ]1 F
作者:
lili456
时间:
2012-5-28 11:15
前 言
5 l, h7 w6 B9 h2 L5 c$ G
MATLAB软件是由美国Mathworks公司发布的主要面向科学计算、数据可视化、系统仿真及交互式程序设计的高科技计算环境。由于MATLAB功能强大,简单易学,并且对问题的描述和求解符合人们的思维方式和数学表达习惯,所以它已经成为高校教师、科研人员和工程技术人员的必学软件。使用MATLAB,可极大地提高人们的工作效率和质量。
: `5 [1 p$ z* l% s* |6 s6 ~; U; B
MATLAB软件代表了当今国际科学计算软件的先进水平,应用领域非常广泛。很多人都希望将MATLAB强大的数值计算和分析功能应用于自己的项目和实践中,从而可以直观、方便地进行分析、计算和设计工作。编写这本书的目的,就是为了向读者全方位介绍MATLAB编程和开发技术。
) y$ ]' D" A& {0 L& H- Y) X
本书由浅入深,全面、系统地介绍了MATLAB基础、科学计算、数据可视化、编程、Simulink仿真技术、高级应用及常用的工具箱等内容。书中的每一章都提供了大量的实例程序,以方便读者进行练习和学习,每个例程都经过精挑细选,具有很强的针对性,适合各个阶段的读者学习。本书既注重基础知识,又非常注重实践,读者可以快速上手并迅速提高。通过本书的学习,读者不仅可以全面掌握MATLAB编程和开发技术,还可以提高快速分析和解决实际问题的能力,从而能够在最短的时间内,以最好的效果解决实际的工程和科学问题,提升工作效率。
9 n8 r7 G; W6 S1 G8 n
本书的特点
5 f& ]) t0 h3 u- j! |+ b2 o
1.每章都提供对应的教学视频,学习高效、直观
; Y$ i, M8 O* Z$ ^
为了便于读者高效、直观地学习本书中的内容,作者对每章的重点内容都特意制作了教学视频,这些视频和本书的实例文件一起收录于配书DVD光盘中。
$ A4 z6 o! m9 Y, J4 h$ h$ M2 g
2.结构合理,内容全面、系统
' A; I2 F. S9 i6 {2 @2 d
本书详细介绍了MATLAB编程、数据分析和处理、数据可视化、Simulin仿真、GUI编程开发及常用的工具箱,将实际项目开发经验贯穿于全书,思想和内容都非常丰富。在内容的安排上,则根据读者的学习习惯和内容的梯度合理安排,更加适合读者学习。
( h9 Y( R v* \
3.叙述详实,例程丰富
) d" X6 s1 r6 ]1 ~: |" ^
本书有详细的例程,每个例子都经过作者的精挑细选,有很强的针对性。书中的程序都有完整的代码,而且代码非常简洁和高效,便于读者学习和调试。读者也可以直接重用这些代码来解决自己的问题。
) Z/ f# t% t4 g4 i/ c4 d; y! [
4.结合实际,编程技巧贯穿其中
( ^3 \. e' m" N R; G- F
MATLAB编程非常灵活,所以本书写作时特意给出了大量的实用编程技巧,这些技巧的灵活使用,将会让你事半功倍。
" e: S0 s# D1 n2 S- t; ]
5.语言通俗,图文并茂
( W2 ]& y( \9 x
对于程序的运行结果,本书给出了大量的图片。本书不仅注重基础知识,而且非常注重实践,让读者快速上手,迅速掌握MATALB知识。
0 p- S2 O5 t: u+ Q& [
本书内容体系
- g$ v& r! Q, [& ]" _8 Z
本书共23章,分为7篇,各篇对应的章节和具体内容介绍如下。
* x$ _# J5 Q$ P+ P! C
第1篇包括第1~4章,主要介绍MATLAB的基础知识,讲解MATLAB 2010a的安装和基本操作,MATLAB的数据类型和运算符,数组和矩阵及字符串等操作。
/ J9 Y" F+ h# o8 g) {5 f
第2篇包括第5~8章,主要介绍利用MATLAB进行科学计算,包括多项式、插值、极限等基本数据分析,微积分运算、概率论和数理统计,以及MATLAB的符号计算功能。
4 M/ K" A( L4 _" _5 ?% d( F
第3篇包括第9章和第10章,主要介绍MATLAB的数据可视化,包括二维数据可视化和三维数据可视化,同时讲解了图形的标注、特殊图形的绘制,以及三维图形的视角、色彩和光照效果等。
2 O$ x% O3 ^# `6 n8 z
第4篇包括第11章和第12章,主要介绍MATLAB编程,包括脚本M文件和函数M文件,以及程序的流程控制,最后介绍了程序的调试、程序的性能分析和常用的编程技巧等。
4 E, W* z5 j4 [' A# r
第5篇包括第13章和第14章,主要介绍利用Simulink进行系统的仿真,包括Simulink建模的原理、常用操作、基本模块库、子系统的封装技术、Simulink调试器和S-函数等。
. C. Z: o- Y2 l; X: e _, y
第6篇包括第15~18章,主要介绍MATLAB的一些高级应用,例如图形句柄、利用GUIDE建立图形用户界面、文件I/O操作及MATLAB的编译器等。
, d9 ?8 [' E$ X; w4 |
第7篇包括第19~23章,主要介绍MATLAB的常用工具箱和与Word和Excel的接口,包括信号处理工具箱、小波分析工具箱、图像处理工具箱、神经网络工具箱。
* k+ U! A. g# _& W' Z$ y( w% N
本书读者对象
( p- F, @" z& l+ `+ F
MATLAB初学者;
5 Y1 L: V) H; \8 b0 G1 ]* C
想全面、系统地学习MATLAB的人员;
& P& Q9 S4 W9 g
MATLAB技术爱好者;
6 P- C8 l1 b5 j6 x U* S
利用MATLAB进行编程和开发的技术人员;
7 \! a u7 k( h3 S, U
大中专院校的学生和老师;
- P6 d) g) H9 N- a% }* J
相关培训学校的学员。
, r/ O, ~2 S- d2 G' ^' @ B$ k# O6 T, z
本书作者
% S5 G9 W8 \4 j, H3 D. C
本书由东北大学机械电子工程研究所的赵海滨主笔编写。其他参与编写的人员有武冬、郅晓娜、孙美芹、卫丽行、尹翠翠、蔡继文、陈晓宇、迟剑、邓薇、郭利魁、金贞姬、李敬才、李萍、刘敬、陈慧、刘艳飞、吕博、全哲、佘勇、宋学江、王浩、王康、王楠、杨宗芳、张严虎、周玉、张平、张靖波、周芳、杨罡、于海滨、张晶杰、张利峰、杨景凤、陈锴、郑剑锋、叶佩思、张涛、赵东彪、王双。在此表示感谢!
3 Q" F1 W+ m) F6 `6 @1 \
在此感谢我的父母、家人、研究所的老师,以及所有帮助过我的人。由于时间仓促,笔者水平有限,书中难免存在遗漏和不足之处,恳请广大读者提出宝贵意见。
; {: E8 }, B" u. k0 a' z, c: A
! ` d$ o8 S* M
编著者
7 V) r/ E4 Y. F/ u [7 t. J. I
作者:
lili456
时间:
2012-5-28 11:23
前 言
& D3 f; d( y7 c1 f+ L
MATLAB软件是由美国Mathworks公司发布的主要面向科学计算、数据可视化、系统仿真及交互式程序设计的高科技计算环境。由于MATLAB功能强大,简单易学,并且对问题的描述和求解符合人们的思维方式和数学表达习惯,所以它已经成为高校教师、科研人员和工程技术人员的必学软件。使用MATLAB,可极大地提高人们的工作效率和质量。
& Q& T$ B1 Y' ~; R# K
MATLAB软件代表了当今国际科学计算软件的先进水平,应用领域非常广泛。很多人都希望将MATLAB强大的数值计算和分析功能应用于自己的项目和实践中,从而可以直观、方便地进行分析、计算和设计工作。编写这本书的目的,就是为了向读者全方位介绍MATLAB编程和开发技术。
$ c# r* e1 y3 g5 b
本书由浅入深,全面、系统地介绍了MATLAB基础、科学计算、数据可视化、编程、Simulink仿真技术、高级应用及常用的工具箱等内容。书中的每一章都提供了大量的实例程序,以方便读者进行练习和学习,每个例程都经过精挑细选,具有很强的针对性,适合各个阶段的读者学习。本书既注重基础知识,又非常注重实践,读者可以快速上手并迅速提高。通过本书的学习,读者不仅可以全面掌握MATLAB编程和开发技术,还可以提高快速分析和解决实际问题的能力,从而能够在最短的时间内,以最好的效果解决实际的工程和科学问题,提升工作效率。
* Q) Q. z0 J7 J4 C
本书的特点
1 V. y) A R+ m a7 U
1.每章都提供对应的教学视频,学习高效、直观
n* T4 ~/ N) t/ p
为了便于读者高效、直观地学习本书中的内容,作者对每章的重点内容都特意制作了教学视频,这些视频和本书的实例文件一起收录于配书DVD光盘中。
/ G7 C! g- N( R
2.结构合理,内容全面、系统
. ?0 u5 D/ t$ H8 V
本书详细介绍了MATLAB编程、数据分析和处理、数据可视化、Simulin仿真、GUI编程开发及常用的工具箱,将实际项目开发经验贯穿于全书,思想和内容都非常丰富。在内容的安排上,则根据读者的学习习惯和内容的梯度合理安排,更加适合读者学习。
6 p$ u! w2 |' f# l$ d. w
3.叙述详实,例程丰富
3 q# u2 i3 w0 ]8 V) p5 Q
本书有详细的例程,每个例子都经过作者的精挑细选,有很强的针对性。书中的程序都有完整的代码,而且代码非常简洁和高效,便于读者学习和调试。读者也可以直接重用这些代码来解决自己的问题。
! O* N( T, F- a2 p! x
4.结合实际,编程技巧贯穿其中
( f1 f' l& m: e: Y ]$ h& }. G) I# C
MATLAB编程非常灵活,所以本书写作时特意给出了大量的实用编程技巧,这些技巧的灵活使用,将会让你事半功倍。
! i/ q3 m8 Q, z {2 q; k+ x' n
5.语言通俗,图文并茂
9 Z* r7 j' `! M8 _) Y
对于程序的运行结果,本书给出了大量的图片。本书不仅注重基础知识,而且非常注重实践,让读者快速上手,迅速掌握MATALB知识。
0 p* A% e7 d4 Q& x8 D" m
本书内容体系
; g) n8 O" f5 k& d; x7 g3 x6 F7 i/ i
本书共23章,分为7篇,各篇对应的章节和具体内容介绍如下。
) E/ u- f1 I9 n" I/ f, p3 z
第1篇包括第1~4章,主要介绍MATLAB的基础知识,讲解MATLAB 2010a的安装和基本操作,MATLAB的数据类型和运算符,数组和矩阵及字符串等操作。
2 m: |* t3 @) M; z/ M' U# _
第2篇包括第5~8章,主要介绍利用MATLAB进行科学计算,包括多项式、插值、极限等基本数据分析,微积分运算、概率论和数理统计,以及MATLAB的符号计算功能。
% A! L" y9 E- m9 f2 P3 Q/ u
第3篇包括第9章和第10章,主要介绍MATLAB的数据可视化,包括二维数据可视化和三维数据可视化,同时讲解了图形的标注、特殊图形的绘制,以及三维图形的视角、色彩和光照效果等。
7 T. m% X) K. k$ _
第4篇包括第11章和第12章,主要介绍MATLAB编程,包括脚本M文件和函数M文件,以及程序的流程控制,最后介绍了程序的调试、程序的性能分析和常用的编程技巧等。
2 T) n- J' U) l) M+ r. y
第5篇包括第13章和第14章,主要介绍利用Simulink进行系统的仿真,包括Simulink建模的原理、常用操作、基本模块库、子系统的封装技术、Simulink调试器和S-函数等。
1 U+ B" g% W9 c- N! c
第6篇包括第15~18章,主要介绍MATLAB的一些高级应用,例如图形句柄、利用GUIDE建立图形用户界面、文件I/O操作及MATLAB的编译器等。
% H7 Z* K/ Q4 X: V0 B/ U! i4 f
第7篇包括第19~23章,主要介绍MATLAB的常用工具箱和与Word和Excel的接口,包括信号处理工具箱、小波分析工具箱、图像处理工具箱、神经网络工具箱。
% A9 Z' v- E* M
本书读者对象
1 @+ b- K) j7 x6 z1 S: d
MATLAB初学者;
+ K+ o$ \5 R% ^ D; O8 J3 P8 ]
想全面、系统地学习MATLAB的人员;
( K/ V4 P# T5 q
MATLAB技术爱好者;
- d, h n8 J9 S$ G! i6 c; A
利用MATLAB进行编程和开发的技术人员;
. m2 C" g: m2 d) s$ a# A/ |' o* E2 P
大中专院校的学生和老师;
# o# u v8 @* E& G
相关培训学校的学员。
0 \5 c" |1 I" H! \* @! K
本书作者
- `- N E0 F- r3 H
本书由东北大学机械电子工程研究所的赵海滨主笔编写。其他参与编写的人员有武冬、郅晓娜、孙美芹、卫丽行、尹翠翠、蔡继文、陈晓宇、迟剑、邓薇、郭利魁、金贞姬、李敬才、李萍、刘敬、陈慧、刘艳飞、吕博、全哲、佘勇、宋学江、王浩、王康、王楠、杨宗芳、张严虎、周玉、张平、张靖波、周芳、杨罡、于海滨、张晶杰、张利峰、杨景凤、陈锴、郑剑锋、叶佩思、张涛、赵东彪、王双。在此表示感谢!
$ @0 q! ^$ h6 ]# d
在此感谢我的父母、家人、研究所的老师,以及所有帮助过我的人。由于时间仓促,笔者水平有限,书中难免存在遗漏和不足之处,恳请广大读者提出宝贵意见。
" U, d. Z$ m( ?& a2 A2 s0 p
|: }' y7 F$ w- |! U( O: m
编著者
5 e& N) P# w+ _9 a2 }1 n
作者:
lili456
时间:
2012-5-28 11:26
第5章 MATLAB数据分析
+ R- Z1 i. `% P' `' r
针对数据分析和处理,MATLAB提供了大量的函数,非常方便和灵活。本章将详细介绍如何利用MATLAB进行一些基本的数据分析,主要包括多项式及其函数,插值,以及函数的极限。MATLAB能够很好地解决多项式运算问题,这些函数用于多项式的建立、多项式求值、多项式乘法和除法、多项式求导和多项式展开和拟合等。插值函数,主要包括一维插值、二维插值、样条插值和高维插值等内容。MATLAB提供了非常强大的函数,可以非常方便和灵活地求得函数的极限。
" O( C. l2 A4 J3 @" X
5.1 多项式及其函数
' B$ d6 Z* I. d6 o; C2 L- \
MATLAB提供了一些处理多项式的专用函数,用户可以很方便地进行多项式的建立、多项式求值、乘法和除法运算,以及求多项式的导数和微分、多项式的根、多项式的展开和拟合等。
* G! I. c! I! F
5.1.1 多项式的建立
, L# ?( q# T1 u8 v
MATLAB语言中,对于多项式 ,用多项式的系数按照降幂次序存放在向量 中。顺序必须是从高到低进行排列。例如,多项式 可以用系数向量 来表示。对多项式的操作就转换为对多项式系数向量的操作问题, 次多项式用一个 维的行向量表示,在多项式中缺少的幂次要用“0”来补齐。在MATLAB中,可以采用直接输入多项式系数建立多项式,也可以采用多项式的根来建立多项式,下面分别进行介绍。
* T: K; w2 Z% q9 i" T
1.直接输入多项式系数法
* Y6 H/ q, l" I% m; J" `
MATLAB中多项式是以向量的形式存储的,输入向量后,MATLAB将按照降幂顺序自动把向量的元素分配给多项式各项的系数。该向量可以是行向量,也可以是列向量。
( A# s) j: U4 S* Y8 N' E
【例5-1】 使用向量来创建多项式 ,并进行显示。
7 Z( u5 _/ k* R0 P- `! {7 B
首先创建系数向量,然后使用函数poly2sym()将该向量转换为多项式,直接进行输出,也可以采用函数disp()进行多项式的显示,代码如下:
4 Z$ A+ u0 h9 M3 _1 y, B5 O; _
* T* I0 t7 }8 w0 ^+ Q6 f
>> clear all;
; L5 j* j! [) |3 T
p1=[4 3 2 1];
, l! B1 W, h1 ~) _
y=poly2sym(p1) %由向量创建多项式
" f" a( r2 z9 Z* _
disp(y) %显示多项式
5 ?# E5 Y) m; Q! @4 p; t
3 ~1 b1 ^# g: K6 c5 Q+ s
运行程序,输出结果如下:
) g% E9 \; e. {$ O( F; T, p: \) y
4 Q$ d$ e8 Q# f7 L' Q
y =
& t& B/ X0 M$ `2 J# s
4*x^3+3*x^2+2*x+1
0 ~; V+ @" l' R7 W
4*x^3+3*x^2+2*x+1
e/ j& x" ?4 B/ p/ M
0 K& j, }; s+ M6 c/ \
在MATLAB中,多项式的输出采用降幂形式。如果多项式的系数为0,则在输出的时候不显示,可采用函数disp()来显示多项式。
" E* H2 F; a* @4 X9 f m) a
2.由多项式的根来建立多项式
0 x# P/ U8 E) t8 S! ~' K+ Q! {8 x
如果多项式的根已知,可以采用函数poly()建立多项式。其调用格式为p=poly(r),其中r为由多项式的根组成的向量,p为输出的多项式的系数向量。
/ c( _- _# X9 G* f, }! d2 _
【例5-2】 已知某多项式的根为2、3、4,求该多项式。代码如下:
: q- J& {" H, a1 P+ m7 o; y ?
3 ^+ D. M; k' n4 X) H9 B
>> r=[2 3 4];
! Y8 {8 e2 s% B, x
p=poly(r); %由多项式的根创建多项式
5 D' f) M& p0 r, _2 e
y=poly2sym(p) %显示多项式
: Z! G. S& j. a2 f9 f
0 R$ L5 E( M' P0 M/ G) p5 s
运行程序后,输出结果如下:
5 k" X' `/ A( `9 h. t) K
" ~2 t, p$ Z4 W4 R& [7 U
y =
8 ~" p" h0 e8 C8 k! \6 b
x^3-9*x^2+26*x-24
6 x6 ^4 t2 o# U, `
A* f& o$ w& Q+ m
在程序中,函数poly()通过多项式的根创建多项式,多项式的根向量为r。通过函数poly2sym()对创建的多项式进行显示。
6 c( e1 p2 L* E! n: e9 g9 G
5.1.2 多项式的求值与求根
4 h4 X0 ^5 z0 N) ^# u* }& X4 N& L
在MATLAB中,通过函数polyval()和polyvalm()可以对多项式进行求值,两者的区别为前者是代数多项式求值,后者是矩阵多项式求值。通过函数roots()对多项式进行求根,如果已经知道多项式的根,也可以通过函数poly()建立相对应的多项式。下面分别进行 介绍。
$ C) `# R! V5 Y x8 X$ a
1.多项式求值
/ n* {% O! F: o0 P9 i3 x" M
在MATLAB中,提供了两个函数对多项式进行求值,函数polyval()和polyvalm()。函数polyval()以数组或矩阵中的元素为计算单位,函数polyvalm()以矩阵为计算单位。
6 k* ?: L. |3 L; n I
函数polyval()的调用方式为y=polyval(p, x),其中参数p为行向量形式的多项式,参数x为带入多项式的值。参数x可以是标量,也可以是向量和矩阵。如果参数x为向量或矩阵,则该函数对向量或矩阵中的每一个元素计算多项式的值,其返回值y也分别为向量或矩阵。
4 a! a3 V& ?! M) a4 l' a
【例5-3】 求多项式 在点2、3、4、5的值。代码如下:
- U2 p5 L5 _% ^+ J# p; n- e$ R
1 W: I) c* s) R( ]
>> clear all;
' D3 X. @* `! N p
p=[1 -1 -6]; %多项式的系数向量
, F! D/ {% H! H* p; {9 E
x=2:5;
( x$ ?8 M" J5 H3 G
y=polyval(p,x) %求多项式在x处的值
+ W/ N& L- @( C, X2 n/ b/ M! ]
' b% n9 Y5 G) {: H
运行程序后输出结果如下:
6 @% P/ b% }6 L/ [/ e
% M2 X, v' S/ r0 u
y =
4 g' _# `* `' l: M/ K# \3 Z; H
-4 0 6 14
) W* t! W0 s4 }
8 Z) Z: O7 @1 Y5 l9 ^* q7 I* ^9 l
函数polyvalm()的调用方式为y=polyvalm(p, x),其中参数p为行向量形式的多项式,参数x必须为方阵,输出结果仍然为方阵。
8 H4 O* U2 C1 {) q
【例5-4】 求 时,多项式 的值。
- N7 ]+ J# [; U/ r# H- o
利用函数polyvalm()时,输出结果计算公式为 ,常数值变为常数乘以相同阶次的单位矩阵。如果采用函数polyval(),计算矩阵中每个元素对应的多项式的值。下面分别采用函数polyvalm()和polyval()对该矩阵进行计算,代码如下:
/ Z: `* L9 u7 Z6 M& I
. T! O4 c% u5 J1 C! E
>> x=[1 2 ;3 4];
1 v# X! K! s" Q2 L$ x
p=[2 3 4];
4 Y8 c/ A( D) U/ r' `
y1=polyvalm(p,x) %采用polyvalm()函数,以矩阵为计算单位
5 b# N1 y1 V, F# Z0 n9 q+ ]
x=[1 2 ;3 4];
$ F; N* N7 |1 L( E+ {8 S
p=[2 3 4];
) j' ^5 _: l- `
y2=polyval(p,x) %采用polyval()函数,以矩阵的元素为计算单位
/ x$ S5 B1 f2 {' |3 h0 I' E
) Y7 d3 w' t4 u& |8 v
运行程序后,输出结果如下:
: L8 ], J. G/ l2 U8 O7 g9 l; k0 h4 z
; ]7 ?& |8 P# @( S
y1 =
! Y7 K4 ]- s/ _" y$ g
21 26
( R* p2 F+ q/ l) t. ` ^
39 60
7 S3 G! }1 C1 `" n& ~
y2 =
7 o( S! g$ T; R" [0 f5 U9 [
9 18
; h* V: ] H0 `
31 48
p8 m1 B0 ]9 B' k8 Q! v+ R
# M' J: c# Y6 y3 \8 L
当采用函数polyval()时,虽然输入参数是矩阵,但在计算时将矩阵的每个元素分别输入多项式,计算对应的输出。
( ?! D; h9 _; A" t! j* G j; s
2.多项式求根
$ e4 k1 r n2 Y! ^- S# E
在MATLAB中,利用roots()函数来求多项式的根,其调用格式为x=roots(p),其中参数p为多项式系数,输出参数x为多项式的根。对于n次多项式具有n个根,这些根可能是实根,也可能是共轭复根。在MATLAB中,如果已经知道多项式的根,可以利用函数poly()求多项式的系数,其调用格式为y=poly(x),输入参数x为根,输出参数y为得到的多项式系数向量。
; D8 T+ M) e( i# P1 j! u
【例5-5】 求多项式 的根,以及以4和5为根的多项式。代码如下:
g1 L4 D- s q: u g6 M
8 O* V3 u8 r% }0 ^0 N
>> clear all;
0 z ^" x7 b9 K- P1 K# H
p=[1 0 0 -1 -6];
1 `5 P$ ]5 j( ?+ a5 g
x1=roots(p) %对多项式p求根
. q$ z3 q0 n: E+ `% _+ l0 t
x2=[4 5];
6 A7 v% l7 E j, j9 y
y=poly(x2); %求以x2为根的多项式
* v/ M6 _9 \4 e2 ?: o; _$ ^8 |4 [; A
y=poly2sym(y)
/ r% E. J6 M8 I+ K: Y4 _
8 M( g5 X# n( X v, T
运行程序后,输出结果如下:
) z2 D2 T' g* z( X% y/ t2 K" n
3 _+ Z, ^' n7 I7 R: w& ]! x9 p; r
x1 =
: Q+ k- J5 y. Z# M1 A( D
1.6638
8 ^1 L! }' O j
-0.1021 + 1.5684i
3 U9 F# \* T5 X1 j& P
-0.1021 - 1.5684i
$ O! c& y, G0 y+ q
-1.4597
1 D, ^9 [; k. a3 Q, B
y =
$ `0 w% B. k; B. A9 s$ f3 ] P
x^2 - 9*x + 20
# @$ X- N* u8 W
) k7 ~# m: y% U! }. P, w- |+ _
利用函数roots()计算多项式的根,非常方便,函数的返回值x是一个向量,其长度等于多项式的根的个数。
3 N, ]/ }0 `8 T: \7 U& Q( M
作者:
lili456
时间:
2012-5-28 11:28
本帖最后由 lili456 于 2012-5-28 11:31 编辑
% Z3 c4 C" d+ p% L) L3 p
' T: p) @8 H. E; l9 I! }* s
5.1.3 多项式乘法和除法
: f7 j% b, r$ m* U6 ^
在MATLAB中,使用函数conv()对多项式进行乘法运算。其调用格式为c=conv(a, b),a和b为多项式的系数向量,该函数实现向量a和b的卷积,在代数上相当于多项式a乘以多项式b,其中c为相乘所产生的多项式的系数向量。
4 Z9 _0 C) _3 E1 }& n
【例5-6】 求多项式 和 的乘积。采用函数conv()实现,其MATLAB程序如下:
, B ^* ~! H! z$ f. \8 i; l
4 n" {4 `# Q6 p0 a1 N- K9 e, l
p1=[4 2 0 5]; %缺少的幂次用0补齐
+ b; h: Y) @* a# [2 Q& \
p2=[5 8 1];
2 D# \3 \. y& I6 Y/ N
y1=poly2sym(p1)
, y W% c3 R" ]
y2=poly2sym(p2)
6 }! E/ ?* f. _+ E: p- d3 d
p3=conv(p1,p2); %多项式相乘
& P1 L4 \! h, i. G
y=poly2sym(p3)
; G1 a8 V$ g* H& D, p
2 U2 j4 m; N* k4 Q/ R3 }1 b
运行程序后,输出结果如下:
$ |" K" s8 I/ r& u
* z0 y+ T8 Y* V4 B
y1 =
. F+ }' ^7 L( F0 q
4*x^3+2*x^2+5
0 O$ W( q- P6 @4 S
y2 =
$ v1 n+ @9 x6 K: K- [/ U8 \: B
5*x^2+8*x+1
9 \2 y: g% {5 `+ t7 O
y =
$ j# ]* V: A* h9 J1 V
20*x^5+42*x^4+20*x^3+27*x^2+40*x+5
& E- Z) ]- ?* E
' Q% }! [4 H) s( m9 D
在MATLAB中,采用poly2sym()函数将向量作为多项式的系数进行输出,和其相对应的函数是sym2poly(),该函数将输入多项式的系数提取出来,作为向量进行输出。对于例5-6程序也可以用poly2sym()函数实现(和例5-6的计算结果相同),其MATLAB程序如下:
1 u4 f1 H! O$ ?5 }, {
( X I1 D/ u. A% U
>> syms x
) G5 |& K3 A4 X
p1=sym2poly(4*x^3+2*x^2+5)
' j) x! G+ _1 A' S3 ]9 w
p2=sym2poly(5*x^2+8*x+1)
/ K1 ?2 q3 O& M! r- P1 j5 O
p3=conv(p1,p2); %多项式相乘
+ k' Q8 b' L# W4 L
y=poly2sym(p3)
" V' M$ u$ {: v, U% Q7 J& Q. p
( t [4 s) g, Q1 }0 z* |5 h
运行程序后,输出结果如下:
5 C& `8 h5 d& J( g+ \* o( m
) d4 q, u: i4 S& Q% V) l
p1 =
% d# T) Z; @( E" R% |# C1 R. l
4 2 0 5
2 I. w' |* T/ M, X8 `* ?
p2 =
4 m0 Q3 W0 `$ @) i3 h! ^' r
5 8 1
: i( g( Q. y2 y6 x& O. q
y =
: V' v: u0 q' m
20*x^5+42*x^4+20*x^3+27*x^2+40*x+5
6 ]1 D# n2 l8 g7 n: C# k
% B. Y0 m5 @3 @$ e1 W
在MATLAB中,使用函数deconv()对多项式进行除法运算。其调用格式为[q, r] = deconv(a, b),实现解卷积运算。其中a和b为多项式的系数向量,在代数上相当于多项式a除以b,得到的商为q和余多项式r,它们之间的关系为a = conv(b, q) + r。
& R/ Q/ j* U# ?0 t! {6 z2 b* V
【例5-7】 求多项式 除以多项式 的商和余数,代码如下:
% v z4 r8 U' e2 L
# I! j6 Q8 \" C
>> p1=[4 3 8 1 4];
. P* d8 P$ l5 B! x2 V3 o
p2=[2 3 1];
6 q, D/ Y+ P6 H+ D; d. d4 [; J9 z5 E" d
[q,r]=deconv(p1,p2); %多项式p1除以p2
; q0 U# q; d7 Q* \+ @
y1=poly2sym(q) %商
% B* t" G. Z2 m7 O n
y2=poly2sym(r) %余数
- a$ [7 t2 b4 L0 T0 a
' P. I& ~% r/ Z+ ^6 R
运行程序后,输出结果如下:
k& w4 R/ p1 g1 C. e+ }
7 G8 T& j9 }1 x* l9 t
y1 =
4 O$ B1 v4 J* I1 C( }& }. O1 I3 U/ h
2*x^2-3/2*x+21/4
! z; x3 q q5 G/ s2 K% J1 F: T8 k
y2 =
2 K6 w. X! Z& i' j; J
-53/4*x-5/4
, a0 J ^4 f( E
1 b/ X x8 t) U+ C
5.1.4 多项式的导数和积分
- d. C! s( w4 k( t
在MATLAB中,通过函数polyder()和polyint()分别对多项式进行求导和积分。求导和积分互为逆运算,如果先对多项式进行积分,然后再求导,结果仍然为原来的多项式。下面对多项式的求导和积分分别进行讲解。
, f6 K3 g5 c: ]% H
1.多项式的导数
, e }& A( l2 {2 t/ ]* W% P* x
在MATLAB中,采用函数polyder()进行多项式的求导,调用方式如下。
0 J2 E4 ^% v) W
y=polyder(p):对以向量p为系数的多项式求导。
. | t. p! F2 s0 F! i- M8 `
y=polyder(a, b):对以a和b为系数的多项式乘积进行求导。
' f" d, p3 z0 } F0 A# S
[q,d]=polyder(b, a):返回以b为系数的多项式除以以a为系数的多项式的商的导数,并以q/d格式表示。
( T+ x ~( m+ x4 q/ d
【例5-8】 对多项式求导,其MATLAB程序如下:
' v" B; m% T. X1 L7 n* @
+ m3 O) n6 g; y6 i& c# ^1 D
>> p1=[4 3 2];
0 N0 o" h( P" H; G
p2=[2 2 1];
. [2 S+ Y; @9 s$ k" G# E) r: a
y1=polyder(p1); %对多项式p1求导
4 c5 b$ j2 ?5 b- y9 Q1 B p3 B
y1=poly2sym(y1)
: q# w8 n/ [% I5 e5 n5 f
y2=polyder(p1,p2); %对多项式p1和p2的乘积求导
) ^$ u" V. d( w# Z' f, A' B
y2=poly2sym(y2)
) o9 m) O* w7 z- H7 W
[q,d]=polyder(p1,p2); %对多项式p1除以p2的商求导
w4 m4 E1 P$ r6 }: g
q=poly2sym(q)
7 }. z- ~& G$ n; y
d=poly2sym(d)
/ n- {3 l) ?4 j H; |! N
+ j9 r! x* u- Y6 l
运行程序后,输出结果如下:
" Y$ o ?. s6 E4 I! J/ F x' u
/ r& f1 ?/ K4 n) N I3 R
y1 =
1 C- [; c8 \+ }( _2 Z7 ^: L. C9 j$ H
8*x + 3
& [; g; |5 L+ J
y2 =
" r0 N: g" ?. ?! `, ^" s
32*x^3 + 42*x^2 + 28*x + 7
- ~' W: x8 S/ R7 {& Q$ s+ j+ R
q =
+ E! o9 b& r/ j( D
2*x^2 - 1
- ~( F3 E+ M+ E6 l& I5 A$ C s
d =
' I" _/ J& b4 Q( O% u2 T* K. A
4*x^4 + 8*x^3 + 8*x^2 + 4*x + 1
6 p1 _( _; Q7 U6 o e% _
$ z: X: W" m- N
在MATLAB中,通过函数polyder()对多项式进行求导,通过对输入参数和输出参数个数的不同,对相对应的多项式进行求导计算。对于函数[q,d]=polyder(b, a),相当于对多项式 求导,结果为 。
4 G; `' D9 Y' Q& |7 `( A
2.多项式的积分
2 U& z& [, X; C
在MATLAB中,使用函数polyint()对多项式进行积分运算,其调用方式如下。
! g. o8 R$ W6 e' z6 A* h
polyint(p, k):返回以向量p为系数的多项式的积分,积分的常数项为k。
$ y; ~+ X. n3 A( C0 J0 s4 l: i
polyint(p):返回以向量p为系数的多项式的积分,积分的常数项为默认值0。
" t1 h7 u0 z: A" ?
【例5-9】 对多项式 进行积分运算,其常数项分别为3和0,其实现的MATLAB程序代码如下:
{: D, j9 ~+ |8 ?+ \3 X
3 I: p% b! I/ M& U5 B
p1=[3 2 2];
- k8 i" S" Z2 m7 E4 G. \: q0 J
y1=polyint(p1,3); %对多项式p1进行积分,常数项为3
0 S! ?! F2 v# D4 g5 s3 w
y1=poly2sym(y1)
- x+ i+ ?8 }! x$ o0 ] _6 z
y2=polyint(p1); %对多项式p1进行积分,常数项为0
! w5 K1 x. m* v1 R, z7 O
y2=poly2sym(y2)
9 k) k$ u% ?& C
' J* \2 \1 o4 o* [0 I% X7 L) h
运行程序后,输出结果如下:
7 b2 v' A5 G! U# m
% J9 g6 P2 h- ?& v+ L
y1 =
9 k( c8 A/ {2 S# H+ C8 C
x^3 + x^2 + 2*x + 3
, W, `9 M( }2 m \5 X# i7 P6 O
y2 =
/ P2 p5 u: v0 K, E& B
x^3 + x^2 + 2*x
3 ^6 N* U$ _5 b+ Z: p }" W
6 j3 C7 S% h' n3 }1 X5 y4 A \2 A
通过polyint()函数对多项式进行积分运算,积分的常数项通过参数k进行设置。如果不对参数k进行设置,则k取默认值0。
]! r& e( d3 J4 \7 [3 L6 M3 E
5.1.5 多项式展开
- e7 U4 I/ T/ g( w1 n
在MATLAB中,有理多项式用它们的分子多项式和分母多项式进行表示,函数residue()可以将多项式之比用部分分式展开,也可以将一个部分分式用多项式之比进行表示。函数residue()的调用方式如下。
, C: O% q- Y# O1 f' U9 w7 X0 U6 @
[r, p, k]=residue(b, a):求多项式之比b/a的部分分式展开,函数的返回值r是余数,p是部分分式的极点,k是常数项。如果多项式a没有重根,部分分式展开的形式如下:
. l m; y( W( {" g( Q. h$ z/ l( }
! n) P- n3 B2 |, j
其中向量r、p的长度和向量a、b的长度有如下关系:
+ P! a, h" x% u& Y/ t/ H
1 r) m) w% q" J9 r3 [' l* K
当向量b的长度小于a时,向量k中没有元素,否则应满足:
+ `" V: v" d0 Z, D' A( \2 f, Z
( x% |2 O# }! n+ S K1 ]
[b, a]=residue(r, p, k):通过部分分式得到多项式,该多项式的形式为b/a。
% }6 }9 z( W" s) b" ^
【例5-10】 将多项式 和 展开成几个简单多项式的和。其实现的MATLAB代码如下:
7 Y5 g* m, C! h6 F ^1 L5 G
" C; _+ J$ K) c% Y/ S D
>> clear all;
' w- w+ A* k% s. z4 n+ P( \5 d( B. Z
clear all;
/ P; g8 j. d: Q4 n/ E
b=[1 -1 -7 -1]; %分子多项式
) u! v) y8 O) G! l% O4 l; @
a=poly([1;5;6]); %分母多项式
. q7 L2 C w& @) u$ }" q3 J
[r,p,k]=residue(b,a) %进行多项式b/a展开
: V* N" ?, |4 m( V0 M$ j
[b1,a1]=residue(r,p,k); %通过余数、极点和常数项来求多项式b1/a1
1 g# v( D m) A! K/ H9 q
b1=poly2sym(b1)
2 [6 b3 T% ], u* [; @! G( G
a1=poly2sym(a1)
7 l- q% s) s* O8 X# g% C
b=[1 -1 -7 -1]; %多项式a有三重根
- G, P4 T3 T4 d5 F( F' o5 R
a=poly([1;1;1]); %分母多项式
) K6 m2 ?; t: I
[r,p,k]=residue(b,a) %展开多项式b/a
# U, g) K1 t b3 A( Z
5 `! [. C7 x( l- Y
运行程序后,输出结果如下:
4 ~: ~; l5 X) y; H: V8 ~9 j
7 c+ S- ]6 B! R. r+ X
r =
& k1 s2 R8 v I& ^! A7 O) j
27.4000
4 R: D) Y; K- \. m
-16.0000
$ [' T j* C- E9 D
-0.4000
7 k0 _7 z$ m/ F4 e" e; u: }
p =
0 m$ M9 k9 a! ~: J
6.0000
) }1 O1 |6 Q N5 F/ u" i
5.0000
0 @5 @# x7 B/ D8 Y0 A8 b9 L8 E5 |
1.0000
8 [- r' P8 r1 X5 h) j( |9 ?3 I6 }
k =
0 x2 x4 e# ?2 [/ m! ]+ Q, ~
1
3 d0 `7 q. ?8 B3 ]! n
b1 =
" b% _4 i& ?* H6 ?2 a1 }) M3 r
x^3 - x^2 - 7*x - 1
3 _/ v! k6 x! w
a1 =
! U$ A+ e& k0 W2 @
x^3 - 12*x^2 + 41*x - 30
: ?. |. D% {) H2 B7 d D& L/ s
r =
$ {" d2 m" l1 F0 c
2.0000
7 E% B9 J2 R4 I5 z4 k: ?
-6.0000
; @) Y' x0 G3 \5 F
-8.0000
* G* Z$ h4 P4 K7 y) @
p =
. f0 k" `4 w! x/ a6 s0 g
1.0000
, l } p% E) p, ?, W; w5 C
1.0000
Q! u7 i* p% ~
1.0000
/ p& i( `+ {) ^) ~
k =
" W$ t% r9 N& {$ r. o6 T
1
$ m+ x, s3 D- v3 H' c& @
$ \; m d g0 J
利用函数[r, p, k]=residue(b, a)将多项式b/a进行展开,结果为余数、极点和常数项。对该多项式进行展开后的结果如下:
5 `: W K6 A4 y5 h. _
将余数、极点和常数项带入函数[b, a]=residue(r, p, k)中,可以求得对应的多项式,并通过b/a的形式给出。
, B$ Z" e$ D$ z- L' U4 P
当多项式a有三重根1时,对多项式进行展开后的结果如下:
: R$ ~& S5 Z2 ]5 e7 F# j
. h K% l2 ~; x; X l+ v- ^8 T% i
6 u2 Y& }/ u* e; {8 ]& s
9 X2 y5 h6 ?8 d) I3 \
$ G; H, x& h2 g+ n( t# }
作者:
-7up℃.
时间:
2012-6-7 10:36
辛苦了,楼主。。。
作者:
lgmltxs
时间:
2012-6-7 10:55
恩恩,谢谢,我现在去下载看看吧
作者:
123456youare
时间:
2013-1-24 19:07
谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢
作者:
jagger
时间:
2014-9-22 00:44
要是分享电子书就好了
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5