实数的指数

时间:2013-09-12 16:26:20

标签: algorithm user-defined-functions pascal exponential exponentiation

我遇到了一个有趣的练习,它说:使用Turbo Pascal的标准函数实现函数x ^ y

对于integer变量,我可以使用for循环,但在这种情况下我无法理解如何使用real变量。

我一直在考虑如何使用泰勒系列(无法理解如何使用它进行取幂)这样做,我也发现了x^y = exp(y*log(x))但只有标准函数中的ln(自然对数)......

PS  我不是要求你编写代码:请给我建议或链接或者有助于解决这个问题的东西。

2 个答案:

答案 0 :(得分:3)

公式中的

log(x)是自然对数,因此可以使用

x^y = exp(y*ln(x))
毫无疑问。 exp ln 都是标准的Turbo Pascal函数

(通式为x ^ y = b ^(y * b的基数-b对数)

答案 1 :(得分:1)

log x base y = ln(x)/ ln(y)=(log x base 10)/(log y base 10)

以下链接提供了有关对数的更多信息。查看“更改基础”部分。 http://en.wikipedia.org/wiki/List_of_logarithmic_identities

您可以将基数更改为自然对数并进行相应计算。

For x = 3.2, y = 2.5,
Say 3.2^2.5 = m
ln(m) = 2.5*ln(3.2)
Hence m = exp( 2.5 * ln(3.2) )

实际上,对于上述内容,您甚至不需要更改基础