首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >平方和乘法后的反函数

平方和乘法后的反函数
EN

Stack Overflow用户
提问于 2013-01-23 19:16:17
回答 2查看 90关注 0票数 0

我试着写两个反函数。如果我们传递给函数A值10,它返回例如4,86,如果我们把这个数字传递给函数B,它应该返回原始的10。

我在函数A中用到了这样的东西:

输出= sqrt(inputForA / range) * inputForA;

因此,是否有可能在函数B中反求它,只知道输出和范围,就可以计算inputForA。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-23 19:37:21

您只需要考虑这个等式,就可以挑选出inputForA。以下是代数步骤:

输出= sqrt(inputForA / range) * inputForA

输出/ inputForA = sqrt(inputForA / range)

sq(输出)/ sq( inputForA ) =inputForA/范围

范围*平方(输出)/平方( inputForA )=inputForA

范围*平方(输出)=立方体(InputForA)

所以范围的立方体根乘以输出平方应该给你原始的输入。不过,我在这里不能很好地表现出来.

票数 1
EN

Stack Overflow用户

发布于 2013-01-23 19:25:04

你只需要使用基本的数学。output = pow(inputForA, 3. / 2.) * pow(range, 1. / 2.) so inputForA = pow(output * pow(range, 1. / 2.), 2. / 3.).只有当inputForAscale有相同的符号时,这才有效,但是第一个函数只在这个间隔上定义,所以这是可以的(因为sqrt只为正值定义)。

在Python中:

代码语言:javascript
复制
scale = 7.

def f(x):
    return math.sqrt(x / scale) * x

def g(y):
    return math.pow(y * math.pow(scale, 1. / 2), 2. / 3)

print g(f(10))
10.0

print f(g(10))
10.0

您也可以使用Wolframα获得答案:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14487585

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档