Мне действительно нужна помощь по коду. я пытаюсь перевести код Matlab в python. я использовал lsqonlin (matlab) и получил массив в качестве вывода, я попробовал то же самое с scipy.leastsq, но вывод был одним значением, что я должен использовать, чтобы получить массив? Вот код в Matlab:
fun= @(phi) sin(2*phi)/(2*phi)-gamma;
InitialGuess = pi/12;
%[phi_1(ir),~,~]=fsolve(fun,InitialGuess,optimset('Display','off'));
lb=0;ub=2.25;
[phi_1(ii,jj),~,~]=lsqnonlin(fun,InitialGuess,lb,ub,optimset('Display','off'));
после исправления, вывод представляет собой массив с одним значением, в то время как мне нужны различные значения для построения графика. код ниже:
from math import pi
from scipy.optimize import least_squares
def f(phi):
y= np.sin(2*phi)/(2*phi) - gamma
return y
x0 = pi/12
phi1 = least_squares(f,x0)
print(phi1)
и вот вывод:
active_mask: array([0.+0.j])
cost: (-3.249913819664981e-06+5.139025241135326e-07j)
fun: array([0.00020095+0.00255738j])
grad: array([-0.00013185-0.00167795j])
jac: array([[-0.65612047]])
message: '`xtol` termination condition is satisfied.'
nfev: 15
njev: 5
optimality: 0.0016831233538848116
status: 3
success: True
x: array([1.54956525+0.06919657j])