【问题标题】:Trigonometric and hyperbolic functions for complex number in c++c++中复数的三角函数和双曲函数
【发布时间】:2010-08-19 12:24:41
【问题描述】:

我正在研究我自己的复数类,它可以加、减、乘、除 2 个复数,除了这种行为之外,它还获得了复数的三角函数和双曲函数 你能帮我实现这个三角函数和双曲函数吗

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

空复数::get(){

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

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

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

}

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

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

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

}

void complex::multi (complex &product,const complex &num1,const complex &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 &divis,const complex &num1,const complex &num2)

{

divis.real=((num1.realnum2.real)+(num1.imagnum2.imag))/((num2.realnum2.real)+(num2.图像num2.imag));

divis.imag=((num1.imagnum2.real)-(num1.realnum2.imag))/((num2.realnum2.real)+(num2.图像num2.imag));

}

复复数::_sin(void)

{ 复杂的; 复杂的温度; temp.real=sin(a.real)*cosh(a.imag); temp.imag=cos(a.real)*sinh(a.imag);

return temp;

}

【问题讨论】:

标签: c++


【解决方案1】:

This page 谈论如何使用数字的实部和复数部分轻松定义三角函数。

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

【讨论】:

    【解决方案2】:

    这听起来像家庭作业,但在这种情况下,标准库已经在 &lt;complex&gt; header 中为您完成了这项工作。

    如果您真的想重新实现它们,请参阅 Jacob 的回答,其中包含血腥的小细节。

    【讨论】:

      【解决方案3】:

      由于三角函数和双曲函数是根据复数幂来定义的,因此首先要实现欧拉恒等式(仅使用实三角函数产生复数结果)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多