我有以下python函数需要输入a和b
def interimfunc(x,y,z):
#this is a dummy function - not a part of the actual question but included for completeness.
#the actual function involves some statistical treatment - but that is not a problem here.
sol = x*y+z
return sol
def finalfunc(a, b):
interimsol1 = interimfunc(0.4,a,b)
interimsol2 = interimfunc(0.8,a,b)
finalsol = interimsol1/interimsol2
return finalsol
如果finalsol
是已知值。
如何通过求解非线性方程组来找出未知量“a”和“b”??你知道吗
===
我在贴了这张照片后得到了4张反对票。我是一名机械工程师,学习计算机科学。我确实尝试过在互联网上进行研究,但需要改进我的搜索-因此我向这里的专家提出了一个问题。你知道吗
===
除上述等式外,还有一个信息:
interimsol2 = interimfunc(0.8,a,b)
其中interimsol2 = 10 #i.e. known value
我们如何在未知的发现中包含这些新信息?你知道吗
===
@SergeyIvanov要求的实际问题
def func(mu, sigma):
tenpercent = st.norm.ppf(2, mu, sigma)
ninetypercent = st.norm.ppf(2, mu, sigma)
rfs = tenpercent/ninetypercent
return rfs
我认为你应该解一个非线性方程组。对于两个已知解的两个方程,这段代码应该可以解决您的问题(当然您可以扩展它):
但它只适用于相同的已知值,这是毫无意义的(解决方案将是a和b的随机组合)。问题是,你应该有一些东西来区分两个方程finalfunc(例如,附加参数),因为你可以得到不同的解决方案,只有不同的参数。所以最后你应该有这样的东西:
最后一个例子:
这里的问题是
ppf
可以生成nan
并破坏优化过程。所以猜测值应该非常谨慎地提出。你知道吗相关问题 更多 >
编程相关推荐