我正在尝试用 Julia 求解非线性方程,
我有以下非线性方程
Nfoc(k,k1,z,n)=(1-α)*exp(z)*(k/n)^α/(exp(z)*(k^α)*(n^(1-α))+k*(1-δ)-k1) - A/(1-n)
我有一个 k、k1 和 z 值的网格,我试图通过使用此循环找到 x 的值,这些值是每个 k、k1 和 z 的该方程的根:
MatrixN=zeros(nkk,M,nkk)
for i=1:nkk,j=1:M
for i2=1:nkk
MatrixN[i,j,i2]=roots(Nfoc[K[i],K[i2],z(j),n])
end
end
但是,很明显,该命令无法正常运行。
如果能以不太技术性的方式提供任何帮助,我将不胜感激!
最佳答案
我没有足够的知识来处理您的用例,但总的来说,找到参数函数根的一种方法可能是:
using FastAnonymous # Creating efficient "anonymous functions" in Julia
using Roots
f(x,k,k1,z,n) = exp(x) - x^4 + k + k1 + z + n
function f_gen(k,k1,z,n)
@anon x -> f(x,k,k1,z,n)
end
fzero(f_gen(0,0,0,0), 1) # => finds x so f(x,0,0,0,0) = 0 using a derivative free method
关于algorithm - 用 Julia 求解非线性方程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37286697/