新学Julia,有几个关于数值计算的问题,想请教。
1、如果有一个数组A,我想对A的部分元素进行处理,要怎么写,A[1:4], A[1:3,2:5]这样的语法有错误。
2、Julia有子程序么?怎么像fortran那样调用一个子程序,然后对部分数组、变量进行计算、修改。?
谢谢!
新学Julia,有几个关于数值计算的问题,想请教。
1、如果有一个数组A,我想对A的部分元素进行处理,要怎么写,A[1:4], A[1:3,2:5]这样的语法有错误。
2、Julia有子程序么?怎么像fortran那样调用一个子程序,然后对部分数组、变量进行计算、修改。?
谢谢!
感觉没什么问题,可以翻翻文档 多维数组 · Julia中文文档
julia> r = rand(5,5)
5×5 Array{Float64,2}:
0.467913 0.501905 0.324777 0.474817 0.329025
0.804868 0.940885 0.847733 0.572708 0.726289
0.171812 0.807484 0.243146 0.425674 0.951482
0.162194 0.683989 0.0862276 0.678932 0.417864
0.0223547 0.685307 0.594828 0.201931 0.629033
julia> r[1]
0.46791302055897077
julia> r[1:4]
4-element Array{Float64,1}:
0.46791302055897077
0.8048680127435754
0.1718116117298072
0.16219435107693858
julia> r[1:3, 2:5]
3×4 Array{Float64,2}:
0.501905 0.324777 0.474817 0.329025
0.940885 0.847733 0.572708 0.726289
0.807484 0.243146 0.425674 0.951482
不太了解 fortran,搜了下
原则上,在不改变程序中各变量值、需要获得一个返回值的情况下,使用 function,另外,function 可以直接用在赋值语句中……;
如果需要改变调用参数的值,全局变量的值等情况下,使用 subroutine,一般没有返回值。
julia 里都用函数就行了,像标准库里的以 !
结尾的函数都会修改输入的参数。
另外建议少用全局变量。