20世纪70年代中期,Cleve Moler博士和其同事在美国国家科学基金的资助下开发了调用EISPACK和LINPACK的FORTRAN副程式库。EISPACK是特征值求解的FORTRAN程式库,LINPACK是解线性方程的程式库。当时,这两个程式库代表矩阵运算的最高水准。
20世纪70年代后期,身为美国新墨西哥大学(New Mexico)电脑系系主任的Cleve Moler,在给学生讲授线性代数课程时,想教学生使用EISPACK和LINPACK程式库,但发现学生用FORTRAN编写介面程式很费时间,于是他开始自己动手,利用业余时间为学生编写EISPACK和LINPACK的介面程式。Cleve Moler给这个介面程式取名为MATLAB,该名为矩阵(Matrix)和实验室(Labotatory)两个英文单词的前三个字母的组合。以后的数年, MATLAB在多所大学里做为教学辅助软体使用,并做为面向大众的免费软体广为流传。
在当今30多个数学类科技应用软体中,就软体数学处理的原始内核而言,可分为两大类。一类是数值计算型软体,例如MATLAB,Xmath及Gauss等,这类软体的优势是数值计算,处理大批资料效率高;另一类是数学分析型软体,如Mathematica及Maple等,这类软体以符号计算见长,能给出解析解和任意精确解,缺点是处理大量资料时效率较低。MathWorks公司顺应多功能需求之潮流,在其卓越的数值计算和图示能力的基础上,又率先从专业水准上开拓了符号计算,文字处理,视觉化建模和即时控制能力,开发出了适合多学科,多部门要求的新一代科技应用软体MATLAB。经过多年的国际竞争,MATLAB已经佔据了数值软体市场的主导地位。
在MATLAB进入市场前,国际上的许多套装软体都是直接以FORTRAN及C语言等编程语言开发的。这些套装软体的缺点是使用面窄、介面简陋、程式结构不开放以及没有标准的基库,很难适应各学科的最新发展,因而很难推广。MATLAB的出现,为各国科学家开发学科软体提供了新的基础。在MATLAB问世不久的20世纪80年代中期,原先控制领域里的一些套装软体纷纷被淘汰或在MATLAB上重建。
时至今日,经过MathWorks公司的不断完善,MATLAB已经发展成为适合多学科,多种工作平台的功能强大的大型软体。在国外,MATLAB已经经历了多年的考验。在欧美等高校,MATLAB已经成为“线性代数”、“自动控制理论”、“数理统计”、“数位信号处理”、“时间序列分析”及“动态系统模拟”等课程的基本教学工具;成为攻读学位的大学生、硕士生及博士生必须掌握的基本技能。在设计研究单位和工业部门,MATLAB被广泛用于科学研究和解决各种具体问题。在工程界,无论你从事工程方面的哪个学科,都能在MATLAB里找到适合的功能。
本书特色
MATLAB的应用领域是非常广泛,能运用在以下几个方面:
1.基本的资料处理。
2.最佳化和解方程。
3.即时的和非即时的动态过程模拟。
4.资料来源:Excel、资料库、A/D等。
5.嵌入式的控制:Pc/104和DSP。
6.神经元网路、小波分析、GA等。
7.虚拟实境模拟。
序
前言
1基础知识导论1
MATLAB概述1
1.1 MATLAB的发展历程和应用2
1.2 MATLAB的特点7
1.3 MATLAB的工具箱8
1.4 MATLAB的工作环境9
1.4.1 MATLAB的启动与退出9
1.4.2 MATLAB主功能表及功能10
1.4.3 MATLAB命令窗口15
1.4.4 MATLAB工作空间17
1.4.5 MATLAB文件管理18
1.4.6 MATLAB帮助使用19
2MATLAB程式设计基础21
2.1 变数与常量22
2.2 资料类型22
2.2.1 数值型23
2.2.2 字元与字串24
2.2.3 元胞阵列28
2.2.4 构架阵列28
2.3 关系运算与逻辑运算28
2.4 文件与程式结构29
2.4.1 M文件29
2.4.2 输入与输出31
2.5 MATLAB程式基本语句33
2.5.1 程式分支控制语句33
2.5.2 程式回圈控制语句37
2.5.3 程式终止控制语句40
2.5.4 程式异常处理语句41
2.6 MATLAB函数42
2.6.1 函数42
2.6.2 子函数43
2.6.3 私有函数45
2.6.4 嵌套函数45
2.7 MATLAB程式调试46
2.7.1 调试方法47
2.7.2 调试工具48
2.8 基本绘图方法50
2.8.1 二维图形函数与调用方法50
2.8.2 二维图形处理57
2.8.3 三维图形的基本函数67
2.8.4 三维曲线图67
2.8.5 三维网格图68
2.8.6 立体曲面图69
2.8.7 专用图形73
2.9 数值矩阵84
2.9.1 数值矩阵的创建84
2.9.2 数值矩阵的矩阵演算法89
2.9.3 数值矩阵的阵列演算法94
3误差99
3.1 误差的分类100
3.1.1 输入资料的误差100
3.1.2 舍入误差100
3.1.3 截断误差100
3.2 绝对误差、相对误差和有效数字102
3.2.1 绝对误差102
3.2.2 相对误差102
3.2.3 有效数字103
3.3 电脑的浮点数和舍入误差104
3.3.1 电脑的浮点数表示104
3.3.2 舍入误差的精度损失105
3.4 误差估计106
3.5 数值运算中的一些原则107
3.5.1 要有数值稳定性107
3.5.2 要防止大数吃掉小数108
3.5.3 要避免两相近数相加109
3.5.4 要避免除数绝对值远小于被除数绝对值109
3.5.5 要减少运算次数110
3.6 MATLAB中的数值计算精度111
4插值法与曲线拟合113
4.1 拉格朗日(Lagarrange)插值法115
4.1.1 线性插值115
4.1.2 抛物插值116
4.1.3 拉格朗日插值多项式与插值余项117
4.1.4 拉格朗日插值的MATLAB118
4.2 艾特金(Aitken)演算法120
4.2.1 构造艾特金插值表120
4.2.2 艾特金插值的MATLAB实现122
4.3 牛顿插(Newton)值法125
4.3.1 差商125
4.3.2 牛顿插值126
4.3.3 牛顿插值的MATLAB实现127
4.4 差分与等间距节点插值法130
4.4.1 差分130
4.4.2 等间距节点插值公式132
4.5 赫米特(Hermite)插值法137
4.5.1 赫米特插值函数137
4.5.2 赫特插值的MATLAB140
4.6 有理分式插值法142
4.6.1 有理函数插值的基本概念142
4.6.2 有理函数插值的存在性143
4.6.3 连分式插值144
4.6.4 逐步有理插值148
4.7 函数逼近150
4.7.1 正交多项式151
4.7.2 拉建杰多项式152
4.7.3 柴比雪夫多项式154
4.8 曲线拟合158
4.8.1 最小二乘法158
4.8.2 MATLAB中的最小二乘法160
4.8.3 MATLAB中的曲线拟合162
4.9 MATLAB中的插值函数164
4.9.1 一元函数的插值命令164
4.9.2 二元函数的插值命令166
5线性方程组的数值解法169
5.1 高斯消去法171
5.1.1 顺序消去法171
5.1.2 列主元素高斯消去法175
5.1.3 高斯-乔登消去法181
5.2 分解法185
5.2.1 LU分解法185
5.2.2 对称正定矩阵的乔莱斯基分解190
5.3 叠代法193
5.3.1 可比叠代法193
5.3.2 高斯-赛德叠代法196
5.3.3 逐次超松弛叠代法199
5.4 MATLAB中线性方程组数值解的函数203
5.4.1 求矩阵的秩(rank)203
5.4.2 求矩阵的零空间向量(null)205
5.5 MATLAB中矩阵三角分解的函数208
6非线性方程求解215
6.1 非线性方程求解方法217
6.1.1 二分法217
6.1.2 叠代法221
6.1.3 牛顿法225
6.1.4 抛物线法229
6.1.5 割线法233
6.2 求解非线性方程值解的MATLAB函数236
6.2.1 代数方程的求根函数(root)236
6.2.2 求函数零点的函数(fzero)238
6.2.3 求方程组数值解的指令241
6.3 求解非线性方程的MATLAB符号命令244
7数值微分与数值积分249
7.1 数值微分方法250
7.1.1 平均变化率方法250
7.1.2 三点公式254
7.1.3 样条求导数257
7.1.4 理查森外推加速法260
7.2 MATLAB常用数值微分函数举例263
7.2.1 函数(diff)263
7.2.2 函数(gradient)和函数(surfnorm)265
7.2.3 函数(jacoian)267
7.3 数值积分268
7.3.1 插值型的求积公式270
7.3.2 内插求积公式271
7.4 梯形公式、抛物线公式与牛顿-柯特斯公式271
7.4.1 梯形公式272
7.4.2 辛普生公式275
7.4.3 牛顿-柯特斯公式279
7.5 复合式求积公式285
7.5.1 复合式梯形求积公式286
7.5.2 复合式抛物线形求积公式288
7.6 高斯—拉建杰求积公式290
7.6.1 高斯-拉建杰求积公式基本原理290
7.6.2 高斯-拉建杰求积公式的MATLAB291
7.7 隆贝格求积公式295
7.7.1 隆贝格求积公式简介295
7.7.2 隆贝格求积公式的MATLAB295
7.8 复合式求积公式的函数298
7.8.1 复合式矩阵形法求积计算函数sum()298
7.8.2 复合式梯形法求积函数trapz()301
7.9 MATLAB常用数值积分函数304
7.9.1 quad()函数304
7.9.2 quadl()函数307
7.9.3 dblquad()函数309
7.9.4 triplequad()函数313
7.9.5 计算积分的MATLAB符号法315
8矩阵特征值的计算323
8.1 特征值与特征向量的基础知识324
8.1.1 概念及性质324
8.1.2 向量模326
8.1.3 矩阵模327
8.1.4 谱半径329
8.1.5 叠代法的收敛性329
8.1.6 叠代法的误差估计330
8.2 特征值求取330
8.2.1 特征多项式法330
8.2.2 幂次法332
8.2.3 反幂次法339
8.2.4 QR方法基础344
8.3 函数eig()计算特征值346
8.4 舒尔分解法和奇异值分解349
8.5 矩阵指数计算351
8.6 计算模和矩阵谱半径的函数353
9常微分方程的数值解355
9.1 常微分方程的基本概念356
9.2 欧拉方法357
9.2.1 欧拉方法357
9.2.2 欧拉法的局部截断误差360
9.2.3 隐式欧拉法361
9.2.4 两步欧拉方法362
9.2.5 改进的欧拉法363
9.3 兰吉—库塔法364
9.3.1 兰吉—库塔法的基本概念364
9.3.2 二阶兰吉-库塔法365
9.3.3 三阶兰吉-库塔法367
9.3.4 四阶兰吉-库塔法368
9.4 亚当斯方法370
9.4.1 亚当斯方法370
9.4.2 亚当斯预测-校正系统371
9.5 在MATLAB中求解常微分方程的初值问题372
9.5.1 欧拉法372
9.5.2 隐式欧拉法374
9.5.3 改进的欧拉法376
9.5.4 二阶兰吉-库塔法378
9.5.5 三阶兰吉-库塔法382
9.5.6 四阶兰吉-库塔法385
9.5.7 亚当斯法391
9.5.8 其他方法的应用397
9.5.9 求常微分方程初值问题数值解的函数421
总的来说,我对《MATLAB数值分析》这本书充满了期待,觉得它很有可能成为我案头必备的参考书。我之所以这么看重它,是因为我一直认为,理论学习与实践操作相结合是学习任何一门学科最有效的方式。而MATLAB作为一个强大而灵活的数值计算平台,恰恰能为数值分析的理论提供最生动的实践载体。这本书如果能做到将复杂的数值算法以MATLAB代码的形式清晰呈现,并且附带详细的解释和应用场景,那绝对是物超所值。我非常希望书中能包含一些“进阶”的章节,比如介绍一些更高级的数值方法,或者探讨一些数值计算的性能优化技巧。毕竟,在处理大规模问题时,算法的效率往往是决定成败的关键。此外,一本好的教材,除了理论清晰、代码可靠,还应该能够引发读者的思考,鼓励他们去探索和发现。不知道这本书在章节的结尾,是否会设置一些思考题或者小型项目,让我们有机会将所学知识融会贯通,甚至进行一些初步的创新?如果能有这样的设计,那这本书的教育意义将大大提升,也会让我在学习过程中更有成就感。
评分哇,看到《MATLAB数值分析》这本新书上市,我真的超兴奋!平常在学校里接触数值分析,常常觉得那些公式和理论都好抽象,有时候老师讲得飞快,下课后自己再看课本,常常雾里看花,一头雾水。但这本书的封面设计就很吸引人,感觉不是那种冷冰冰的学术书,比较有亲和力。我一直觉得,数学理论再怎么扎实,最终还是要落实到实际的应用上,才能真正理解它的精髓。而MATLAB,绝对是目前工程界和学术界最常用的计算工具之一,它的强大功能和易用性,让许多复杂的计算变得简单可行。我之前尝试过用其他语言写一些数值算法,过程简直是灾难,调试了半天都出不来正确结果。所以,我非常期待这本书能够把MATLAB的强大计算能力和数值分析的精髓结合起来,用更直观、更具象的方式来展现各种数值方法的原理和应用。想象一下,通过MATLAB的图形化界面,我们可以直接看到迭代过程的收敛速度,或者模拟不同参数对结果的影响,那种理解的深度肯定会远超单纯看公式。这本书会不会包含一些实际工程问题的案例分析?比如如何用数值方法来求解流体力学的偏微分方程,或者在信号处理中如何进行傅里叶变换的数值逼近?如果能有这样的内容,那就太棒了!我一直在找一本能够真正帮助我将理论知识转化为实际解决问题能力的教材,这本书绝对是我的首选目标。
评分我一直在考虑,这本书的内容是否能够帮助我提升在数据分析领域的实操能力。现在的数据量越来越大,很多情况下我们无法得到解析解,只能依靠数值方法来进行近似计算。比如,在机器学习领域,很多优化算法(如梯度下降法)本质上就是一种数值迭代过程。掌握了《MATLAB数值分析》中的相关知识,是不是就能更深入地理解这些算法的工作原理,并能根据实际问题进行调整和优化?我特别想知道,书中会不会涉及到一些与机器学习、数据挖掘或信号处理等领域相关的实际应用案例。例如,如何用MATLAB实现一个简单的线性回归模型的数值求解,或者如何利用数值积分来计算概率分布的累积密度函数?如果能够看到这些将数值分析理论与现代数据科学实践相结合的内容,我一定会觉得这本书的价值非凡。毕竟,学习一门技术,最终还是要看它能否解决实际问题,为我们的工作和研究带来价值。我希望这本书能成为我打开数值分析大门的一把钥匙,同时也为我深入探索更广阔的计算领域打下坚实的基础。
评分拿到《MATLAB数值分析》这本书,我第一时间就翻阅了一下目录,发现里面涵盖的章节安排得相当有条理。从基础的线性方程组求解,到更复杂的插值、逼近、数值积分和微分,再到微分方程的数值解法,这些都是数值分析的核心内容,也是我们在学习和研究过程中经常会遇到的难题。我特别好奇的是,作者在讲解这些方法的时候,会不会深入到算法的底层逻辑?比如,在讲解高斯消元法时,会不会深入分析其计算复杂度和数值稳定性问题?又或者是在讲到迭代法时,会不会详细介绍不同的迭代策略及其收敛性的判断依据?我一直觉得,知其然更要知其所以然,光是学会调用MATLAB的函数是远远不够的,理解算法背后的数学原理和潜在的误差来源,才能让我们在实际应用中做出更明智的选择,并且在遇到问题时能够快速定位和解决。而且,我一直对误差分析这个部分非常感兴趣,因为在数值计算中,误差是无处不在的,了解不同方法的误差来源和控制手段,对于保证计算结果的可靠性至关重要。我希望这本书能在这方面提供清晰的解释和实用的指导。不知道里面会不会有一些关于如何选择最适合特定问题的数值方法的建议?这对于初学者来说,绝对是宝贵的经验。
评分这本书的排版和图表设计也给我留下了深刻的印象。我之前看过的几本关于数值分析的书,很多都只是枯燥的文字和公式,看起来就让人提不起精神。但《MATLAB数值分析》在这方面做得相当不错,图文并茂,特别是那些用MATLAB生成的各种曲线图和三维图像,不仅让抽象的概念变得直观易懂,也增加了阅读的趣味性。我特别期待看到书中如何利用MATLAB强大的绘图功能来展示数值方法的行为。比如,在讲解插值方法时,如何用图形来比较不同插值函数(如线性插值、多项式插值、样条插值)的拟合效果?又或者是在讨论求解非线性方程的迭代法时,如何用图形来描绘根的逼近过程,甚至是展示发散的情况?这种可视化方式,绝对能够帮助我们更深刻地理解算法的收敛性和局限性。另外,我一直认为,好的教材不仅仅是传授知识,更重要的是激发读者的学习热情和探索精神。如果这本书能够通过精美的图表和生动的讲解,让我们感受到数值分析的魅力,那它就已经成功了一半。不知道这本书的实例代码是否都经过了精心优化,并且有详细的注释?这对于我们这些需要亲手实践的读者来说,非常重要。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 ttbooks.qciss.net All Rights Reserved. 小特书站 版权所有