设z1=a+bi,z2=c+di(a、b、c、d∈R)是任意两个复数,那么它们的积(a+bi)(c+di)=(ac-bd)+(bc+ad)i。
其实就是把两个复数相乘,类似两个多项式相乘,展开得: ac+adi+bci+bdi2,因为i2=-1,所以结果是(ac-bd)+(bc+ad)i 。两个复数的积仍然是一个复数。
在极坐标下,复数可用模长r与幅角θ表示为(r,θ)。对于复数a+bi,r=√(a²+b²),θ=arctan(b/a)。此时,复数相乘表现为幅角相加,模长相乘。
扩展资料复数运算律介绍
1、加法交换律:z1+z2=z2+z1
2、乘法交换律:z1×z2=z2×z1
3、加法结合律:(z1+z2)+z3=z1+(z2+z3)
4、乘法结合律:(z1×z2)×z3=z1×(z2×z3)
5、分配律:z1×(z2+z3)=z1×z2+z1×z3
#include<stdioh>
float result_real,result_imag;
void complex_prod(float x1, float y1,float x2,float y2) ; //声明函数
int main(void)
{
float imag1,imag2,real1,real2;
printf("enter 1st complex number(real and imaginary):");
scanf("%f%f",&real1,&imag1);
printf("enter 2nd complex number(real and imaginary):");
scanf("%f%f",&real2,&imag2);
complex_prod(real1,imag1,real2,imag2); //调用函数
printf("product of complex is %f+%fi\n",result_real,result_imag);
return 0;
}
void complex_prod(float x1, float y1,float x2,float y2)//这里多了分号,参数定义错
{
//float result_real,result_imag; 不要了,用全局变量
result_real=x1x2-y1y2; //
result_imag=x1y2+x2y1;
//return result_real,result_imag; 用不到
}
知道了公式,自己写应当没困难。
乘法:(a+bi)(c+di)=(ac-bd)+(ad+bc)i
void ChenFa(float a,float b,float c,float d,float e,float f){
e = ac-bd;
f = ad+bc;
}
除法:(a+bi)/(c+di)=((ac+bd)/(cc+dd))+((bc-ad)/(cc+dd))i
void ChuFa(float a,float b,float c,float d,float e,float f){
if ( cc + dd == 00 ){printf("FenMu 00");exit(1);};
e = (ac+bd)/(cc+dd);
f = (bc-ad)/(cc+dd);
}
乘幂: z=x+iy; |z|=r; theta=atan(y/x)
z^n=r^nexp(nthetai);
#include <mathh>
void zpower(float x, float y, int n, float u, float v)
{
float theta;
int i;
z= sqrt(xx + y y);
theta = atan(y/x);
u = z;
for (i=1;i<n;i++) u = u z;
v = n theta;
}
除法:
z1=r1(cos(tita1)+isin(tita1))
z2=r2(cos(tita2) + i sin(tita2))
z1/z2= r1/r2 [cos(thita1-thita2) + i sin(thita1-thita2);
自己写吧。
以上就是关于复数相乘怎么做全部的内容,包括:复数相乘怎么做、c语言:输入俩个复数的实部与虚部,计算俩个复数之积,求解为何错了声明怎么声明、在C语言环境下实现复数运算等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)