0

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

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

我一直在考虑如何使用泰勒级数来做到这一点(无法理解如何将它用于求幂),我也发现x^y = exp(y*log(x))ln标准函数中只有(自然对数)......

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

4

2 回答 2

3

公式中的 log(x) 是自然对数,因此您可以使用

x^y = exp(y*ln(x))

毫无疑问。expln都是标准的 Turbo Pascal 函数

(一般公式为 x^y = b^(y * x 的以 b 为底的对数)

于 2013-09-12T16:48:04.390 回答
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) )

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

于 2013-09-12T16:39:37.053 回答