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