本书是针对工程中常用且行之有效的算法而编写的,并且根据算法的分类以及使用特点作了精心的组织和安排。本书具有以下几个特点:
(1) 书中除收集了传统的算法外,还根据作者工作的经验和近年来数值计算的发展,选取了一些新的、实用的算法。可以说,书中各章几乎都有一些新的算法。
(2) 书中所有的算法程序都经过认真的调试。
(3) 本书全部的算法程序均可从清华大学出版社网站上的本书页面中下载,读者可以从中方便地使用书中的每一个算法程序。
(4) 书中收集的算法都是行之有效的,基本可以满足解决工程中各种实际问题的需要。
书中程序是用C++描述的。根据问题的特点,采取了以下两种描述的方法:
第一种方法是为每一个算法定义一个类。在这种类中,数据成员包括算法所处理的数据以及一些重要参数(相当于面向过程程序设计中子程序的形参),有时也将这个类中的各函数成员所用到的公共数据也作为类的数据成员,以便于各函数成员间互相通信。算法所处理的数据以及一些重要参数一般事先由用户存放在一个文件中,各数据之间用若干个空格或回车换行进行分隔。在这种类中,主要函数成员包括以下4种:
(1) 构造函数与析构函数。对于涉及到问题规模的数据(如矩阵阶数,多项式次数等)一般通过构造函数来提供,以便保证在创建该类对象的同时为数据分配存储空间,并且在析构函数中释放这些空间。有时对于个别数据也通过构造函数来提供。
(2) 文件读入函数。在这个函数中,读入算法所需要处理的数据以及一些重要参数。在执行这个函数过程中,程序会提示用户从键盘键入输入文件名。
(3) 实现算法的执行函数。有时还包括这个算法需要调用的其他一些函数。
(4) 输出函数。在这个函数中,将结果输出到一个文件中(文件名由用户提供), 但一般也在屏幕上显示,对于输出到文件中的结果纯粹是数据,不加任何文字信息,各数据之间只用空格或回车换行作分隔,以便这些数据在以后再用程序处理,而在屏幕上显示的结果中还包含有一些文字说明或格式,以便用户阅读。在执行这个函数过程中,程序会提示用户从键盘键入输出文件名。
显然,用户使用这种算法是很方便的,只要事先准备好存放算法所处理的数据以及一些重要参数的输入文件;然后编写一个主函数,该主函数包括创建该类的对象以及由这个对象分别调用输入函数成员、执行算法的函数成员和输出函数成员语句;在执行程序的过程中,用户只要根据程序的提示,由键盘分别键入输入函数名和输出函数名即可。程序执行完成后,屏幕上即显示带有文字说明或格式的输出结果,在输出文件中同时被写进了输出的数据。
第二种方法是将若干同类算法封装在一个类中。例如,在本书的第10章中,将复数运算封装成一个类,将实系数多项式运算封装成一个类,将复系数多项式运算封装成一个类,以及将各种特殊函数的计算封装成一个类。
限于作者水平,书中难免有错误之处,恳请读者批评指正。
作者
2008年4月
第1章 矩阵运算1
1.1 实矩阵相乘1
1.2 复矩阵相乘4
1.3 一般实矩阵求逆8
1.4 一般复矩阵求逆13
1.5 对称正定矩阵的求逆18
1.6 托伯利兹矩阵求逆的特兰持方法21
1.7 求一般行列式的值25
1.8 求矩阵的秩29
1.9 对称正定矩阵的乔里斯基分解与行列式求值33
1.10 矩阵的三角分解36
1.11 一般实矩阵的QR分解41
1.12 一般实矩阵的奇异值分解46
1.13 求广义逆的奇异值分解法61
第2章 矩阵特征值与特征向量的计算75
2.1 求对称三对角阵的全部特征值与特征向量75
2.2 求实对称矩阵全部特征值与特征向量的
豪斯荷尔德变换法80
2.3 求赫申伯格矩阵全部特征值的QR方法88
2.4 求一般实矩阵的全部特征值95
2.5 求实对称矩阵特征值与特征向量的雅可比法102
2.6 求实对称矩阵特征值与特征向量的雅可比过关法109
第3章 线性代数方程组的求解115
3.1 求解实系数方程组的全选主元高斯消去法115
3.2 求解实系数方程组的全选主元高斯\|约当消去法119
3.3 求解复系数方程组的全选主元高斯消去法124
3.4 求解复系数方程组的全选主元高斯\|约当消去法129
3.5 求解三对角线方程组的追赶法135
3.6 求解一般带型方程组139 3.7 求解对称方程组的分解法146
3.8 求解对称正定方程组的平方根法151
3.9 求解托伯利兹方程组的列文逊方法155
3.10 高斯\|赛德尔迭代法161
3.11 求解对称正定方程组的共轭梯度法165
3.12 求解线性最小二乘问题的豪斯荷尔德变换法169
3.13 求解线性最小二乘问题的广义逆法175
3.14 求解病态方程组189
第4章 非线性方程与方程组的求解195
4.1 求非线性方程实根的对分法195
4.2 求非线性方程一个实根的牛顿法198
4.3 求非线性方程一个实根的埃特金迭代法201
4.4 求非线性方程一个实根的试位法204
4.5 求非线性方程一个实根的连分式法206
4.6 求实系数代数方程全部根的QR方法211
4.7 求实系数代数方程全部根的牛顿下山法216
4.8 求复系数代数方程全部根的牛顿下山法225
4.9 求非线性方程组一组实根的梯度法233
4.10 求非线性方程组一组实根的拟牛顿法238
4.11 求非线性方程组最小二乘解的广义逆法246
4.12 求非线性方程一个实根的蒙特卡洛法262
4.13 求实函数或复函数方程一个复根的蒙特卡洛法265
4.14 求非线性方程组一组实根的蒙特卡洛法269
第5章 插值与逼近274
5.1 Lagrange插值274
5.2 连分式插值277
5.3 埃尔米特插值281
5.4 埃特金逐步插值284
5.5 光滑插值288
5.6 第一种边界条件的三次样条函数插值、微商与积分294
5.7 第二种边界条件的三次样条函数插值、微商与积分301
5.8 第三种边界条件的三次样条函数插值、微商与积分307
5.9 二元Lagrange插值314
5.10 最小二乘曲线拟合319
5.11 切比雪夫曲线拟合326
5.12 最佳一致逼近的里米兹方法332
5.13 矩形域的最小二乘曲面拟合337
第6章 数值积分348
6.1 变步长梯形求积法348
6.2 变步长辛卜生求积法351
6.3 自适应梯形求积法353
6.4 龙贝格求积法356
6.5 计算一维积分的连分式法359
6.6 高振荡函数求积法363
6.7 勒让德-高斯求积法368
6.8 拉盖尔-高斯求积法371
6.9 埃尔米特-高斯求积法374
6.10 切比雪夫求积法376
6.11 计算一维积分的蒙特卡洛法379
6.12 变步长辛卜生二重积分法382
6.13 计算多重积分的高斯方法386
6.14 计算二重积分的连分式法391
6.15 计算多重积分的蒙特卡洛法395
第7章 常微分方程组的求解399
7.1 定步长欧拉方法399
7.2 变步长欧拉方法404
7.3 维梯方法409
7.4 定步长龙格-库塔方法414
7.5 变步长龙格-库塔方法419
7.6 变步长基尔方法424
7.7 变步长默森方法430
7.8 连分式法436
7.9 双边法444
7.10 阿当姆斯预报校正法450
7.11 哈明方法456
7.12 特雷纳方法463
7.13 积分刚性方程组的吉尔方法470
7.14 二阶微分方程边值问题的数值解法487
第8章 数据处理494
8.1 随机样本分析494
8.2 一元线性回归分析499
8.3 多元线性回归分析503
8.4 逐步回归分析510
8.5 半对数数据相关521
8.6 对数数据相关525第9章 极值问题的求解529
9.1 一维极值连分式法529
9.2 n维极值连分式法532
9.3 不等式约束线性规划问题538
9.4 求n维极值的单形调优法545
9.5 求约束条件下n维极值的复形调优法552
第10章 复数、多项式与特殊函数的计算562
10.1 复数运算562
10.2 实系数多项式的计算569
10.3 复系数多项式的计算574
10.4 特殊函数的计算581
第11章 查找与排序619
11.1 顺序表的查找与排序619
11.2 结构表的查找与排序629
11.3 磁盘文件结构表的查找与排序636
11.4 磁盘随机文本文件的字符串匹配642参考文献646
没有合适的资源?快使用搜索试试~ 我知道了~
常用算法程序集(C++语言描述)第四版 徐士良
共392个文件
out:176个
cpp:109个
txt:105个
4星 · 超过85%的资源 需积分: 12 31 下载量 126 浏览量
2013-04-06
15:53:57
上传
评论 1
收藏 248KB RAR 举报
温馨提示
徐士良老师的常用算法程序集,是我们做程序以及学习C++的好工具,为我们做相关研究提供巨大的方便,为此,特上传共用!!
资源推荐
资源详情
资源评论
收起资源包目录
常用算法程序集(C++语言描述)第四版 徐士良 (392个子文件)
10SP_FUNC.CPP 25KB
4NGIN.CPP 18KB
1GINV.CPP 16KB
3GMIV.CPP 16KB
1MUAV.CPP 15KB
7GEAR.CPP 14KB
4SRRT.CPP 9KB
4CSRT.CPP 9KB
5PIR2.CPP 8KB
2STRQ.CPP 7KB
9CPLX.CPP 7KB
2BGQR.CPP 7KB
8REGRES_3.CPP 7KB
11LLIST.CPP 6KB
4QRRT.CPP 6KB
SPLIN3.CPP 6KB
10COM_POLY.CPP 6KB
9LPLQ.CPP 5KB
11DISK_LIST.CPP 5KB
2HHQR.CPP 5KB
4NETN.CPP 5KB
3CJDN.CPP 5KB
9JSIM.CPP 5KB
5SPLIN2.CPP 5KB
5SPLIN1.CPP 5KB
7HAMMING.CPP 5KB
7GJFQ.CPP 5KB
5AKIMA.CPP 5KB
8REGRES_2.CPP 5KB
7ADAMS.CPP 5KB
3CGAS.CPP 5KB
3BINT.CPP 5KB
7RAT_PBS.CPP 5KB
7TREANOR.CPP 5KB
11STR_LIST.CPP 5KB
3GMQR.CPP 5KB
5CHIR.CPP 5KB
1CINV.CPP 5KB
7MERSON.CPP 5KB
9RAT_MAXN.CPP 4KB
2SSTQ.CPP 4KB
5REMZ.CPP 4KB
10COMPLE.CPP 4KB
7GILL.CPP 4KB
7RUNG_KUTA_1.CPP 4KB
3GJDN.CPP 4KB
5PIR1.CPP 4KB
5LAGR2.CPP 4KB
10POLYNOMIAL.CPP 4KB
1MAQR.CPP 4KB
3LDLE.CPP 4KB
2JCBI.CPP 4KB
3BAND.CPP 4KB
7EULER1.CPP 4KB
2JCBJ.CPP 4KB
4SNSE.CPP 4KB
7DFTE.CPP 4KB
3GAUS.CPP 4KB
3CHLK.CPP 3KB
6RATG2.CPP 3KB
6NL_GAS.CPP 3KB
8RHIS.CPP 3KB
1TCMUL.CPP 3KB
7RUNGE_KUTTA.CPP 3KB
1RINV.CPP 3KB
3GRAD.CPP 3KB
7WITTY.CPP 3KB
6PART.CPP 3KB
7EULER.CPP 3KB
1TRCH.CPP 3KB
1LLUU.CPP 3KB
6SIMP2.CPP 3KB
9RAT_MAX1.CPP 3KB
4NMTCL.CPP 3KB
3TLVS.CPP 3KB
4DHRT.CPP 3KB
8LOG1.CPP 3KB
5ATK.CPP 3KB
1CHOL.CPP 3KB
8LOG2.CPP 3KB
8REGRES.CPP 3KB
5PQRAT.CPP 3KB
3GSDL.CPP 3KB
1SDET.CPP 2KB
4CMTCL.CPP 2KB
1RANK.CPP 2KB
1SSGJ.CPP 2KB
6NG_MTCL.CPP 2KB
1TRMUL.CPP 2KB
3TRDE.CPP 2KB
4PQRT.CPP 2KB
5LAGR.CPP 2KB
5HMT.CPP 2KB
6LEG_GAS.CPP 2KB
6RATG.CPP 2KB
4RMTCL.CPP 2KB
6FPTS.CPP 2KB
6CBSV.CPP 2KB
4NEWT.CPP 2KB
6ROMB.CPP 2KB
共 392 条
- 1
- 2
- 3
- 4
资源评论
- bollenzhang2018-09-02很有用,谢谢
belon007
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功