当前位置: 代码迷 >> 综合 >> 探索Julia(part6)--基本命令与数学函数
  详细解决方案

探索Julia(part6)--基本命令与数学函数

热度:55   发布时间:2024-01-28 23:13:07.0

学习笔记,仅供参考,有错必纠

参考自:Julia数据科学应用–Zacharias Voulgaris

使用Julia-1.1.1



基本命令与数学函数


基本命令与函数


print与println


print()和println()会将所有变量都转换成字符串,然后将这些字符串连接成一个大字符串。 print()函数只是简单地将变量打印在终端上,紧接着以前打印的内容,这样可以节省空间,并可以定制数据输出格式。println()函数在打印一个变量后,会紧跟着一个回车,保证接下来打印的内容另起一行。


输入:

print("hjk", true, 1);
println();
println("zxc", true, 2);
print(1);print(true);print("dfg");
println(1);println(true);println("dfg");

输出:

hjktrue1
zxctrue2
1truedfg1
true
dfg

typemax与typemin


这两个命令向你提供某种数值类型(例如,Int32, Float64等)的取值范围。

输入:

println(typemax(Int32));
println(typemin(Float64));

输出:

2147483647
-Inf

collect


  • 语法
collect(ElementType, X)

这里的X可以是任意数据类型,对应着一定范围内的数据(通常称为“集合”),ElementType是你想得到的X中的元素的数据类型(这个参数通常省略)。 该函数可以以数组的形式返回一个给定对象中的所有元素。

输入:

collect(1:5)

输出:

5-element Array{Int64,1}:12345

show


该函数可以使你查看一个数组中的内容,函数输出中不包括元数据,可以节省终端屏幕的空间。数组的内容会被水平显示,如果我们使用其他方法显示大数组,数组的多数内容经常会被省略掉。


  • 语法
show(X)

这里的X可以是julia的任意数据类型(一般是数组或字典),repr会以字符串的形式返回show的输出。


  • 例子

输入:

show([123 456])
println();
a = collect(1:30)
show(a)

输出:

[123 456]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30]

数学函数


round


四舍五入

  • 语法
round([T,] x, [r::RoundingMode])

四舍五入x,如果没有关键字参数,x将四舍五入为整数值,返回类型为T的值,如果没有提供T,则返回相同类型的x。


  • 例子

输入:

println(round(1.7))
println(round(Int, 1.7))
println(round(pi, digits=2))

输入:

2.0
2
3.14

rand与randn


  • rand函数

语法:

rand([rng=GLOBAL_RNG], [S], [dims...])

该函数生成一个S类型(默认为Float64类型)的维度为dims的随机数,若S为Float64类型,则数据服从区间为[0, 1]的均匀分布。当第一个参数为元祖时,该函数将在元祖内随机选择一个元素输出。


  • 举个例子

输入:

println(rand(2,3))
println(rand(Float64, 2, 4))
println(rand(Float64, (3, 2)))
for i in 1:20print(rand((1, 3, 5, 7, 9)), " ")
end
println();
println(rand(Bool, 5))
println(rand(1:6, 5))

输出:

[0.553206 0.736317 0.556225; 0.335555 0.56633 0.375378]
[0.167457 0.236177 0.77568 0.715923; 0.754605 0.829814 0.0224957 0.680726]
[0.201731 0.272019; 0.173191 0.328731; 0.0858049 0.436421]
1 3 9 9 5 9 3 3 1 1 9 1 9 9 3 3 1 9 9 1 
Bool[false, true, true, false, true]
[1, 2, 1, 1, 4]

  • randn函数

该函数可以生成正态分布的随机数。

  • 例如

生成10个服从标准正态分布的随机数:

randn(10)

输出:

 -1.0029029987968232-1.4439134399518603-1.14792429064788730.5806421008342142-0.4404641088968748-0.8405934386410931-0.53780521146302450.64078894615134920.515381584385137 -0.2609479104454115

sum


  • 语法
sum(A::AbstractArray; dims)

数组中给定维数的元素之和。


  • 例子

输入:

A = Array{Int64, 2}(undef, 3,4)
A[:] = 1:12
println(A)
println(sum(A, dims = 1))
println(sum(A, dims = 2))

输出:

[1 4 7 10; 2 5 8 11; 3 6 9 12]
[6 15 24 33]
[22; 26; 30]

mean


  • 语法
mean(A::AbstractArray; dims)

计算给定维数上数组的平均值。


  • 例子

输入:

using Statistics
println(mean([1, 2, 3]))
println(mean([true, false, false]))
A = [1 2; 3 4]
println(mean(A, dims=1))
println(mean(A, dims=2))

输出:

2.0
0.3333333333333333
[2.0 3.0]
[1.5; 3.5]