Python 计算特定函数

Python 计算特定函数,python,math,Python,Math,我正在尝试编写一个函数来求解函数N=10*(Log2 N)^2+1000,但它不起作用,有人能帮我修复它吗 IMHO: 这是您根据以下等式寻找的:函数N=10*(Log2 N)^2+1000 答案是1441.4082507040794很难理解您真正想要的是什么。此外,您编写的代码似乎与问题中所述的问题没有任何关系。 假设您在理解如何使用日志函数方面遇到问题: 假设您想用基数2计算log函数,然后: import math def funct_try(x): return (10*(mat

我正在尝试编写一个函数来求解函数N=10*(Log2 N)^2+1000,但它不起作用,有人能帮我修复它吗

IMHO:

这是您根据以下等式寻找的:函数N=10*(Log2 N)^2+1000


答案是1441.4082507040794

很难理解您真正想要的是什么。此外,您编写的代码似乎与问题中所述的问题没有任何关系。 假设您在理解如何使用日志函数方面遇到问题:

假设您想用基数2计算log函数,然后:

import math
def funct_try(x):
    return (10*(math.log(x,2)**2)+1000)

funct_try(100)
输出:

import math
print(math.log(8,2))
import math
def function_name(N):
    print(10*(math.pow(math.log(N,2),2))+1000)

function_name(110) #here I called the above function with a value 100
假设这有帮助。现在,让我们试试你的函数;它应该是这样的:

3.0
输出:

import math
print(math.log(8,2))
import math
def function_name(N):
    print(10*(math.pow(math.log(N,2),2))+1000)

function_name(110) #here I called the above function with a value 100

或者迭代函数几次,只要它是偶然的定点迭代

1459.8683956421526
它给出了输出

from math import log

func = lambda x : 10*log(x,2)**2 + 1000
x=1000
for _ in range(15): x = func(x); print "%.12f" % x

这看起来比每次迭代获得的正确数字略少。

您编写的“函数”似乎与问题中所述的问题无关。我认为您需要先学习一些Python基础知识。例如,不需要初始化变量。这里不需要
if
语句,只需要一个简单的赋值。您需要的是一个要计算的值(在您的示例中为
N
)。查看。我编写的函数是该函数的简化版本。它看起来像该函数的逆函数,但它至少需要另一个变量(
x
永远不会等于
2**((x-1000)/10^(1/2))
),并且您需要一种为
N
查找匹配值的策略。如果您的目标是在不使用
math.log()
的情况下解决此问题,那么可能需要迭代。为什么要将100作为输入?这就是x的答案吗?是的,100是一个输入,是的,x是100,所以函数给出了函数的值。是的,它解决了方程。就像我说的,110只是一个样本值来演示你们。