第1章 Julia程序开发快速入门 1
1.1 初识Julia语言 2
1.1.1 Julia语言概述 2
1.1.2 Julia语言的特点 2
1.1.3 学习Julia语言的必要性 3
1.2 Julia的下载与安装 4
1.2.1 Julia的下载 4
1.2.2 Julia的安装 6
1.3 Julia程序的编写 7
1.3.1 打开Julia的交互式窗口并编写简单程序 7
1.3.2 利用Julia的交互式窗口执行源文件 11
1.4 Julia交互式窗口的提示模式 13
1.4.1 Julia模式 14
1.4.2 Help模式 15
1.4.3 Shell模式 16
1.4.4 i-search模式 17
1.4.5 package模式 17
1.5 Julia交互式窗口的快捷键 18
1.6 Julia与其他编程语言的对比 19
1.6.1 Julia与MATLAB的对比 19
1.6.2 Julia与Python的对比 20
1.6.3 Julia与C巭C+++的对比 21
第2章 Julia编程基础 22
2.1 常量和变量 23
2.1.1 常量 23
2.1.2 变量及命名规则 24
2.1.3 变量的赋值 26
2.2 基本数据类型 27
2.2.1 整型 28
2.2.2 浮点型 31
2.2.3 复数型和有理数型 31
2.2.4 字符型和字符串型 32
2.3 运算符 33
2.3.1 算术运算符 33
2.3.2 赋值运算符 35
2.3.3 位运算符 36
第3章 Julia的选择结构 40
3.1 if语句 41
3.1.1 if语句的一般格式 41
3.1.2 实例:奇偶数判断 42
3.1.3 实例:游戏登录判断系统 43
3.2 关系运算符 45
3.2.1 关系运算符及意义 45
3.2.2 实例:学生成绩评语系统 46
3.2.3 实例:企业奖金发放系统 48
3.2.4 实例:求一元二次方程的根 50
3.2.5 实例:分解数字 52
3.3 逻辑运算符 53
3.3.1 逻辑运算符及意义 54
3.3.2 实例:判断是否是闰年 54
3.3.3 实例:输入三个数并显示最大的数 55
3.3.4 实例:摇骰子游戏 56
3.3.5 实例:剪刀、石头、布的游戏 58
3.3.6 实例:每周学习计划系统 59
3.4 嵌套if语句 60
3.4.1 嵌套if语句的一般格式 61
3.4.2 实例:判断一个数是否是2或5的倍数 61
3.4.3 实例:随机产生数并显示最大数和最小数 63
3.4.4 实例:火车站安检系统 64
3.4.5 实例:水仙花数 65
3.5 条件运算符和条件表达式 67
3.6 复合表达式 68
3.6.1 begin块 68
3.6.2 链 70
3.7 异常处理 71
3.7.1 try...catch语句 71
3.7.2 try...finally语句 73
第4章 Julia的循环结构 76
4.1 while循环 77
4.1.1 while循环的一般格式 77
4.1.2 实例:计算1+2+3+…+100的和 78
4.1.3 实例:随机产生10个随机数,并打印最大的数 79
4.1.4 实例:阶乘求和 80
4.1.5 实例:求s=a+aa+…+aaa…aa的值 81
4.1.6 实例:猴子吃桃问题 82
4.2 无限循环 83
4.3 for循环 84
4.3.1 for循环的一般格式 84
4.3.2 实例:遍历显示学生的姓名 85
4.3.3 实例:遍历显示字符串中的字符 85
4.3.4 实例:遍历显示10以内偶数 86
4.4 在for循环中使用range()函数 87
4.4.1 range()函数 87
4.4.2 实例:显示1~500所有奇数 88
4.4.3 实例:在1~1000产生90个均匀分布数 88
4.4.4 实例:球的反弹高度 89
4.5 循环嵌套 90
4.5.1 实例:绘制★的三角形 90
4.5.2 实例:分解质因数 91
4.5.3 实例:斐波那契数列 92
4.5.4 实例:弗洛伊德三角形 93
4.5.5 实例:杨辉三角 95
4.6 break语句 97
4.7 continue语句 98
第5章 Julia的函数和模块 100
5.1 初识函数 101
5.2 内置函数 101
5.2.1 数学函数 101
5.2.2 随机函数 104
5.2.3 三角函数 105
5.2.4 字符函数 107
5.2.5 字符串函数 109
5.2.6 实例:算术运算小测试 110
5.3 用户自定义函数 113
5.3.1 函数的定义 113
5.3.2 调用自定义函数 114
5.3.3 函数的参数传递 117
5.3.4 函数的参数类型 119
5.3.5 操作符函数 124
5.3.6 实例:年龄问题的解决 125
5.4 模块 127
5.4.1 模块的定义 127
5.4.2 模块的调用 128
5.4.3 标准模块 132
第6章 Julia的特征数据类型 133
6.1 数组 134
6.1.1 数组的定义 134
6.1.2 显示数组中的值 135
6.1.3 修改数组中的值 136
6.1.4 删除数组中的值 137
6.2 元组 138
6.2.1 元组的定义 138
6.2.2 访问元组中的值 139
6.2.3 元组的其他操作 140
6.2.4 实例:显示自动售货系统中的数据 141
6.3 字典 142
6.3.1 字典的定义 143
6.3.2 访问字典中的值和键 144
6.3.3 修改字典 146
6.3.4 字典的其他操作 147
6.3.5 实例:用户注册系统 149
6.3.6 实例:用户登录系统 151
6.4 集合 154
6.4.1 集合的定义 155
6.4.2 集合的两个基本功能 155
6.4.3 修改集合中的数据 156
6.4.4 集合中的运算 157
6.4.5 实例:利用集合排序无重复的随机数 158
第7章 Julia的矩阵操作 160
7.1 初识矩阵 161
7.1.1 矩阵的定义 161
7.1.2 矩阵的作用 161
7.1.3 创建矩阵 161
7.2 矩阵的拼接 165
7.2.1 利用空格和分号进行矩阵拼接 166
7.2.2 利用逗号进行拼接 167
7.3 矩阵的运算 169
7.3.1 矩阵的加法运算 169
7.3.2 矩阵的减法运算 170
7.3.3 矩阵的转置运算 171
7.3.4 矩阵的数乘运算 172
7.3.5 矩阵的乘法运算 173
7.3.6 矩阵的除法运算 175
7.4 矩阵的函数应用 176
7.4.1 矩阵的基本函数 176
7.4.2 矩阵的其他创建函数 177
7.4.3 矩阵的函数运算 179
7.5 过滤矩阵中的数据 181
7.5.1 利用列过滤矩阵中的数据 182
7.5.2 利用行过滤矩阵中的数据 182
7.5.3 利用行和列过滤矩阵中的数据 183
第8章 Julia的文件操作 185
8.1 文件的基本操作 186
8.1.1 文件的创建 186
8.1.2 写入文件内容 188
8.1.3 读取文件内容 192
8.2 文件中的矩阵操作 196
8.2.1 把矩阵内容写入文件 196
8.2.2 从文件中读取矩阵内容 199
8.3 CSV文件的操作 200
8.3.1 CSV文件的规则 200
8.3.2 创建CSV文件并写入内容 200
8.3.3 读取CSV文件中内容并显示 202
8.4 IOBuffer的操作 203
第9章 Julia集成开发软件——JuliaPro 207
9.1 JuliaPro的下载与安装 208
9.1.1 JuliaPro的下载 208
9.1.2 JuliaPro的安装 212
9.2 JuliaPro的界面与操作技巧 214
9.2.1 标题栏和菜单栏 215
9.2.2 工具栏 215
9.2.3 主窗口 216
9.2.4 面板的大小和位置调整 218
第10章 Julia的数据处理常用包 220
10.1 DataFrames包 221
10.1.1 DataFrames包的安装 221
10.1.2 利用表格显示矩阵数据信息 224
10.1.3 利用表格显示数组数据信息 226
10.1.4 数据列的选择与查看 228
10.1.5 数据行的选择与查看 230
10.1.6 利用eachrow显示表格中的数据 232
10.1.7 函数的应用 233
10.1.8 升降序排列表格数据 234
10.1.9 利用describe()函数取得表格数据的统计信息 236
10.1.10 利用DataFrames的readtable()函数读取CSV文件中的数据 237
10.2 CSV包 240
10.2.1 CSV包的安装 240
10.2.2 利用read()函数读取数据信息并显示 241
第11章 Julia的Gadfly绘图包 243
11.1 初识Gadfly包 244
11.1.1 Gadfly包的特点 244
11.1.2 Gadfly包的安装 244
11.2 绘制图形 245
11.2.1 绘制点状图形 245
11.2.2 绘制线状图形 247
11.2.3 绘制椭圆和多边形 250
11.2.4 绘制多层图形 252
11.3 绘制三角函数图形 253
11.4 Gadfly包绘图实例 254
11.5 保存Gadfly绘制的图形并在网页显示 261
第12章 Julia的日期和时间 262
12.1 初识Dates模块 263
12.2 Date()函数 263
12.2.1 创建日期的方式 263
12.2.2 获取创建日期的年、月、日信息 264
12.2.3 获取从公元计时开始到创建时间的天数 267
12.2.4 获取星期几的信息 268
12.2.5 获取月份的信息 269
12.2.6 获取年份和季节的信息 270
12.3 DateTime()函数 271
12.3.1 创建日期时间的方式 272
12.3.2 实例:获取当前日期时间的信息 273
12.3.3 实例:获取当前日期时间的其他相关信息 274
12.4 时间运算 276
12.4.1 年份的加减运算 276
12.4.2 时间其他元素的运算 277
12.4.3 Date()函数和DateTime()函数的运算 278
12.5 时间序列 279
12.5.1 时间序列的构成 280
12.5.2 时间序列的类型 280
12.5.3 时间序列数据的变动规律 281
12.5.4 时间序列的变量特征 282
12.5.5 时间序列的作用 283
12.5.6 TimeSeries包的安装 283
12.5.7 时间序列实例 284
第13章 Julia的元编程和并行计算 288
13.1 元编程 289
13.1.1 程序表示 289
13.1.2 表达式求值 291
13.1.3 宏 292
13.1.4 DataFrames中的宏应用 293
13.2 并行计算 298
13.2.1 并行计算的分类 298
13.2.2 并行计算的特征 299
13.2.3 协程 299
第14章 Julia的机器学习RDatasets包 302
14.1 初识RDatasets包 303
14.1.1 RDatasets包的安装 303
14.1.2 iris数据集 304
14.2 iris数据集的操作 304
14.3 iris数据集的图表显示 308
14.3.1 显示iris数据集的点状图 308
14.3.2 显示iris数据集的线状图 312
14.3.3 显示iris数据集的其他图形 314
第15章 Julia的决策树和随机森林 320
15.1 决策树 321
15.1.1 决策树的定义 321
15.1.2 决策树的组成 321
15.1.3 决策树的优点 322
15.1.4 决策树的缺点 323
15.1.5 决策树的构造 323
15.1.6 纯度判断方法 323
15.1.7 决策树的剪枝 326
15.1.8 DecisionTree包的安装 326
15.1.9 利用Julia代码实现决策树 327
15.2 随机森林 333
15.2.1 随机森林的构建 333
15.2.2 随机森林的优缺点 334
15.2.3 随机森林的应用范围 334
15.2.4 利用Julia代码实现随机森林 334
第16章 Julia的线性回归和K-均值 338
16.1 线性回归 339
16.1.1 线性回归的定义 339
16.1.2 线性关系和非线性关系 339
16.1.3 线性回归的函数模型及特点 340
16.1.4 GLM包的安装 341
16.1.5 利用Julia代码实现线性回归 342
16.2 K-均值 345
16.2.1 基本K-均值算法 346
16.2.2 目标函数 346
16.2.3 二分K-均值 347
16.2.4 Clustering包的安装 348
16.2.5 利用Julia代码实现K-均值 349