第一章 预备知识 1
1.1 引言 1
1.2 Mathematica的使用 4
1.2.1 进入Mathematica和退出Mathematica 4
1.2.2 寻求帮助 5
1.2.3 输入内容的句法 6
1.2.4 出错信息 10
1.3.1 表达式的内部形式 12
1.3 Mathematica语言 12
1.3.2 谓语和布尔运算 13
1.3.3 表达式的计算 16
1.3.4 属性 19
1.4 Mathematica界面 20
1.4.1 笔记本前端 20
1.4.2 命令行界面 25
第二章 Mathematica概述 27
2.1 数值计算和符号计算 27
2.2.1 有关数论方面的函数 33
2.2 函数 33
2.2.2 有关线性代数方面的函数 36
2.2.3 随机数字生成器 39
2.2.4 程序包 40
2.3 图形 43
2.3.1 二维图形 43
2.3.2 参数图形 44
2.3.3 三维图形 46
2.4 数据的表示 50
2.5 程序设计 52
2.5.1 举例——调和数 53
2.5.2 举例——完备数 55
第三章 表操作 57
3.1 引言 57
3.2 表的创建与表的测量 58
3.2.1 表的构建 58
3.2.2 表的维数 60
3.3.2 抽取表中元素及重新排列表元素的位置 63
3.3.1 表中元素的位置 63
3.3 对表中元素的处理 63
3.4 对多个表的处理 70
3.5 高阶函数 71
3.6 函数对表的重复作用 76
3.7 字符串和字符 78
4.2 以函数形式出现的程序 85
4.2.1 嵌套函数调用 85
4.1 引言 85
第四章 函数 85
4.2.2 值的名称 90
4.3 用户自定义函数 94
4.4 辅助函数 100
4.4.1 复合函数 100
4.4.2 把名称局部化 101
4.5 匿名函数 107
4.6 单行函数 112
4.6.1 约瑟夫逊问题 112
4.6.2 口袋中的零用钱 114
第五章 表达式的计算 121
5.1 引言 121
5.2 建立重写规则 121
5.2.1 全局规则库 122
5.3 表达式 125
5.3.1 Atoms 127
5.4 模式 129
5.4.2 表达式模式匹配 130
5.4.1 下划线 130
5.4.3 序列模式匹配 132
5.4.4 限制性模式匹配 134
5.4.5 选择性模式匹配 135
5.5 术语重写 137
5.6 变换规则 142
第六章 条件函数定义 142
6.1 引言 149
6.2 条件函数 149
6.3 例题——把点分类 152
第七章 递归 157
7.1 斐波那契数 165
7.2 表函数 165
7.3 递归式思维 168
7.4 递归与符号计算 181
7.5 高斯消元法 187
7.6 树 195
7.6.1 二元树 196
7.6.2 Huffman编码 198
7.7 动态程序设计 209
7.8 高阶函数及其递归运算 213
7.9 查错 217
7.9.1 对计算机过程进行跟踪显示 217
7.9.2 显示出变量 218
7.9.3 常见错误 219
第八章 迭代 223
8.1 牛顿法 223
8.1.1 Do循环 224
8.1.2 While循环 228
8.2 向量和矩阵 236
8.2.1 表元素赋值 237
8.2.2 求素数 238
8.3 使数组成为函数的变元 243
8.4 再次使用高斯消元法 245
第九章 数 253
9.1 数的类型 253
9.1.1 整数和有理数 253
9.1.2 实数 255
9.1.3 复数 258
9.1.4 有不同类型数据参与的计算 260
9.1.5 各数位上的数字、数基 262
9.2 随机数 269
9.3 精确度和准确度 277
9.3.1 舍入误差 279
9.4 数值计算 283
9.4.1 再次讨论牛顿法 283
9.4.2 再次讨论高斯消元法 285
10.1.1 二维图形基本元素 297
第十章 图形程序设计 297
10.1 图形基本元素 297
10.1.2 三维图形基本元素 304
10.2 图形批令和图形选项 310
10.3 内置指令函数 316
10.3.1 内置图形函数的结构 316
10.3.2 图形反常 319
10.3.3 内置图形函数的选项 323
10.4.1 简单闭路 332
10.4 图形程序设计 332
10.4.2 画树 338
10.5 声音 351
10.5.1 数学声音 351
10.5.2 白色音乐、布朗音乐及碎片器声 356
第十一章 应用 367
11.1 随机游动 367
11.1.1 引言 367
11.1.2 一维随机游动 368
11.1.4 将二维格点游动可视化 369
11.1.3 二维格点游动 369
11.1.5 二维格点游动的数值分析 372
11.2 生命游戏 377
11.3 实现语言 385
第十二章 目录和程序包 407
12.1 引言 407
12.2 程序包的使用 407
12.2.1 调用程序包 408
12.2.2 查找程序包的内容 408
12.3 目录 410
12.4 程序包 414
12.5 避免名称之间的相互冲突 415
12.6 BaseConvert程序包 416
12.7 随机游动程序包 419
12.7.1 加入选项和默认值 419
12.7.2 随机游动程序包 422
参考文献 431
索引 435