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