julia 使用记录

  • 1. 什么是julia
  • 2. 安装julia
  • 3. 入门
    • 3.1 启动/退出 julia 交互式会话
    • 3.2 交互式会话运行代码
    • 3.3 非交互式
    • 3.4 julia参数解析([引自](https://docs.juliacn.com/latest/manual/getting-started/))
  • 4. 变量

1. 什么是julia

julia是一种编程语言,具有matlab的矩阵编写方式、c语言级别的运算速度以及ruby的动态性,特点如下,详情请参考Julia 1.0 正式發佈

  • 快速:Julia一开始就是为高性能而设计的。Julia可以通过LLVM而跨平台被编译成高效的本地代码。
  • 通用:Julia使用多分派作为编程范式,使其更容易表达面向对象和函数式编程范式。标准库提供了异步I/O,进程控制,日志记录,性能分析,包管理器等等。
  • 动态:Julia是动态类型的,与脚本语言类似,并且对交互式使用具有很好的支持。
  • 数值计算:Julia擅长于数值计算,它的语法适用于数学计算,支持多种数值类型,并且支持并行计算。Julia的多分派自然适合于定义数值和类数组的数据类型。
  • 可选的类型标注:Julia拥有丰富的数据类型描述,类型声明可以使得程序更加可读和健壮。
  • 可组合:Julia的包可以很自然的组合运行。单位数量的矩阵或数据表一列中的货币和颜色可以一起组合使用并且拥有良好的性能。

2. 安装julia

  • 下载julia
  • 下载完成后安装,Ctrl+Alt+t打开终端
# 将安装包放到 指定位置  /usr/local/julia
$ sudo cp **.tar.gz /usr/local/julia
# 解压安装包
$ sudo tar -vzxf **.tar.gz
  • 更新环境变量:请参考linux使用解惑
  • 在终端中:输入 julia 验证,可以打开即安装成功

其他安装方式,请参考https://discourse.juliacn.com/t/topic/159

3. 入门

3.1 启动/退出 julia 交互式会话

  • 终端下:输入 julia
  • 退出:ctrl + d 或 exit()
  • 语句后加 ;号,结果不会显示处理

3.2 交互式会话运行代码

  • 使用inclu(文件名)即可
  • 源代码文件名为.jl

3.3 非交互式

$ julia script.jl arg1 arg2...
  • arg1 与 arg2 作为参数传入,则以全局变量ARGS来传递,而PROGRAM_FILE传入文件名
  • 使用 -e 参数时,直接跟源代码,与使用文件一样
  • 可以使用 – 分隔符来将传给脚本文件的参数和 Julia 本身的命令行参数区分开:
julia --color=yes -O -- foo.jl arg1 arg2..
  • 可以在并行模式下启动julia,使用 -p --machinefile来进行,file文件中每一行启动一个worker, 定义机器的格式为 [count*][user@]host[:port] [bind_addr[:port]]。 user 默认值是当前用户; port 默认值是标准 ssh 端口; count 是在这个节点上的 worker 的数量,默认是 1; 可选的 bind-to bind_addr[:port] 指定了其它 worker 访问当前 worker 应当使用的 IP 地址与端口。
  • Julia 每次启动都自动执行一些代码,你可以把它们放在 ~/.julia/config/startup.jl 中

3.4 julia参数解析(引自)

选项 描述
-v, --version 显示版本信息
-h, --help 打印本条帮助信息
--project[={<dir>|@.}] <dir>设置为主项目/环境。默认的 @. 选项将搜索父目录,直至找到 Project.toml 或 JuliaProject.toml 文件。
-J, --sysimage 用指定的镜像文件(system image file)启动
-H, --home 设置 julia 可执行文件的路径
--startup-file={yes|no} 是否载入 ~/.julia/config/startup.jl
--handle-signals={yes|no} 开启或关闭 Julia 默认的 signal handlers
--sysimage-native-code={yes|no} 在可能的情况下,使用系统镜像里的原生代码
--compiled-modules={yes|no} 开启或关闭 module 的增量预编译功能
-e, --eval <expr> 执行<expr>
-E, --print <expr> 执行 <expr>并显示结果
-L, --load <file> 立即在所有进程中载入 <file>
-p, --procs {N|auto} 这里的整数 N 表示启动 N 个额外的工作进程;auto 表示启动与 CPU 线程数目(logical cores)一样多的进程
--machine-file <file> <file>中列出的主机上运行进程
-i 交互式模式;REPL 运行且 isinteractive() 为 true
-q, --quiet 安静的启动;REPL 启动时无横幅,不显示警告
--banner={yes|no|auto} 开启或关闭 REPL 横幅
--color={yes|no|auto} 开启或关闭文字颜色
--history-file={yes|no} 载入或导出历史记录
--depwarn={yes|no|error} 开启或关闭语法弃用警告,error 表示将弃用警告转换为错误。
--warn-overwrite={yes|no} 开启或关闭“method overwrite”警告
-C, --cpu-target <target> 设置 来限制使用 CPU 的某些特性;设置为 help 可以查看可用的选项
-O, --optimize={0,1,2,3} 设置编译器优化级别(若未配置此选项,则默认等级为2;若配置了此选项却没指定具体级别,则默认级别为3)。
-g, -g <level> 开启或设置 debug 信息的生成等级。若未配置此选项,则默认 debug 信息的级别为 1;若配置了此选项却没指定具体级别,则默认级别为 2。
--inline={yes|no} 控制是否允许函数内联,此选项会覆盖源文件中的 @inline声明
--check-bounds={yes|no} 设置边界检查状态:始终检查或永不检查。永不检查时会忽略源文件中的相应声明
--math-mode={ieee,fast} 开启或关闭非安全的浮点数代数计算优化,此选项会覆盖源文件中的@fastmath声明
--code-coverage={none|user|all} 对源文件中每行代码执行的次数计数
--code-coverage 等价于 --code-coverage=user
--track-allocation={none|user|all} 对源文件中每行代码的内存分配计数,单位 byte
--track-allocation 等价于 --track-allocation=user

4. 变量

  • 大小写敏感
  • 支持unicode作为变量名
  • 反斜杠+latex符号名+tab打数学公式
  • julia 多种模式:?help模式,;shell模式]package模式 backspace 返回julia模式

julia 使用记录相关推荐

  1. CUDA Samples: Julia

    以下CUDA sample是分别用C++和CUDA实现的绘制Julia集曲线,并对其中使用到的CUDA函数进行了解说,code参考了<GPU高性能编程CUDA实战>一书的第四章,各个文件内 ...

  2. julia有 pytorch包吗_有了Julia语言,深度学习框架从此不需要计算图

    选自julialang 作者:Mike Innes 等 机器之心编译 参与:刘晓坤.思源 本文基于 NeurIPS MLSys 的一篇论文<Fashionable Modelling with ...

  3. 语言都是相通的,学好一门语言,再学第二门语言就很简单,记录一下我复习c语言的过程。...

    语言都是相通的,学好一门语言,再学第二门语言就很简单,记录一下我复习c语言的过程. 为了将本人的python培训提高一个层次,本人最近买了很多算法的书. 这个书上的代码基本都是c语言实现的,c语言很久 ...

  4. 对Julia社区不熟悉?创始人来告诉你

    有很多组织与Julia编程语言相关,但是很多人并不完全清楚这些群体的职责以及他们之间的关系.在这篇博文中,我将回答这些问题. Julia Julia 项目由 Jeff Bezanson,Alan Ed ...

  5. Julia程序设计3 数组2 排序、复制、集合运算、字典

    Julia程序设计3 数组2 排序.复制.集合运算.字典 排序 排序算法 查找数组中的元素 复制数组 for语句实现数组的变换与生成 集合运算 字典 创建字典 查阅字典 查看索引 修改字典 添加.删除 ...

  6. 数值计算动态语言Julia 1.0发布

    Julia是一门用于技术计算的.高性能的高级动态语言.该语言的最新版本Julia 1.0包含稳定的语言API,并且内置了一个新的包管理器. \\ Julia计算团队在8月7日到11日举行的JuliaC ...

  7. 探索Julia(part14)--学生得分描述性统计案例

    学习笔记,仅供参考,有错必纠 参考自:Julia数据科学应用–Zacharias Voulgaris:官方文档:Julia数据处理常用包_DataFrames包测试 使用Julia-1.1.1 学生得 ...

  8. MIT正式发布编程语言Julia 1.0:Python、R、C++三合一

    MIT 开发的 Julia 语言是全球热度上升最快的编程语言之一,下载量超过 200 万次,下载者包括谷歌.Facebook.FAA 和美国能源部等各个部门的开发者.近日,MIT CSAIL 实验室正 ...

  9. python notebook配置_使用 Jupyter Notebook 配置 Stata\Python\Julia\R

    作者:许梦洁 (中山大学) E-mail: xumj9@mail2.sysu.edu.cn 原文链接:磐石若水 → 使用 Jupyter Notebook 配置 Stata/Python/Julia/ ...

最新文章

  1. php邮箱群发,php异步群发邮件
  2. win7系统连接2003服务器时快时慢,win7/win8/win10访问Windows2003和XP共享慢的解决方法【图文教程】...
  3. 【正一专栏】欧陆烽火——珍惜像伊布一样的男人!
  4. Compass 更智能的搜索引擎(3)--高亮,排序,过滤以及各种搜索
  5. 分享9个实用的电脑维修技巧,赶紧收藏吧!
  6. 多线程 进度条 C# .net
  7. leetcode 寻找两个有序数组的中位数
  8. keil5函数 默认返回值_python实用技巧——获取部分返回值的4种方式
  9. rost反剽窃检测系统_论文为什么需要进行查重检测?
  10. C# PDF操作之-PDF转WORD
  11. 复现SCI图表-ggplot做花瓣图
  12. 【 移动硬盘安装Ubuntu18.04】
  13. iOS 苹果开发者账号技术支持电话
  14. 人工智能时代孩子该学点什么?
  15. PSC-Net: Learning Part Spatial Co-occurrence for Occluded Pedestrian Detection 用于遮挡行人检测的部分空间共现网络 翻译
  16. 背包型动态规划——零钱兑换
  17. 基本类型和包装类型的区别详解
  18. 上一主题 下一主题 一个微信账号登陆信息提取软件,有人知道吗?
  19. WebGIS全栈修炼之路2——筑基,修出你的第一缕Cesium之气
  20. 超详细零信任市场解读

热门文章

  1. numpy whl_如何安装NumPy库
  2. Pinpoint安装
  3. 查询一个进程下面的线程及正在运行的线程
  4. Java中实现SMTP邮件服务器-用demo简单粗暴的来发一波邮件了
  5. 村边界、社区边界、乡镇边界、县区市省边界数据,shp格式
  6. jQuery检测判断复选框是否被选中了的几种方法
  7. bim推荐计算机配置,BIM设计师电脑岂能儿戏?做BIM设计电脑配置推荐
  8. 图片翻译文字怎么弄,分享几个怎么翻译图片上的文字工具
  9. 新房装修的简约日式装修风格技巧和装修攻略
  10. 第五九九章 大力的互联网帝国