c语言 复数 运算

怎么让C语言实现e的复次幂运算?比如经典的e^(pi*i)=-1还有e^(i)=0.5403+0.8415i?还有怎么求(1+i)^0.3这样的函数?编程需要用到这些计算... 怎么让C语言实现e的复次幂运算?

比如经典的e^(pi*i)=-1
还有e^(i)=0.5403 + 0.8415i ?
还有怎么求(1+i)^0.3这样的函数?编程需要用到这些计算
展开
 我来答
乐跑小子
2016-01-12 · TA获得超过1.5万个赞
知道大有可为答主
回答量:1.1万
采纳率:7%
帮助的人:4457万
展开全部
这个是一个列子,可以参考下
struct complex{
float rmz; //实部
float lmz;//虚部
};
//产生一个复数.
complex getAComplex(float a,float b){
complex Node=new complex();
Node.rmz=a;
Node.lmz=b;
return Node;}
//两个复数求和
complex addComplex(complex complex1,complex complex2)
{
complex Node=new complex();
Node.rmz=complex1.rmz+complex2.rmz;
Node.lmz=complex1.lmz+complex2.lmz;
return Node;
}
//求两个复数的差
complex subComplex(complex complex1,complex complex2)
{
complex Node=new complex();
Node.rmz=complex1.rmz-complex2.rmz;
Node.lmz=complex1.lmz-complex2.lmz;
return Node;
}
//求两个复数的积
complex productComplex(complex complex1,complex complex2)
{
complex Node=new complex();
Node.rmz=complex1.rmz*complex2.rmz-complex1.lmz*complex2.lmz;
Node.lmz=complex1.lmz*complex2.rmz+complex2.lmz*complex2.rmz;
return Node;
}
//求实部
float getComplexRmz(complex complex1)
{
return complex1.rmz;
}
//求虚部
float getComplexLmz(complex complex1)
{
return complex1.lmz;
}
听不清啊
高粉答主

推荐于2018-03-04 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部
是这样的:e^(ix)=cosx+isinx (x是实数)
所以,e^(i)=cos1+isin1=0.5403 + 0.8415i (1弧度=180度/3.1416=57.2956度)
(1+i)^0.3=(√2e^(iπ/4))^0.3=(2^0.15) * e^(i3π/40)
再按第一行所列公式展开
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式