我有一个矩阵 ,M其形式非常简单:M[i,j]=aifi==j和M[i,j]=belse 。M非常大(> 10000),所以我无法在不使用某种稀疏矩阵的情况下初始化或存储它。存储该矩阵的最佳方法似乎是使用某种稀疏矩阵,其中非条目设置b为而不是零。
我努力了
M = spdiagm((a-b), N, N) .+ b
Run Code Online (Sandbox Code Playgroud)
但这样做会存储M为具有 100 个条目的 10 x 10 矩阵,这似乎意味着没有压缩。
有没有更好的方法来初始化这个矩阵?
如何使用 Julia 将 png 加载为数组?我有一个 256X256 图像,我想将其加载为 256X256 浮点数组。
我尝试使用图像
using Images
img = load("pic.png")
Run Code Online (Sandbox Code Playgroud)
然而,这只是加载和绘制图像,我无法提取像素值。
另外,我尝试过
img = read("pic.png")
Run Code Online (Sandbox Code Playgroud)
但这会将所有值加载到向量中。理论上,我可以重塑矢量以使其变为 256X256,但我希望有一些东西可以在我不必提前知道图像形状的情况下工作。
最后,如果我加载 PyPlot,我可以按照我想要的方式加载图像
import PyPlot as plt
img = plt.imread("pic.png")
Run Code Online (Sandbox Code Playgroud)
不过,我理想地希望能够在不调用 PyCall 的情况下加载图像。
在 Julia 中,我有一个形状值数组,我想对一个数组进行采样,该数组的值是根据我的形状数组的相应形状元素进行伽马分布的。我想要的是:
shapes = [1.1, 0.5, 10]
scale = 1
x = SampleGammaWithDifferentShapes(shapes,scale)
Run Code Online (Sandbox Code Playgroud)
其中x[1]从与形状的伽马分布采样= shapes[1],和x[2]从与形状=伽马分布采样shape[2],依此类推。
是否有内置函数允许您在一行中执行此操作,还是我必须为此定义自己的函数?这似乎应该是一个内置函数。