Сообщение об ошибке говорит вам, что вы вызываете функцию, которая принимает 8 аргументов, но вы даете ей только 7 аргументов. Это может быть переведено как:
"Я не могу найти метод для этой функции, который принимает 7 аргументов. Как совет, этот другой метод принимает 8 аргументов."
Чтобы это исправить, проверьте еще раз какие аргументы вам нужно передать функции PitchHeave
.
Если вы смотрите на пакет ViscousFlow.jl
, я думаю, что в примере, который вы пытаетесь использовать, может быть ошибка.
Согласно исходному коду, найденному в здесь , вам также необходимо добавить фазу имения. Вы можете попробовать что-то вроде этого.
a = 0.25 # location of pitch axis, a = 0.5 is leading edge
ϕ = -π/2 # phase lag of pitch to heave
A = 0.25 # amplitude/chord
fstar = 1/π # fc/U
α₀ = 0 # mean angle of attack
Δα = 0.0 #10π/180 # amplitude of pitching
U₀ = 0.0 # translational motion (set to zero in place of free stream)
ϕh = -π/2 # phase lag of the heave # **This is the new part**
K = π*fstar # reduced frequency, K = πfc/U
oscil = RigidBodyMotions.PitchHeave(U₀,a,K,ϕ,α₀,Δα,A,ϕh);
Обратите внимание, что я добавил второй этап, который я добавил при вызове функции.
Кроме того, если у вас есть учетная запись на github, я предлагаю вам отправьте вопрос на свой github, сообщив о неисправном примере.
PS, пожалуйста, удалите изображения и напишите тест в своем ответе.