Julia之坑数学计算
2018-08-31 本文已影响62人
黑猫中度烘焙
Julia在计算阶乘的时候,如果阶乘数超过21,便会出错,但是如果加一个big()
便可以计算了
julia> factorial(big(21))
51090942171709440000
过去不知道的一个小技巧啊!
如果需要建立一个函数对应的词典,则先创造一个词典,比如通过
julia> a = Dict(1=>"one",2=>"two")
Dict{Int64,String} with 2 entries:
2 => "two"
1 => "one"
对应的此点就有了key和values
julia> keys(a)
Base.KeySet for a Dict{Int64,String} with 2 entries. Keys:
2
1
julia> values(a)
Base.ValueIterator for a Dict{Int64,String} with 2 entries. Values:
"two"
"one"
词典建立也可以简单循环创造出词典,比如计算正弦角度值
julia> dict = Dict(string(i) => sind(i) for i = 0:5:360)
Dict{String,Float64} with 73 entries:
"320" => -0.642788
"65" => 0.906308
"155" => 0.422618
"335" => -0.422618
"75" => 0.965926
"50" => 0.766044
"190" => -0.173648
"270" => -1.0
这样每一个计算的值都有一个对应的keys
,这点非常有用。
编辑一个计算shannon-wiener指数的函数
a = [25,25,25,25]
swH(a)
return 2
可以的