●基础篇 1
目录 1
第一章 引言——现在为什么要用APL? 2
1.1 APL的特点 7
1.2 APL的发展过程 12
第二章APL的简单用法 15
2.1键盘 15
2.2进入APL世界 16
2.3和APL系统简单会话 17
2.4退出APL世界 33
3.1 函数型语言APL 34
第三章APL的函数 34
3.2原始函数、系统函数和用户定义函数 37
3.3数值运算的原始函数 38
第四章数组和数组操作函数 44
4.1 APL的数组数据 44
4.2标量、矢量、矩阵、数组和秩(rank) 44
4.3数组之间的运算和匹配 48
4.4 代入←、形状与变形ρ、矢量化,(逗号) 50
4.5 自然数列生成函数?(iota) 53
4.6 轴(axis)[ ] 56
4.7 连结(catenate),(逗号) 57
4.8 加轴连结(laminate)[ ],(逗号) 60
4.9 倒置(reverse)和旋转(rotate)φ? 64
4.10转置(transpose)? 67
第五章数组操作的算符 73
5.1 什么是算符(operator) 73
5.2 归并(reduction) ∫/,∫? 73
5.3扫描(scan) ∫\,∫? 76
5.4 内积(inner product)∫·g 77
5.5 外积(outer product)o·∫ 80
6.1 数组元素的操作模式 82
——APL程序设计的窍门 82
第六章数组元素的操作 82
6.2条件测试的原始函数 84
6.3从数组数据取出元素 88
6.4 根据条件取出数据及程序设计实例 96
6.5适用例子——求素数的问题 102
第七章 字符数据的操作和格式化 107
7.1 APL中字符数据的处理 107
7.2内部表示和字符表示 ?? 108
7.3格式函数? 110
7.4输入输出处理?? 112
7.5编码函数和译码函数?⊥ 114
7.6编码和译码的应用实例 116
第八章用户定义函数——APL的程序 121
8.1 什么是用户定义函数 121
8.2用户定义函数的形式和作法 122
8.3用户定义函数的自变量和返回值、全局变量、局部变量 126
8.4 APL中的结构化程序设计 129
8.5 APL中的递归调出 131
8.6工作区和系统代码 135
第九章APL的新发展 138
9.1 APL2 138
9.2微机APL 142
9.3结束语——APL的心脏 143
●应 用 篇:例题解说◇这些问题用APL怎么写? 147
例题1 给数组加指标 149
例题2 附加条件的平均值 150
例题3 字符检索 152
例题4 情报检索 154
例题5简单方程 156
例题6公式输入和数值积分 159
例题7和其他语言的比较 162
例题8 APL的惯用句型 166
例题9制表程序 169
例题10数据合计 173
例题11 标准偏差和相关系数 177
例题12时间序列数据的处理 180
例题13最小二乘法和回归系数 182
例题14作图问题 185
例题15文字统计 188
例题16蒙特卡罗法 191
例题17正态随机数 194
例题18模拟 198
例题19 日历问题 201
例题20猜年龄 204
例题21职业棒球赛成绩表 208
例题22输入数据的校核 212
例题23频数表 215
例题24排得分顺序 217
例题25矩阵的作法 220
例题26矩阵的规一化 224
例题27常微分方程 227
例题28偏微分方程 231
例题29一次方程组的迭代解法 234
例题30 APL的运行时间 238
附录: APL原始函数和算符一览表 241