Для получения справки взгляните на страницу обработки решения: http://docs.juliadiffeq.org/latest/basics/solution.html. Решением является как абстрактный массив, так и непрерывная функция. Так, например, вы можете получить непрерывное решение в 10000 равномерно распределенных временных точках, таких как t=range(tspan[1],stop=tspan[2],length=10000)
, do A = sol(t)
, и это даст 50x10000 временных рядов каждого решения в равномерно распределенных временных точках, и тогда sol[i,:]
будет временной серией переменная i
в моменты времени t
. Вы можете использовать это для построения массивов, которые вы хотите построить. Полный код вроде этого:
t=range(tspan[1],stop=tspan[2],length=10000)
A = sol(t)
ts10 = sol[10,:]
Другой способ сделать это - решить что-то вроде saveat=t
, и в этом случае решением является массив, который сохраняется в эти моменты времени. Это выглядит так:
t=range(tspan[1],stop=tspan[2],length=10000)
sol=solve(prob,saveat=t)
ts10 = sol[10,:]
Или вы можете использовать рецепт сюжета, который выполняет такую обработку внутри. Взгляните на http://docs.juliadiffeq.org/latest/basics/plot.html#Choosing-Variables-1. Вы можете сделать такие вещи, как построение первой переменной и затем наложить на график 10-й переменной, например:
plot(sol,vars=(0,1))
plot!(sol,vars=(0,10))
!
означает функцию изменяющегося графика, то есть изменить предыдущий график, добавив новую серию. Затем, как отмечено в документации, существуют ярлыки, такие как
plot(sol,vars = [1, 3, 4])
будет отображать 1-ю, 3-ю и 4-ю переменные как функции времени. В этой форме вы также можете указать, какой тип преобразования вы хотите использовать в качестве функции. Это упоминается в том же месте в документации. Например, двумерный график времени против tanh будет функцией преобразования f=(t,y)->(t,tanh(y))
, т. Е. Как вы берете 2D-переменную и выплевываете 2D-переменную для построения графика, просто проходя через первую и tanh
вторую. Затем, используя это, вы будете использовать команду plot:
f=(t,y)->(t,tanh(y))
plot(sol,vars = (f,0,5))
для построения tanh
5-й переменной от времени.
Это несколько разных способов манипулировать аргументом решения и генерировать нужные вам графики. Выберите тот, который лучше всего вам подходит.