如何计算C#中分数幂的负数?
我试图计算C#中分数次幂的负数 这就是我试图计算的能量如何计算C#中分数幂的负数?,c#,C#,我试图计算C#中分数次幂的负数 这就是我试图计算的能量 Math.Pow(-0.5264, 1.11)--> Result NaN Math.Pow(-0.5264, 2) --> 0.27709696 Math.Pow(0.5264, 1.11) --> Gives me a result. 当基数为正,幂为分数时,我得到一个值。但当基数为负值时,它不能给出结果吗 当我试图找到一个负基的幂时,它在matlab中返回一个复数格式a+bi 我真的不知道如何在C#中实现它 有人
Math.Pow(-0.5264, 1.11)--> Result NaN
Math.Pow(-0.5264, 2) --> 0.27709696
Math.Pow(0.5264, 1.11) --> Gives me a result.
当基数为正,幂为分数时,我得到一个值。但当基数为负值时,它不能给出结果吗
当我试图找到一个负基的幂时,它在matlab中返回一个复数格式a+bi
我真的不知道如何在C#中实现它
有人能帮我解决这个问题吗。你可以使用
System.Numerics.Complex.Pow来计算这个表达式:
Complex.Pow(-0.5264, 1.11); //(-0,461524987676948, -0,166159219770948)
Complex.Pow(-0.5264, 2).Real; // 0.27709696
Complex.Pow(0.5264, 1.11).Real; // 0.49052441383186784
通常的Math.Pow
返回double,这是一个实数,并不复杂。Math.Pow
根据其规范正确运行
如果您想要复杂的值,并且没有复杂的数学库,那么计算它就足够简单了
我们知道欧拉的身份:
eix=cos x+i sin x
更具体地说
eiπ=-1
所以
0.5264 eiπ=-0.5264
所以
(0.5264)1.11E1.11Iπ=(-0.5264)1.11
现在再次使用Euler的恒等式
(0.5264)1.11(cos(1.11π)+i sin(1.11π))=(-0.5264)1.11
所以你要找的数字的真实部分是
(0.5264)1.11cos(1.11π)
虚部是
(0.5264)1.11sin(1.11π)
现在你已经把问题简化为实值函数,你可以用普通的数学库来计算
这个故事的寓意是:通过做数学来解决你的数学问题什么让你认为是应该工作的?您对-2^1.5的期望值是什么?工作原理如所述:x<0,但不是负不确定性;y不是整数、NegativeInfinity或PositiveInfinity返回值NaN@Tigran1.11是奇数还是偶数?@狗仔队:这是正确的观点。@Silva:看看吧