首页 > 解决方案 > 如何使用多个数组图制作 GIF?

问题描述

我想在 Julia 的自由空间中模拟波包,为此我需要将使用数组绘制的每个图存储在一个框架中,然后以 15 秒的模拟形式显示它。我已经为这些图编写了代码,但不知道如何进行模拟,其中前一行的图不显示,只显示类似波形的模拟。

在此处输入代码

function gauss(x, xo)
    exp(-k * (x - xo) ^ 2)
    end
y = zeros(100,15)

k =1000
xo = 0.3
for j = 1:2
    x = 0.0 
    for i = 2:99
        y[i, j] = gauss(x, xo)
        x = x + 0.01
        end
    xo = xo + 0.1
end
y
function z(i, n)
     2 * (1 - (r ^ 2)) * y[i, n] - y[i, n - 1] + (r ^ 2) * (y[i + 1, n] + y[i - 1, n])
end
r = 1
mat= zeros(100,15)
for n = 2:14
    for i = 2:99
        y[i, n+1] = z(i, n)
    end
end
y
using Plots

plot(i=1:100,y[:, 1:15])

标签: julia

解决方案


我知道您想将绘图与动画结合起来(希望这就是您的意思)。在这种情况下,您可以使用@animate宏:

using Plots
x = 0:π/100:8π
anim =  @animate for v ∈ 0:π/20:2π
    plot(x, sin.(x .+ v), legend=false)
end
 
gif(anim, "myanim.gif", fps = 15)

在此处输入图像描述


推荐阅读