1 计算科学 1
前言 1
1.1 实验、理论和计算 2
1.2 解决计算问题 3
1.3 向前进 7
2 人口密度:数字的计算特性 9
2.1 模型 10
2.3 实现 11
2.4 算术表达式 11
2.2 方法 11
2.5 有理数 16
2.6 Mathematica中的有理数 17
2.7 浮点数 17
2.8 Mathematica中的浮点数 22
2.9 评价 24
2.10 关键概念 26
2.11 练习 27
3 厄拉多塞:有效数字及其区间运算 29
3.1 模型 29
3.2 方法 30
3.3 实现 31
3.4 实现评价 33
3.5 方法评价 36
3.6 模型评价 38
3.7 问题评价 39
3.8 关键概念 40
3.9 练习 40
4 通向天国之梯:舍入误差的积累 43
4.1 归纳的模型 44
4.2 调和级数求和 47
4.3 舍入误差的积累 48
4.4 评价 54
4.5 关键概念 57
4.6 练习 57
5 基蒂霍克:自定义函数 59
5.1 模型 59
5.2 方法 60
5.3 实现 61
5.4 评价 66
5.6 练习 68
5.5 关键概念 68
6 婴儿潮:符号计算 71
6.1 单利率 71
6.2 复利率 75
6.3 连续利率 78
6.4 评价 81
6.5 关键概念 83
6.6 练习 83
7 弹道轨迹:科学的可视化 87
7.1 弹道运动 88
7.2 科学的可视化 89
7.3 运动函数 90
7.4 二维图 94
7.5 列表 97
7.6 多重曲线图 98
7.7 参数图 99
7.8 动画 101
7.9 关键概念 104
7.10 练习 106
8 莱特海湾的战斗:符号数学 109
8.1 固定轨迹 110
8.2 任意轨迹 114
8.3 阻力的作用 117
8.4 分段轨迹 119
8.5 最后评价 122
8.6 关键概念 122
8.7 练习 123
9 老麦克唐纳的奶牛:命令式程序设计 125
9.1 在Mathematica里求解方程 128
9.2 二分法 131
9.3 一个二分法函数 134
9.4 评价 141
9.5 关键概念 144
9.6 练习 144
10 C语言导引 147
10.1 Mathematica背景 147
10.2 C语言背景 148
10.3 C程序的例子 148
10.4 解释器和编译器 150
10.5 Mathematica与C的差异 152
10.7 厄拉多塞问题 154
10.6 关于学习C语言 154
10.8 基蒂霍克问题 157
10.9 关键概念 158
10.10 练习 158
11 机器人举重:直接的程序 161
11.1 连接图的三角学 162
11.2 直接程序的组成部分 164
11.3 类型 166
11.4 表达式 169
11.5 简单语句 171
11.6 函数Main 172
11.7 库 173
11.8 评价 176
11.9 关键概念 177
11.10 练习 177
12 滑块:条件与函数 181
12.1 没有摩擦的无限长斜坡 182
12.2 有摩擦的无限长斜坡 185
12.3 有摩擦的有限长斜坡 188
12.4 自定义函数 190
12.5 评价 195
12.6 关键概念 196
12.7 练习 196
13 圆杆堆垛:利用函数设计 199
13.1 分解问题 200
13.2 设计 203
13.3 实现 206
13.4 评价 213
13.5 关键概念 213
13.6 练习 214
14 牛顿法 217
14.1 牛顿法 218
14.2 牛顿法的实现 220
14.3 二分法实现 227
14.4 评价 229
14.5 关键概念 232
14.6 练习 233
15 瓦楞板:多文件程序 235
15.1 数值积分 236
15.2 矩形法 238
15.3 矩形法的实现 241
15.4 梯形法 244
15.5 梯形法的实现 247
15.6 多文件程序 250
15.7 矩形法和梯形法的比较 255
15.8 关键概念 255
15.9 练习 256
16 简谐振动:结构与抽象数据类型 259
16.1 复数根的牛顿法 260
16.2 重返圆杆堆垛问题 262
16.3 重返牛顿法 267
16.4 评价 275
16.5 关键概念 277
16.6 练习 277
17 杆中的热传导:数组 281
17.1 热流模型 282
17.2 有限元法 285
17.3 实现 286
17.4 评价 297
17.5 关键概念 300
17.6 练习 300
18 热传导的可视化:数组作为参数 303
18.1 数组作参数 305
18.2 文件输入 309
18.3 文件输出 312
18.4 评价 318
18.5 关键概念 320
18.6 练习 320
附录A Mathematica的功能 323
A.1 单位 323
A.2 数学排版 326
A.3 浮点数仿真 328
A.4 任意精度数 331
A.5 Mathematica和C一起使用 335
附录B Mathematica函数和常数 343
附录C C语言库函数 349
附录D 使用Mathematica2.2 351
D.1 浮点数的语法 351
D.2 数学排版 352
D.3 特殊常数 352
D.4 符号功能 354
参考文献 357
索引 359