[求助]关于指数运算

杨桦LUOYANG 2007-10-04 01:53:50
在FORTRAN 中,有CDEXP函数,其参数为已复数,返回值也为复数。在VC++中该用哪个函数?
如果需要自己写,计算公式是什么?
谢谢。
...全文
385 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
杨桦LUOYANG 2007-10-04
  • 打赏
  • 举报
回复
下面是FORTRAN开发环境对CDEXP的解释( 是微软的DEVSTUDIO)
Purpose
Elemental Intrinsic Function Returns powers of e.
Syntax
result = EXP (x)

x
(Input) Real or complex. Can be an array. Power to which e is raised.
Return Value
Same type and kind as x with a value e**x. If x is complex, its imaginary part is regarded as a value in radians: for example, if x = (a, b) the result is e**a (cos(b) + i sin(b)).

请关注返回值的解释,如果x是复数,返回也是复数。
在VC中不知道该用何函数完成此功能,或者直接写函数,指数为复数的指数函数的运算公式是什么?
谢谢
arong1234 2007-10-04
  • 打赏
  • 举报
回复
cdexp对应于exp?
avronhust 2007-10-04
  • 打赏
  • 举报
回复
函数名: pow -- <math.h>
功 能: 指数函数(x的y次方)
用 法: double pow(double x, double y);
程序例:

#include <math.h>
#include <stdio.h>

int main(void)
{
double x = 2.0, y = 3.0;

printf("%lf raised to %lf is %lf\n", x, y, pow(x, y));
return 0;
}


函数名: pow10
功 能: 指数函数(10的p次方)
用 法: double pow10(int p);
程序例:

#include <math.h>
#include <stdio.h>

int main(void)
{
double p = 3.0;

printf("Ten raised to %lf is %lf\n", p, pow10(p));
return 0;
}
arong1234 2007-10-04
  • 打赏
  • 举报
回复
微软有Fortran产品么?怎么没听说过啊?
anyway,VC中没有直接操作复数的函数吧,但是实现起来太容易一点:)
exp(r+vi) = cosr + i sinv

这个一定需要通过一个函数给你么?

64,650

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧