Algorithm 实数的幂运算
我遇到了一个有趣的练习,它说:使用Turbo-Pascal的标准函数实现函数x^y 对于Algorithm 实数的幂运算,algorithm,user-defined-functions,pascal,exponential,exponentiation,Algorithm,User Defined Functions,Pascal,Exponential,Exponentiation,我遇到了一个有趣的练习,它说:使用Turbo-Pascal的标准函数实现函数x^y 对于整数变量,我可以将用于循环,但在这种情况下,我无法理解如何使用实数变量 我一直在思考如何使用泰勒级数(不知道如何使用它进行求幂),我还发现x^y=exp(y*log(x))但标准函数中只有ln(自然对数) PS 我不是要你写代码:请给我一些建议或链接,或者一些有助于解决这个问题的东西。logxbasey=ln(x)/ln(y)=(logxbase10)/(logybase10) 下面的链接有关于对数的更多信息
整数
变量,我可以将用于
循环,但在这种情况下,我无法理解如何使用实数
变量
我一直在思考如何使用泰勒级数(不知道如何使用它进行求幂),我还发现x^y=exp(y*log(x))
但标准函数中只有ln
(自然对数)
PS
我不是要你写代码:请给我一些建议或链接,或者一些有助于解决这个问题的东西。logxbasey=ln(x)/ln(y)=(logxbase10)/(logybase10)
下面的链接有关于对数的更多信息。查看“更改基础”部分。
您可以将基数更改为自然对数,并进行相应的计算
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) )
事实上,对于上述情况,您甚至不需要更改基数log x base y=ln(x)/ln(y)=(log x base 10)/(log y base 10)
下面的链接有关于对数的更多信息。查看“更改基础”部分。
您可以将基数更改为自然对数,并进行相应的计算
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) )
实际上,对于上面的公式,您甚至不需要更改基数,因为公式中的log(x)是自然对数,所以您可以使用
x^y = exp(y*ln(x))
毫无疑问。exp和ln都是标准的Turbo-Pascal函数
(一般公式是x^y=b^(y*base-b x的对数)log(x)在您的公式中是自然对数,因此您可以使用
x^y = exp(y*ln(x))
毫无疑问,exp和ln都是标准的Turbo-Pascal函数
(通式为x^y=b^(y*以x为底的b对数)如果只有log base是问题,那么你可以应用log公式和更改基数。如果只有log base是问题,那么你可以应用log公式和更改基数。例如,如何将其应用于
x:=3.2
和y:=2.5
?如何将其应用于x:=3.2
和y:=2.5
?谢谢,我会验证是的。但是你能解释一下你是怎么发现的吗?log(x)
int问题是ln(x)
,请?log(x)是抽象对数,没有底数。Exp using表示自然对数。谢谢,我会验证它。但是你能解释一下你是怎么发现log(x)
int问题是ln(x)
,请?log(x)是没有底数指示的抽象对数。Exp using表示自然对数。