在Julia中推广nlsolve函数的输入

在Julia中推广nlsolve函数的输入,julia,nonlinear-functions,Julia,Nonlinear Functions,这个问题已经在另一个平台上被问过了,但我还没有得到答案 在朱莉娅的交响曲中经过一个广泛的过程后,我生成了一个非线性方程组。我的系统在矩阵NxS中分配。类似这样的东西(NN=2,S=2) 我想调整系统以使用NLsolve包。对于NN=1和S=1的情况,我做了一些胡闹。系统方程2函数给出了非线性系统,如图所示 using SymPy using Plots using NLsolve res = system_equations2() 为了模拟输出,我执行以下操作: NN = 1 S =

这个问题已经在另一个平台上被问过了,但我还没有得到答案

在朱莉娅的交响曲中经过一个广泛的过程后,我生成了一个非线性方程组。我的系统在矩阵NxS中分配。类似这样的东西(NN=2,S=2)

我想调整系统以使用NLsolve包。对于NN=1和S=1的情况,我做了一些胡闹。系统方程2函数给出了非线性系统,如图所示

using SymPy
using Plots
using NLsolve

res =  system_equations2() 
为了模拟输出,我执行以下操作:

NN = 1
S = 1
p= [Sym("p$i$j") for i in 1:NN,j in 1:S]
res = [ Eq( -331.330122303069*p[i,j]^(1.0) + p[i,j]^(2.81818181818182) -  1895.10478893046/(p[i,j]^(-1.0))^(2.0),0 ) for i in 1:NN,j in 1:S]
resf = convert( Function,  lhs( res[1,1] ) )
plot(resf, 0 ,10731)
现在

现在,我找到了零

function K(F,p)
F[1] = resf2(p[1])
end

nlsolve(K , [7500.8])

我想将此价格推广到任何NN和任何S。我相信有一种更简单的方法可以做到这一点。

您可以在不离开sympy的情况下完成此操作:
sympy.nsolve(res,p,7500.8)
。大概完整的方程式也可以通过调整初始猜测来完成。
function K(F,p)
F[1] = resf2(p[1])
end

nlsolve(K , [7500.8])