苏州哪家做网站,微信建公众号怎么建,网站开发公司需要招聘哪些人,山西全网科技有限公司文章目录 安装基本类型和计算函数初步条件和判断循环向量计算 Julia号称有着比肩C的速度#xff0c;同时又像Python一样便捷的编程语言#xff0c;非常适合科研狗使用。之前写了很多博客介绍Julia在数值分析中的应用#xff0c;这次写一个适合初学者学习的Julia教程系列。
… 文章目录 安装基本类型和计算函数初步条件和判断循环向量计算 Julia号称有着比肩C的速度同时又像Python一样便捷的编程语言非常适合科研狗使用。之前写了很多博客介绍Julia在数值分析中的应用这次写一个适合初学者学习的Julia教程系列。
安装
Julia可以在中文社区下载下载 Julia正常安装即可无坑。
但比较骚的是Julia可以用Python安装
pip install jill
jill install [VERSION] [--upstream UPSTREAM] [--confirm]在Julia中需要经常下载安装一些库如果担心网速可以换源其方法是新建环境变量JULIA_PKG_SERVER内容任选其一
BFSU 北外开源镜像站 https://mirrors.bfsu.edu.cn/juliaTUNA清华大学开源铆像站 https://mirrors.tuna.tsinghua.edu.cn/juliaSJTUG上交Linux 用户组 https://mirrors.sjtug.sjtu.edu.cn/julia
如果习惯用VS Code写代码可以配置VS Code的Julia环境VS Code打造Julia IDE
基本类型和计算
Julia支持四则混合运算加减乘除以及乘方分别是, -, *, /, ^这五个运算符。在交互运算时会有一个自动创建的ans变量表示运算结果下面在命令行中做一个演示
1 2*3 - 4^5 # -1017
ans # 返回值为-1017上面代码中#用于注释如果是多行注释首尾标记分别是#和#。
字符用单引号表示字符串用双引号多行字符串需要用三个双引号头尾括起来。
Julia和经典语言不同的是提供了符号这种数据类型并以:作为变量名的第一个字符一般用来保存变量名。这里只是简单提一嘴以后在Julia中见到冒号开头的变量别慌就行。
函数初步
在Julia中可以非常复合直觉地创建函数例如下面的表达式是完全合理的而且功能也和你想的功能一模一样。
f(x) x^2 1
f(5) # 返回26如果函数内容比较复杂则需使用function关键字创建一个程序块并以end作为结束符。其最后一行表达式的结果便是函数的返回值比如函数f可以写为下列形式。
function f(x)x^2 1
end函数返回值也可以用return来标识并且return可以返回多个值
function getMinMax(x, y)return min(x, y), max(x, y)
endgetMinMax(10, 5) # 返回值为 (5, 10)条件和判断
在编程宇宙if是通用的条件分支结构关键字当if后面的条件为真时即执行代码块中的内容。在Julia中其完整格式是if...elseif...else...end当然elseif和else是可选的下面创建一个函数来演示
function testIf(x)if x 60println(不及格)elseif x 75println(及格)elseif x 90println(良好)elseprintln(优秀)end
end
testIf(5) # 不及格Julia中的比较运算包括,!, , , , 分别表示等于、不等于、小于、小于等于、大于、大于等于。这几个运算符可以独立于if语句使用计算结果为布尔型true表示真false表示假。
3 5 # 返回truejulia还提供了C风格的三元运算符a ? x : y即a为真时执行x否则执行y有了这个可以写一个非常简洁的递归阶乘函数
function fac(n)n 1 ? n*fac(n-1) : 1
endfac(5) # 120循环
julia支持for循环和while循环循环之家可以嵌套但每层嵌套都需要有end作为结束标志。for循环示例如下
for i1:3println(i, ^3 , i^3)
end
# 输出如下
1^3 1
2^3 8
3^3 27
#在Julia中每一个end都会封死一层变量作用域就像在函数中的变量无法被外部调用一样循环亦然比如刚刚尽管用i循环三次并输出了计算结果但并不能事后调用
println(i) # 报错 i not defined为了让变量可以穿透循环就需要用到关键字global表示当前使用的是一个全局变量下面演示一下while循环
j 0
s 0
while j 3j 1global j2 j^2s j2
end
println(s, j2)向量计算
Julia作为以科学计算为目标的语言对向量和矩阵的计算有着非常良好的支持。通过方括号可以创建行向量、列向量以及矩阵这些数学对象在编程语言中可以统称为数组
x [1 2 3 4 5] # 此为行向量 1×5 Matrix{Int64}
y [1,2,3,4,5] # 此为列向量 5-element Vector{Int64}
z [1 2 3, 4 5 6] # 此为2行3列的矩阵 2×3 Matrix{Int64}若想对数组进行计算那么需要在原有的运算符前加一个点
x 1 # 报错
x . 1 # 返回 2 3 4 5 6Julia支持自动广播即行向量和列向量相加时会自动扩展成矩阵 x . y其返回值为 [ 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 5 6 7 8 9 6 7 8 9 10 ] \begin{bmatrix} 2345 6\\ 3456 7\\ 4567 8\\ 5678 9\\ 678910\\ \end{bmatrix} 23456345674567856789678910