精华内容
下载资源
问答
  • Java中 如果复数类成员是int型,怎么实现两个复数相除
    2021-03-09 08:58:16

    (1) 复数类Complex 的属性有:

    RealPart :    int型,代表复数的实数部分

    ImaginPart :  int型,代表复数的虚数部分

    package applet;

    import java.applet.*;

    import java.awt.*;

    public class j_1 extends Applet{

    Complex a,b,c,d,e,f;

    public void init()

    {

    a=new Complex(2,2);

    b=new Complex(3,4);

    c=new Complex();

    d=new Complex();

    e=new Complex();

    f=new Complex();

    }

    public void paint(Graphics g)

    {

    c=a.add(b);

    d=a.sub(b);

    e=a.mul(b);

    f=a.div(b);

    g.drawString("第一个复数:"+a.ToString(), 10, 50);

    g.drawString("第二个复数:"+b.ToString(), 10, 70);

    g.drawString("两复数之和:"+c.ToString(), 10, 90);

    g.drawString("两复数之差:"+d.ToString(), 10, 110);

    g.drawString("两复数相乘:"+e.ToString(), 10, 130);

    g.drawString("两复数相除:"+f.ToString(), 10, 150);

    }

    }

    class Complex{

    public int realPart;

    public int imaginPart;

    Complex(int r,int i)

    {realPart=r;imaginPart=i;}

    Complex(){realPart=0;imaginPart=0;}

    Complex add(Complex a)

    {

    Complex temp=new Complex();

    temp.realPart=realPart+a.realPart;

    temp.imaginPart=imaginPart+a.imaginPart;

    return temp;

    }

    Complex sub(Complex a)

    {

    Complex temp=new Complex();

    temp.realPart=realPart-a.realPart;

    temp.imaginPart=imaginPart-a.imaginPart;

    return temp;

    }

    Complex mul(Complex a)

    {

    int r,i,ra,ia;

    r=this.realPart;

    i=this.imaginPart;

    ra=a.realPart;

    ia=a.imaginPart;

    Complex temp=new Complex();

    temp.realPart=r*ra-i*ia;

    temp.imaginPart=i*ra+r*ia;

    return temp;

    }

    Complex div(Complex a)

    {

    double r,i,ra,ia;

    r=this.realPart;

    i=this.imaginPart;

    ra=a.realPart;

    ia=a.imaginPart;

    Complex temp=new Complex();

    temp.realPart=(r*ra+i*ia)/(ra*ra+ia*ia);//这个地方应该如何修改,还是说只能改成把类成员变量改成double型数据才可以

    temp.imaginPart=(i*ra-r*ia)/(ra*ra+ia*ia);

    return temp;

    }

    public String ToString()

    {

    if(imaginPart<0)

    {

    return (realPart+(imaginPart+"i"));

    }

    else return(realPart+"+"+imaginPart+"i");

    }

    }

    更多相关内容
  • 复数常用知识与运算

    2021-11-01 18:28:35
    复数的表示 代数形式 z=a+bj(a,b∈R)z=a+bj(a,b∈R)z=a+bj(a,b∈R),工程上i经常用j来表示 三角形式 z=r(sin⁡θ+jcos⁡θ)z=r(\sin\theta+j\cos\theta)z=r(sinθ+jcosθ), r>0,θ∈Rr>0, \theta\in Rr>...

    复数的表示

    1. 代数形式 z = a + b j ( a , b ∈ R ) z=a+bj(a,b∈R) z=a+bj(abR),工程上i经常用j来表示
    2. 三角形式 z = r ( sin ⁡ θ + j cos ⁡ θ ) z=r(\sin\theta+j\cos\theta) z=r(sinθ+jcosθ), r > 0 , θ ∈ R r>0, \theta\in R r>0,θR
    3. 复指数形式 z = r e j θ z=re^{j\theta} z=rejθ
    4. 极坐标表示 z = r ∠ θ z=r∠\theta z=rθ z = r e j θ z=re^{j\theta} z=rejθ

    r是模,θ是辐角

    运算

    复数相乘

    复数相乘等于模相乘,辐角相加
    z 1 ⋅ z 2 = ∣ z 1 ∣ ⋅ ∣ z 2 ∣ e j ( θ 1 + θ 2 ) = ∣ z 1 ∣ ⋅ ∣ z 2 ∣ ∠ ( θ 1 + θ 2 ) z_1\cdot z_2=|z_1|\cdot|z_2|e^{j(\theta_1+\theta_2)}=|z_1|\cdot|z_2|∠(\theta_1+\theta_2) z1z2=z1z2ej(θ1+θ2)=z1z2(θ1+θ2)

    复数相除

    复数相乘等于模相除,辐角相减
    z 1 z 2 = ∣ z 1 ∣ ∣ z 2 ∣ e j ( θ 1 − θ 2 ) = ∣ z 1 ∣ ∣ z 2 ∣ ∠ ( θ 1 + θ 2 ) \frac{z_1}{z_2}=\frac{|z_1|}{|z_2|}e^{j(\theta_1-\theta_2)}=\frac{|z_1|}{|z_2|}∠(\theta_1+\theta_2) z2z1=z2z1ej(θ1θ2)=z2z1(θ1+θ2)

    模的运算

    ∣ z ∣ = z z ˉ |z|=\sqrt{z\bar{z}} z=zzˉ

    乘积的模

    乘积的模等于模的乘积
    ∣ z 1 z 2 ∣ = ∣ z 1 ∣ ∣ z 2 ∣ |z_1z_2|=|z_1||z_2| z1z2=z1z2

    分数的模

    分数求模等于分子分母分别求模
    ∣ z 1 z 2 ∣ = ∣ z 1 ∣ ∣ z 2 ∣ |\frac{z_1}{z_2}|=\frac{|z_1|}{|z_2|} z2z1=z2z1

    幂的模

    幂的模等于模的幂
    ∣ z n ∣ = ∣ z ∣ n |z^n|=|z|^n zn=zn

    参考资料:
    I复数的四种表示形式
    正弦量的相量表示法-J PPT

    展开全文
  • 复数的运算法则: 加法运算: 复数的加法按照以下规定的法则进行:设z1=a+bi,z2=c+di是任意两个复数,则它们的和是(a+bi)+(c+di)=(a+c)+(b+d)i; 例如:a = 1+2i,b = 3+4i 即可得 a+b = 4+6i 减法法则: 复数的减法...

    复数的运算法则:
    加法运算:
    复数的加法按照以下规定的法则进行:设z1=a+bi,z2=c+di是任意两个复数,则它们的和是(a+bi)+(c+di)=(a+c)+(b+d)i;
    例如:a = 1+2i,b = 3+4i  即可得 a+b = 4+6i
    减法法则:
    复数的减法按照以下规定的法则进行:设z1=a+bi,z2=c+di是任意两个复数,则它们的差是 (a+bi)-(c+di)=(a-c)+(b-d)i;两个复数的差依然是复数,它的实部是原来两个复数实部的差,它的虚部是原来两个虚部的差。
    例如:a = 1+2i,b = 3+4i  即可得 a-b = -2i+2i;
    乘法法则:
    规定复数的乘法按照以下的法则进行:设z1=a+bi,z2=c+di(a、b、c、d∈R)是任意两个复数,那么它们的积(a+bi)(c+di)=(ac-bd)+(bc+ad)i;
    例如:a = 1+2i,b = 3+4i 即可得 a*b = -5+10i
    共轭复数:
    两个实部相等,虚部互为相反数的复数互为共轭复数。当虚部不为零时,共轭复数就是实部相等,虚部相反,如果虚部为零,其共轭复数就是自身。
    例如  a = 1+2i,a 的共轭复数为:1-2i;
    模:
    将复数的实部与虚部的平方和的正的平方根的值称为该复数的模,记作∣z∣,
    对于复数 z = a + bi ,它的模 |z| = sqrt(aa+bb);
     

    //Complex.h
    #pragma once
    class Complex
    {
    public:
    	Complex();
    	~Complex();
    	int real;
    	int img;
    	double mod;
    	void setReal(double real);
    	void setImg(double img);
    	void disp();
    	void conjnum(Complex &b);
    	double getReal();
    	double getImg();
    	void set(double r, double i);
    	Complex(double r, double i);
    	Complex operator+( Complex &b);
    	Complex operator-( Complex &b);
    	Complex operator*(Complex &b);
    	Complex operator/( Complex &b);	
    };
    
    
    //Complex.cpp
    #include "stdafx.h"
    #include "Complex.h"
    
    Complex::Complex()
    	: real(0)
    	, img(0)
    {
    }
    Complex::~Complex()
    {
    }
    void Complex::setReal(double real)
    {
    	this->real = real;
    }
    void Complex::setImg(double img)
    {
    	this->img = img;
    }
    void Complex::disp()
    {
    	if (img>=0)
    	{
    		cout <<  real << "+" << img << "i" << endl;
    	}
    	else
    	{
    		cout << real << "-" << img << "i" << endl;
    	}
    	
    }
    double Complex::getReal()
    {
    	return 0;
    }
    double Complex::getImg()
    {
    	return 0;
    }
    void Complex::set(double r, double i)
    {
    	this->real = r;
    	this->img = i;
    }
    void Complex::conjnum(Complex &b)
    {
    	real = b.real;
    	img = -(b.img);
    }
    Complex Complex::operator+(Complex &b) //定义复数相加函数
    {
    	Complex c;
    	c.real = real + b.real;
    	c.img = img + b.img;
    	return c;
    }
    Complex Complex::operator-(Complex &b) //定义复数相减函数
    
    {
    	Complex c;
    	c.real = real - b.real;
    	c.img = img - b.img;
    	return c;
    }
    Complex Complex::operator*(Complex &b) //定义复数相乘函数
    
    {
    	Complex c;
    	c.real = real*b.real - img*b.img;
    	c.img = img*b.real + real*b.img;
    	return c;
    }
    Complex Complex::operator/(Complex &b) //定义复数相除函数
    {
    	Complex c;
    	c.real = (real*b.real + img*b.img) / (b.real*b.real + b.img*b.img);
    	c.img = (img*b.real - b.real*b.img) / (b.real*b.real + b.img*b.img);
    	return c;
    }
    
    #include "stdafx.h"
    #include "Complex.h"
    double ModuleNum(Complex &b);
    int _tmain(int argc, _TCHAR* argv[])
    {
    	Complex num1;
    	Complex num2;
    	num1.set(1.0, 2.0);
    	num2.set(3.0, 4.0);
    	cout << "num1=";
    	num1.disp();
    	cout << "\nnum2=";
    	num2.disp();
    	cout << endl;
    
    	Complex res;
    	cout << "num1+num2:\t";
    	res = num1 + num2;
    	res.disp();
    	cout << "\nnum1-num2:\t";
    	res = num1 - num2;
    	res.disp();
    	cout << "\nnum1*num2:\t";
    	res = num1 * num2;
    	res.disp();
    	cout << "\nnum1/num2:\t";
    	res = num1 / num2;
    	res.disp();
    	cout << endl;
    
    	cout << "num1的共轭复数为:\t";
    	res.conjnum(num1);
    	res.disp();
    	cout << endl;
    
    	double mod;
    	cout << "num2的模:  |num2|=";
    	mod = ModuleNum(num2);
    	cout << mod << endl;
    	return 0;
    }
    double ModuleNum(Complex &b)
    {
    	return sqrt(b.real*b.real + b.img*b.img);
    }
    

    展开全文
  • c语言 复数的运算

    2021-05-19 19:49:56
    复数的运算请用程序实现用函数编写复数的加法、减法、乘法和除法的运算。函数定义// 复数加法COMPLEX ComplexAdd(const COMPLEX *x, const COMPLEX *y);// 复数减法COMPLEX ComplexSub(const COMPLEX *x, const ...

    复数的运算

    请用程序实现

    用函数编写复数的加法、减法、乘法和除法的运算。

    函数定义

    // 复数加法

    COMPLEX ComplexAdd(const COMPLEX *x, const COMPLEX *y);

    // 复数减法

    COMPLEX ComplexSub(const COMPLEX *x, const COMPLEX *y);

    // 复数乘法

    COMPLEX ComplexMul(const COMPLEX *x, const COMPLEX *y);

    // 复数除法

    COMPLEX ComplexDiv(const COMPLEX *x, const COMPLEX *y);

    函数说明

    ComplexAdd 将 x 所指复数加上 y 所指复数,函数值为两者相加的和。

    ComplexSub 将 x 所指复数减去 y 所指复数,函数值为两者相减的差。

    ComplexMul 将 x 所指复数乘以 y 所指复数,函数值为两者相乘的积。

    ComplexDiv 将 x 所指复数除以 y 所指复数,函数值为两者相除的商。

    要求:当除数为零时,ComplexDiv 函数报告错误,函数值为零。

    示例 1

    输入

    4.2+1.5i

    2.5-0.3i

    输出

    6.7+1.2i

    1.7+1.8i

    10.95+2.49i

    1.58517+0.790221i

    示例 2

    输入

    1.6-3.5i

    0+0i

    输出

    1.6-3.5i

    1.6-3.5i

    0+0i

    Divided by zero!

    0+0i

    代码如下;

    #include

    typedef struct

    {

    double rp;

    double ip;

    char op;

    }COMPLEX;

    // 复数加法

    COMPLEX ComplexAdd(const COMPLEX *x, const COMPLEX *y)

    {

    COMPLEX complex;

    complex.rp=x->rp+y->rp;

    complex.ip=x->ip+y->ip;

    if(complex.ip>=0)

    complex.op='+';

    return complex;

    }

    // 复数减法

    COMPLEX ComplexSub(const COMPLEX *x, const COMPLEX *y)

    {

    COMPLEX complex;

    complex.rp=x->rp-y->rp;

    complex.ip=x->ip-y->ip;

    if(complex.ip>=0)

    complex.op='+';

    return complex;

    }

    // 复数乘法

    COMPLEX ComplexMul(const COMPLEX *x, const COMPLEX *y)

    {

    COMPLEX complex;

    complex.rp=x->rp*y->rp+(x->ip*y->ip)*(-1);

    complex.ip=x->rp*y->ip+x->ip*y->rp;

    if(complex.ip>=0)

    complex.op='+';

    return complex;

    }

    // 复数除法

    COMPLEX ComplexDiv(const COMPLEX *x, const COMPLEX *y)

    {

    COMPLEX complex;

    if(y->rp==0||y->ip==0)

    printf("Divided by zero!");

    else

    {

    complex.rp=(x->rp*y->rp+x->ip*y->ip)/((y->rp)*(y->rp)+(y->ip)*(y->ip));

    complex.ip=((x->ip*y->rp)-(x->rp*y->ip))/((y->rp)*(y->rp)+(y->ip)*(y->ip));

    if(complex.ip>=0)

    complex.op='+';

    return complex;

    }

    }

    int main()

    {

    COMPLEX a, b, p, q, r, s;

    ComplexInput(&a);

    ComplexInput(&b);

    p = ComplexAdd(&a, &b);

    ComplexOutput(&p);

    putchar('\n');

    q = ComplexSub(&a, &b);

    ComplexOutput(&q);

    putchar('\n');

    r = ComplexMul(&a, &b);

    ComplexOutput(&r);

    putchar('\n');

    s = ComplexDiv(&a, &b);

    ComplexOutput(&s);

    putchar('\n');

    return 0;

    }

    void ComplexInput(COMPLEX *complex)

    {

    double i,j;

    char op;

    scanf("%lf%c%lfi",&i,&op,&j);

    complex->rp=i;

    if(op=='+')

    complex->ip=j;

    else

    complex->ip=-j;

    }

    void ComplexOutput(const COMPLEX *complex)

    {

    if(complex->ip>=0)

    printf("%g%c%gi",complex->rp,complex->op,complex->ip);

    else

    printf("%g%gi",complex->rp,complex->ip);

    }

    如果代码有误,欢迎大家指正。

    展开全文
  • 这个代码包括一个复数类和四个运算函数,一个用户界面函数和一个功能函数 细节:当复数不足两个时无法进行运算,等等…忘了 结果展示 使用页面 建立复数 复数相加 其他功能诸如此类,不作展示 代码区 由于个人...
  • 复数除法算法

    2022-02-16 20:59:29
    已知两个复数a和b a = a.rmz + ja.imz b = b.rmz + jb.imz 求这两个复数的商c c = c.rmz + jc.imz = a / b 函数名:c_comp_divide.c 建模思想 (1)计算除数的模的平方 (2)调用复数乘法的算法计算 (3)...
  • 实现复数

    2021-01-09 17:17:19
    实现复数类 【问题描述】 实现复数类,下图是复数类的UML图。... div 复数相除 QQ图片20200403091931.jpg 【输入形式】 【输出形式】 【样例输入】 1 2 3 4 【样例输出】 c1: 1 + 2i c2: 3 + 4i c3: 0 + 0i c1
  • 复数的基本运算(C语言)》由会员分享,可在线阅读,更多相关《复数的基本运算(C语言)(3页珍藏版)》请在人人文库网上搜索。1、include#includetypedef struct fushu/抽象数据类型定义float real;/数据对象float ...
  • 复数四则运算源代码

    2020-12-08 10:30:30
    #include&ltstdio.h&gt#include&ltstdlib.h&gttypedef struct Complex{float real;...Complex InitComplex(float a,float b) /*给复数的实部和虚部复制,并返回复数。*/{Complex c;c.real=a;c.image...
  • 复数的除法运算

    2021-02-27 18:52:44
    [java]代码库/*** 复数的除法运算。* c = a / b 的运算法则是:* c.实部 = (a.实部 * b.实部 + a.虚部 * b.虚部) / (b.实部 *b.实部 + b.虚部 * b.虚部);* c.虚部 = (a.虚部 * b.实部 - a.实部 * b.虚部) / (b.实部 ...
  • 复数除法

    千次阅读 2019-03-01 12:48:00
    共轭的两个复数相乘是个实常数 所以先在分子分母上同时乘以除数的共,这样分母变为常数,做起来就易如反掌了 转载于:https://www.cnblogs.com/mgfsos/p/10455758.html...
  • MATLAB面向复数运算的设计.doc

    千次阅读 2021-04-23 13:29:40
    MATLAB面向复数运算的设计MATLAB面向复数运算的设计MATLAB的所有运算都是定义在复数域上的。这样设计的好处是:在进行运算时,不必像其他程序语言那样把实部和虚部分开来处理。为描述复数,虚数单位用预定义变量i或j...
  • python数字类型相关操作 常见的操作即+,-,*,/,这里就不多说了,但要注意python中的/不是整除,下面我们说一些其他的对数字类型的操作 ...即求两个数相除的余数,如9%5=4,即9模5得4 >>> 9%5
  • 复数的除法

    千次阅读 2019-01-29 11:06:29
    分子分母同时乘以分母的共轭复数。 eg:
  • C++ 定义复数的加减乘除基本运算

    千次阅读 2020-11-27 18:22:21
    在C++中定义复数operations #include <iostream> using namespace std; class complex{ public: complex(){ real = 0.0; imag = 0.0; } complex(double r_, double i_){ real = r_; imag = i_; } ...
  • 一、对复数进行运算符重载 1、加法运算符重载 1、因为我们要输入复数的值,所以我们应当运用构造函数,我们不仅要定义默认构造函数,来构造m3,还要定义一个构造函数使输入的数相加。 下面展示一些 代码。 #include ...
  • 使用opencv实现复数矩阵相除,点除

    千次阅读 2019-05-28 11:57:51
    因为有matlab代码需要在opencv上实现,遇到了./的问题,在网上参考了许多代码,但是与matlab的结果不符,于是自己着手实现了一下,与matlab验证证明是正确的。 Mat cmplxDivision(Mat m1, Mat m2) { ...
  • #include<iostream> using namespace std; class Complex { public: Complex() { Real=0;Image=0;} Complex(double r,double i) { Real=r;Image=i;} void Show() { cout <...")"<..
  • 加法:(a+bi)+(c+di)=(a+c)+(b+d)i 减法:(a+bi)-(c+di)=(a-c)+(b-d)i 乘法:(a+bi)*(c+di)=(ac-bd)+(ad+bc)i 除法:(a+bi)/(c+di)=((a+bi)*(c-di))/(c^2+d^2) #include <iostream> using namespace std;...
  • 用java实现复数的加减乘除运算

    万次阅读 多人点赞 2018-05-22 09:55:14
    用java实现复数的加减乘除运算1. 背景 老师在课上布置了几道java编程题,此为其中之一2. 题目内容设计一个类Complex,用于封装对复数的下列操作:(1)一个带参数的构造函数,用于初始化复数成员(2)一个不带参数的构造...
  • 本文实例为大家分享了简单实现C++复数计算器的具体代码,供大家参考,具体内容如下 1.有关计算器的功能  A,实现多个复数(包括实数)的加减乘除,大小比较,   B.实现十进制实数的进制转换,...辗转相除,记录每次
  • 实现一个复数类,要求重载加减乘除及输入输出,输出保留两位小数。分别输入两个复数的实部和虚部,依次输出加减乘除后的结果。 例: 输入: 3 4 7 8 输出: 10.00+12.00i -4.00-4.00i -11.00+52.00i 0.47+0.04i ...
  • C++ 操作符重载(2) 复数加减乘除

    千次阅读 2018-06-27 22:44:35
    复数由实部和虚部组成 复数间的运算通过实部和虚部,我们构建一个复数类来模拟复数间的操作类定义如下://复数的运算class Complex {private: int real; //复数的实部 int image; //复数的虚部public: void myPrint()...
  • 复数的对数

    千次阅读 2015-11-26 14:58:53
    其实除了0以外,复数是都可以求解对数的。用欧拉公式可以简单的得到结果。
  • 问题及代码: /* ...*All rights reserved. *文件名称:number.cpp *作 者:单昕昕 ...*问题描述:请用类的成员函数,定义复数类重载运算符+、-、*、/,使之能用于复数的加减乘除 *程序输入:无。
  • 计算两个复数的乘积。 参考题解 这道题感觉很简单,主要是对复数的表达式进行解析,然后套用公式,输出结果就可以了。 class Solution: def complexNumberMultiply(self, a, b): """ :type a: str...
  • /* * Copyright (c) 2013, 烟台大学... * All rights reserved.... * 文件名称:text.cpp * 作者:胡颖 ...* 完成日期:2013年4月24日 ...* 问题描述:利用友员函数实现复数的加减乘除运算 ...* 程序输出:输出复数的运算结

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,649
精华内容 1,459
关键字:

复数相除

友情链接: annotate_rwlock.rar