c ++中复数的三角函数和双曲函数

时间:2010-08-19 12:24:41

标签: c++

iam在我自己的类上处理复数,它对2个复数进行加,减,乘,除以此行为,它还可以得到复数的三角函数和双曲函数 能否帮助我实现这种三角函数和双曲函数

这是我的行为,包括正弦函数,这个实现是真的吗?

void complex :: get(){

cout<<"Real part is:"<<real<<"\n"<<"Imaginary part is:"<<imag<<"\n";

} void complex :: add(complex&amp; sum,const complex&amp; num1,const complex&amp; num2) {

sum.real=num1.real+num2.real;
sum.imag=num1.imag+num2.imag;

}

void complex :: sub(complex&amp; subt,const complex&amp; num1,const complex&amp; num2) {

subt.real=num1.real-num2.real;

subt.imag=num1.imag-num2.imag;

}

void complex :: multi(complex&amp; product,const complex&amp; num1,const complex&amp; num2)

{

product.real=(num1.real*num2.real)-(num1.imag*num2.imag);

product.imag=(num1.real*num2.imag)+(num1.imag*num2.real);

}

void complex :: div(complex&amp; divis,const complex&amp; num1,const complex&amp; num2)

{

divis.real =((num1.real num2.real)+(num1.imag num2.imag))/((num2.real num2.real)+(NUM2。 IMAG num2.imag));

divis.imag =((num1.imag num2.real) - (num1.real num2.imag))/((num2.real num2.real)+(NUM2。 IMAG num2.imag));

}

复杂的复杂:: _ sin(无效)

{     复杂的;     复杂的温度;     temp.real = SIN(a.real)* COSH(a.imag);     temp.imag = COS(a.real)*的sinh(a.imag);

return temp;

}

3 个答案:

答案 0 :(得分:3)

This page讨论了如何使用数字的真实和复杂部分轻松定义trig函数。

This page以sinh和cosh(根据 e 定义,因此您可以使用exp函数)开始,这允许您定义其他双曲函数。

答案 1 :(得分:1)

这有点像家庭作业,但在这种情况下,标准图书馆已经在<complex> header完成了你的工作。

如果你真的想重新实现它们,请参阅雅各布的回答,这将有一些小的gorey细节。

答案 2 :(得分:0)

由于三角函数和双曲函数是根据复指数定义的,因此首先要实现Euler的同一性(仅使用真实的三角函数产生复杂的结果)。