Как я могу построить векторное поле на Юлии? - PullRequest
0 голосов
/ 17 сентября 2018

Я новичок в Джулии, и я попытался создать код следующего поста Как построить векторное поле в Джулии? , но не сработало, поэтому я хотел бы знаете, можно ли строить с помощью пакета "Сюжеты" и как? Это будет очень важно для моего исследования.

P.s .: Кто-то дал мне следующий код, но, на самом деле, я не знаю, почему не работает:

using Plots
gr(size=(600,400))

function example()
  X = linspace(-2, 2, 100)
  Y = linspace(-2, 2, 100)
  f(x, y) = x^3 - 3x + y^2
  contour(X, Y, f)

  x = linspace(-2, 2, 11)
  y = linspace(-2, 2, 11)
  df(x, y) = [3x^2 - 3; 2y] / 25
  quiver!(x, y', quiver=df, c=:blue)

  xlims!(-2, 2)
  ylims!(-2, 2)
  png("example")
end

example()

1 Ответ

0 голосов
/ 17 сентября 2018

Как уже было сказано в комментариях, вы должны предоставить сообщения об ошибках, так как в противном случае люди должны будут угадать, что не так с вашим кодом.

Однако, в вашем случае, я думаю, я мог бы догадаться :)

На Julia 1.0 работает следующее:

using Plots
gr(size=(600,400))

function example()
  X = range(-2, stop=2, length=100)
  Y = range(-2, stop=2, length=100)
  f(x, y) = x^3 - 3x + y^2
  contour(X, Y, f)

  x = range(-2, stop=2, length=11)
  y = range(-2, stop=2, length=11)
  df(x, y) = [3x^2 - 3; 2y] / 25
  quiver!(x, y', quiver=df, c=:blue)

  xlims!(-2, 2)
  ylims!(-2, 2)
  png("example")
end

example()

и выдает следующий вывод

enter image description here

Обратите внимание, чтоЯ только изменил все вхождения linspace на range(-2, stop=2, length=X), потому что функция linspace устарела в Julia 0.7.

...