这是Julia 0.5中的一个简单函数.
function foo{T<:AbstractFloat}(x::T)
a = zero(T)
b = zero(T)
return x
end
Run Code Online (Sandbox Code Playgroud)
我开始了julia --track-allocation=user.然后include("test.jl").test.jl只有这个功能.跑foo(5.).然后Profile.clear_malloc_data().foo(5.)再次在REPL中.退出朱莉娅.查看文件test.jl.mem.
- function foo{T<:AbstractFloat}(x::T)
- a = zero(T)
194973 b = zero(T)
0 return x
- end
-
Run Code Online (Sandbox Code Playgroud)
为什么这里分配了194973字节的内存?这也不是该功能的第一行.虽然之后Profile.clear_malloc_data(),这应该不重要.
我正在使用 AffineTransforms 来旋转体积。我现在对旋转角度的符号感到困惑。对于右手系统,当向下看一个轴时,比如 Z 轴,逆时针旋转 XY 平面应该是正角。我定义了一个旋转矩阵r = [0.0 -1. 0.0; 1.0 0.0 0.0; 0.0 0.0 1.0],就是沿Z轴逆时针旋转90度。实际上,r * [1 0 0]'给出 [ 0 1 0]',它将 X 轴旋转到 Y 轴。
现在我定义一个体积 v。
3×3×3 Array{Float64,3}:
[:, :, 1] =
0.0 0.0 0.0
0.0 0.0 0.0
0.0 0.0 0.0
[:, :, 2] =
0.0 0.0 0.0
1.0 0.0 0.0
0.0 0.0 0.0
[:, :, 3] =
0.0 0.0 0.0
0.0 0.0 0.0
0.0 0.0 0.0
Run Code Online (Sandbox Code Playgroud)
然后我定义tfm = …
我在 Julia 包MultivariateStats.jl 中使用PCA。我正在尝试将旧的 Matlab 脚本转换为 Julia。但是,我不能再运行 Matlab 脚本了。我正在处理一系列图像。首先,我想确保输入矩阵正确。我将每个图像重新塑造为向量并将图像放入矩阵。我认为这些数据的格式是正确的,与 Matlab 相同。然后我生成了一个 PCA 模型。Matlab 会返回. 我如何在 Julia 中获得这些? nm x nM = fit(PCA, data)[coeff,score,latent]