对于 z = a + bi 的形式
r = sqrt(a^2+b^2) 在matlab中可以用abs()函数求。
theta = arctan(b/a) 在matlab中可以用angle()函数求,得到弧度结果。
结果如下:
对于极坐标转化直角坐标,也是根据公式
a = rcos(theta)
b = rsin(theta)
程序如下:
#define ARR_SIZE 20
typedef struct complex
{
int aNum;
int bNum;
}Complex;
void Add(Complex A, Complex B)
{
A->aNum=A->aNum+B->aNum;
A->bNum=A->bNum+B->bNum;
}
void Minus(Complex A, Complex B)
{
A->aNum=A->aNum-B->aNum;
A->bNum=A->bNum-B->bNum;
}
char FormatComplex(Complex A) //格式化复数,变成a+bi
{
char temp[ARR_SIZE];
wsprintf(temp,"%d+%d i",A->aNum,A->bNum);
return temp;
}
首先为前一位热心网友的学识着急,多看看书吧。奇数次开方可对负数进行运算,提问者问的是复数,不是负数。
和提问者确认一下,是负数还是复数?现在以复数作答。
然后给提问者一个失望地答案:Excel的功能可能没有那么强大。
在Excel中,提供了部分复数运算的公式,都是以IM开头的,在任意单元格输入=IM,便可自动联想到这些公式,比如对两个复数相加,=IMSUM(a+bi,c+di)这样,不过这两个数应该是数值,而不是变量公式。
如果复数包含在公式里,可能需要对公式进行嵌套,通过复数的平方根函数IMSQRT运算。
给你个类的吧,c++中一般不用结构体
#include <iostreamh>
//using namespace std;
class complex
{
private:
float real;
float image;
public:
complex(float r=0,float i=0)
{
real=r;
image=i;
}
/
void display()
{
cout<<real<<"+"<<image<<"i"<<endl;
}
/
complex operator +(complex &obj)
{
complex c;
creal=real+objreal;
cimage=image+objimage;
return c;
}
complex operator -(complex &obj)
{
complex c;
creal=real-+objreal;
cimage=image-objimage;
return c;
}
complex operator (complex &obj)
{
complex c;
creal=realobjreal-imageobjimage;
cimage=imageobjreal+objimagereal;
return c;
}
complex operator /(complex &obj)
{
complex c;
creal=realobjreal+imageobjimage;
cimage=imageobjreal-objimagereal;
float A=objrealobjreal+objimageobjimage;
creal=creal/A;
cimage=cimage/A;
return c;
}
friend ostream & operator<<(ostream & ,complex &);
};
ostream & operator<<(ostream &out ,complex &obj)
{
out<<objreal<<"+"<<objimage<<"i"<<endl;
return out;
}
//3 ^ 2 ===>9
int main()
{
complex c1(3,4);
complex c2(c1);
//complex c3(-12,30);
cout<<c1<<endl; //display();
cout<<c2<<endl; //display();
complex c;
c=c1+c2;
cout<<c<<endl; //display();
c=c1-c2;
cout<<c<<endl; //display();cdisplay();
c=c1c2;
cout<<c<<endl; //display();cdisplay();
c=c1/c2;
cout<<c<<endl; //display();cdisplay ();
return 0;
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)