«ValueError: установка элемента массива с последовательностью», только со скалярами - PullRequest
0 голосов
/ 01 марта 2019

Я получаю следующую ошибку, когда намереваюсь использовать функцию scipy.optimize.minimize.Я исследовал несколько тем на эту конкретную ошибку в Интернете, но я не совсем понимаю ошибку, касающуюся моего особого случая, потому что у меня нет ни собственных массивов в моей собственной функции DISPREL_VISKOS, ни во входных аргументах функции минимизации.Я надеюсь, что кто-нибудь может мне помочь!Заранее спасибо.Вы можете увидеть код ниже.

from scipy.special import iv
import numpy as np
from scipy.optimize import minimize

def DISPREL_VISKOS(alph,We,Re):

    j = np.complex(0,1)

    y=(alph**2-j*Re*alph)**0.5

    I0_al=iv(0,alph)
    I1_al=iv(1,alph)
    I0_y=iv(0,y)
    I1_y=iv(1,y)
    d_I1_al=0.5*(I0_al+iv(2,alph))
    d_I1_y=0.5*(I0_y+iv(2,y))

    disprel=2*alph**2*(y**2+alph**2)*d_I1_al/I0_al*(1-2*alph*y/(y**2+alph**2)*I1_al*d_I1_y/d_I1_al/I1_y)+(y**4-alph**4)-Re**2/We*I1_al/I0_al*alph*(1-alph**2)

    return disprel

j = np.complex(0,1)
We=3
Re=2
alpha_start=5+0*j #5+0*j standard

b=lambda alph: DISPREL_VISKOS(alph,We,Re)
a=minimize(b,alpha_start)
...