《Julia编程从入门到实践》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:周俊庆,张瑞丽编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2019
  • ISBN:9787121367052
  • 页数:351 页
图书介绍:本书首先讲解Julia编程语言的基础知识,如Julia编程语言的特点、下载与安装、程序的编写、交互式窗口的提示模式、与其他编程语言的区别;然后通过实例剖析讲解Julia编程语言的基本语法、选择结构、循环结构、函数和模块、特征数据类型、矩阵操作、文件操作;接着讲解Julia集成开发软件(JuliaPro)的操作技巧;再通过实例剖析讲解Julia在数据科学中的应用,即数据处理常用包、Gadfly绘图包、日期和时间、元编程和并行计算;最后通过实例剖析讲解Julia在机器学习中的应用,即机器学习RDatasets包、决策树、随机森林、线性回归和K-均值。本书在讲解的过程中,既考虑读者的学习习惯,又通过具体实例讲解Julia程序开发过程中的热点、关键问题及种种难题。

第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