-
2017-07-25 18:05:00
//复对数运算 public class fushu2 { static void cLog(double a,double b,double[] e,double[]f){ double temp; temp=Math.log(Math.sqrt(a*a+b*b)); e[0]=temp; f[0]=Math.atan2(b,a); } //复指数运算e的(a+bi)次幂 public static void mi(double a,double b,double[] e,double[]f){ double temp; temp = (double)Math.exp(a); e[0]=temp*(double)Math.cos(b); f[0]=temp*(double)Math.sin(b); } //复正弦运算 public static void sin(double a,double b,double[] e,double[]f){ double q,p; p=Math.exp(b); q=1/p; e[0]=Math.sin(a)*(q+p)/2.0; f[0]=Math.cos(a)*(p-q)/2.0; } public static void main(String[] args) { double a,b; double[] e={0},f={0}; a=2.0;b=3.0; cLog(a,b,e,f); System.out.println(e[0]+"+"+f[0]); mi(a,b,e,f); System.out.println(e[0]+"+"+f[0]); sin(a,b,e,f); System.out.println(e[0]+"+"+f[0]); } }
更多相关内容 -
复数的函数基本运算(加,减,乘,除,对数,指数,幂,三角,反三角,双曲线)
2020-12-23 14:18:27在之后的项目中有编写复数函数的要求,所以先总结资料以备用。同时也发布在这里以供大家参考。在之后的项目中有编写复数函数的要求,所以先总结资料以备用。同时也发布在这里以供大家参考。
复数的加法运算
(a+bi)+(c+di)=(a+c)+(b+d)i
复数的减法运算
(a+bi)-(c+di)=(a-c)+(b-d)i
复数的乘法运算
(a+bi)(c+di)=(ac-bd)+(bc+ad)i
复数的除法运算
(a+bi)/(c+di)
=(ac + bd)/(c^2 + d ^2) +((bc - ad)/(c ^2 + d ^2)) i复数的指数运算
复数的log运算
θ = carg(z) = atan2(y, x),
log(z) = log(r exp(θi)) = log® + θi.对于以其它数为底的对数,可以使用换底公式:
复数的幂运算
复数的幂运算单独进行,比较复杂。可以在指数运算和对数运算的基础上进一步进行。
求复数的cos函数值
由 cos(a+b) = cosacosb - sinasinb 得
cos(a+bi) = cosacos(bi) - sinasin(bi)
又
sinh x = -i sin(i * x)
cosh x = cos(i * x)
tanh x = -i tan(ix)
coth x = i cot(i * x)
sech x = sec(i * x)
csch x = i csc(i * x)
所以
cos(a+bi)
= cosacos(bi) - sinasin(bi)
= cosacoshb + [sina*sinhb] i求复数的sin函数值
由 sin(a+b) = sinacosb + cosasinb 得
sin(a+bi) = sinacos(bi) + cosasin(bi)
又
sinh x = -i sin(i * x)
cosh x = cos(i * x)
tanh x = -i tan(ix)
coth x = i cot(i * x)
sech x = sec(i * x)
csch x = i csc(i * x)
所以
sin(a+bi)
= sinacos(bi) + cosasin(bi)
= sinacoshb - [cosa*sinhb] i也可以使用此公式,在指数运算的基础上进行。
复数的n次开方运算
任意复数表示成 z = a + bi
若 a = ρcosθ, b = ρsinθ, 即可将复数在一个平面上表示成一个向量, ρ为向量长度(复数中称为模),θ为向量角度(复数中称为辐角)
即 z = ρcosθ + ρsinθ, 由欧拉公式得 z = ρe^(iθ)
注意到向量角度, cos(2kπ+θ) = cosθ, sin(2kπ+θ) = sinθ
所以 z = ρe^ (iθ) = ρe^[i(2kπ+θ)
开n次方,z^ (1/n )= ρ^ (1/n) * e^ [i(2kπ+θ)/n]
k=0,1,2,3……n-1,n,n+1……
k=n时,易知和k=0时取值相同
k=n+1时,易知和k=1时取值相同故总共n个根,复数开n次方有n个根
故复数开方公式
先把复数转化成下面形式
z = ρcosθ + ρsinθ = ρe^[i(2kπ+θ)
z^ (1/n) = ρ^ (1/n) * e^ [i(2kπ + θ)/n]
k取0到n-1。然后再通过指数运算求值。
复数的反三角函数运算
复数的双曲函数运算
根据转换,转换成复数的指数运算。初次撰写博客,多有瑕疵敬请指教。
-
Mathematica中复数运算-对数运算.pdf
2020-02-08 21:45:56利用mathematica计算复数的对数难以找到合适的帮助文档,有意思的是找了基本数学手册居然没有复数对数的普遍运算公式,...不得不自己动手弄出来,本人将复数的各种运算包括指数特别是对数的运算方法和技巧写在这里。 -
[转载]MATLAB学习(4)——复数及其运算
2021-04-21 06:37:36复数及其运算A)复数的表示(1).x=a+bi,其中a称为实部,b称为虚部(2)或写成复指数的形式:x=re^(iθ)其中r称为复数的模,又记为 |x| ;θ称为复数的幅度,又记为Arg(x)。且满足r=√(a^2+b^2) ,tanθ=b/a第一种方式适合...复数及其运算
A)复数的表示
(1).x=a+bi,其中a称为实部,b称为虚部
(2)或写成复指数的形式:x=re^(iθ)其中r称为复数的模,又记为 |x| ;θ称为复数的幅度,又记为Arg(x)
。且满足r=√(a^2+b^2) ,tanθ=b/a
第一种方式适合处理复数的代数运算,第二种方式适合处理复数旋转等涉及幅角改变的问题
复数的构造:
(1)直接构造法
将复数看做完整的表达式输入
例:
x1=-1+i%实部虚部形式
x2=sqrt(2)*exp(i*(3*pi/4))%复指数形式
(2)符号函数构造法
将复数看做函数形式,将实部和虚部看做自变量,用syms来构造,用subs对符号函数中的自变量赋值
例:
syms a b real%声明a
b为实数型
x3=a+b*i%实部虚部形式复数的符号表达
subs(x3,{a,b},{-1,1})%代入具体值
syms r ct real;%声明r
ct为实数型
x4=r*exp(ct*i);%复指数形式复数的符号表达
subs(x4,{r,ct},{sqrt(2),3*pi/4})%代入具体值
以上例子中复数均为 -1+1i
复数矩阵的构造:
(1)由复数元素构造
例:
a1=[sqrt(2)*exp((pi/4)*i) 1+2i 1+3i;sqrt(2)*exp((-pi/4)*i) 1-2i
1-3i]
(2)由实矩阵构造
例:
a2re=[1 1 1;1 1
1];%实部实矩阵
a2im=[1 2 3;-1 -2
-3];%虚部实矩阵
a2=a2re+a2im*i%由实矩阵构造
以上两例中的复数矩阵均为
1.0000 + 1.0000i
1.0000 + 2.0000i
1.0000 + 3.0000i
1.0000 - 1.0000i
1.0000 -
2.0000i 1.0000 - 3.0000i
B)复数的绘图
(1)直角坐标图
plot函数
(2)极坐标图
Polar函数
调用格式:polar(theta,rho)其中theta为极坐标极值,rho为极坐标矢径
例:做出y=t+i*rsin(t)
的坐标图
t=0:0.01:2*pi;
y=t+i*t.*sin(t);
%直角坐标表示
r=abs(y);
delta=angle(y);%极坐标表示
subplot(2,1,1)
plot(y)%绘制直角坐标图
title('直角坐标图');
subplot(2,1,2)
polar(delta,r)%绘制极坐标图
title('极坐标图')
C)复数的操作函数
常用矩阵分解函数
转自博客:
-
标准C++复数运算类详解及使用例程
2016-03-17 11:38:59在C++中复数运算可以通过两种方式来实现: 1)标准C++复数运算库:complex ObjectName(realPart, imagePart); 2)自定义复数运算类:包括复数的实部、虚部、四则运算、模运算、共轭等。 后者可以根据需要自己...在C++中复数运算可以通过两种方式来实现:
1)标准C++复数运算库:complex<typedef> ObjectName(realPart, imagePart);
2)自定义复数运算类:包括复数的实部、虚部、四则运算、模运算、共轭等。
后者可以根据需要自己定义,关于类的定义这里不再说明,具体的功能可以根据自己的需要去实现。这里介绍C++标准的复数运算类complex,网上已经有一些关于complex类的简单介绍,但大多都是比较粗略的说明,并没有提供完整而详细的介绍。这里参考了网上的一些资源,首先介绍complex类的定义,包括:对象的构造方法、算术运算、赋值运算符、指数运算、对数运算、幂运算、三角函数运算、输入输出重载等,然后给出了一个使用例程,用于对其使用方法的总结用户总结。
一、complex类简介
C++复数运算由标准C++复数运算库(complex number mathematics library)来实现。complex类定义了标准的输入输出运算、算是运算、关系运算和赋值运算,同时还包括指数运算、对数运算、幂运算、平方根、三角函数(正弦,余弦,双曲正弦,双曲余弦)等,还包括笛卡尔坐标系到极坐标系转换的函数。
二、文件包含
1、 #include <complex.h>
2、 #include <math.h>
三、构造方法
1、complex为模板类,因此在定义一个复数时需要制定变量类型,如complex<double> cm(1,1);
2、定义时实部和虚部参数可以使用变量,如:
double a = 1; double b = 1; complex<double> cm(a, b);
3、以下定义均合法:
a) complex(): complex<double> c1;// c1 = (0,0);
b) complex(double real, double<double> imag = 0.0): complex c2(1.0);// c2 = (1.0,0);
c) complex<double> c3 = 3.4; // c3 = (3.4,0);
d) complex c4 = 3.4 + complex(1.2, 3.5);
四、笛卡尔坐标系和极坐标系下有关函数
1、real();: friend double real(complex a);
2、 img();: friend double imag(complex a);
3、 abs();: friend double abs(complex a);
4、 norm();: friend double norm(complex a);
5、 arg();: friend double arg(complex a);
6、 conj();: friend complex conj(complex a);
7、 polar();: friend complex polar(double r,double t);
示例:
d = real(a);// 返回复数a的实部 d = imag(a);// 返回复数a的虚部 d = abs(a);// 返回复数a的模值/幅值 d = norm(a);// 返回复数a的模值平方 d = arg(a);// 返回复数a的幅角 z = conj(a);// 返回复数a的共轭复数 z = polar(r,t);// 复数的极坐标定义方式,r为幅值,t为幅角
五、指数、对数、幂、平方根运算函数
1、 exp(); friend complex exp(complex a);
2、 log(); friend complex log(complex a);
3、 pow(); 四种
a) friend complex pow(double a, complex b);
b) friend complex pow(complex a, int b);
c) friend complex pow(complex a, double b);
d) friend complex pow(complex a,complex b);
4、 sqrt();friend complex sqrt(complex a);
六、三角关系运算函数
1、 sin(); friend complex sin(complex a);
2、 cos(); friend complex cos(complex a);
3、 sinh(); friend complex sinh(complex a);
4、 cosh(); friend complex cosh(complex a);
七、运算符重载
运算符重载包括:+、-、*、/(包括+=、-=、*=、/=)、==、!=、<<、>>
八、使用例程
1、开发环境:Win7 (X64) / VS2010
2、创建新项目,编写代码如下:
#include <iostream> #include <complex> #include <math.h> using namespace std; void main() { // 复数类对象定义 cout << "复数类对象定义" << endl; double r = 1.0; double x = 1.0; complex<double> c1; complex<double> c2(1,1); complex<double> c3(r,x); complex<double> c4 = 2.0; complex<double> c5 = c4 + complex<double>(2,1); cout << "c1 = " << c1 << endl; cout << "c2 = " << c2 << endl; cout << "c3 = " << c3 << endl; cout << "c4 = " << c4 << endl; cout << "c5 = " << c5 << endl << endl; // 笛卡尔坐标系和极坐标系下有关函数 cout << "笛卡尔坐标系和极坐标系下有关函数" << endl; cout << "c5实部real:" << c5.real() << endl; cout << "c5虚部imag:" << c5.imag() << endl; cout << "c5模值abs:" << abs(c5) << endl; cout << "c5模值平方norm:" << norm(c5) << endl; cout << "c5幅角arg:" << arg(c5) << endl; cout << "c5共轭复数conj:" << conj(c5) << endl; complex<double> z = polar(1.0, 3.14/6); cout << "复数极坐标定义polar:" << z << endl << endl; // 运算符重载,四则运算 cout << "运算符重载,四则运算" << endl; cout << "c2 + c5 = " << c2 + c5 << endl; cout << "c2 - c5 = " << c2 - c5 << endl; cout << "c2 * c5 = " << c2 * c5 << endl; cout << "c2 / c5 = " << c2 / c5 << endl << endl; system("pause"); }
3、运行结果如图1所示:
图1
参考:
1)http://blog.chinaunix.net/uid-20559667-id-1924707.html
2)http://blog.csdn.net/qhs1573/article/details/12254205
-
易语言-易语言复数运算模块
2021-07-02 03:40:24这是易语言的复数算法模块,为个人算法学习所用,同时也为方便易友,作者月夜猫妖,大部分代码翻译自《c语言算法速查手册》,感谢该书作者 易语言源码 -
DelphiXE 复数运算
2019-02-16 09:33:30使用结构体实现;支持指数(exp)、对数(log)、三角函数(sin cos tan)、乘方(power)、开方(root)、加减乘除、4次及以下多项式求根(getroot)、求长度、求角度、各种操作符重载 -
C++大学教程第五版第十一章课后作业复数运算和指数运算
2011-11-22 23:03:53C++大学教程第五版第十一章课后作业复数运算和指数运算 -
Python: 复数的数学运算
2020-11-28 23:46:08写的最新的网络认证方案代码遇到了一个难题,唯一的解决办法就是使用复数空间,需要使用复数来执行一些计算操作。复数可以用使用函数complex(real, imag) 或者是带有后缀j 的浮点数来指定。比如:>>> a = complex(2,... -
关于eigen复数的部分内容
2019-12-02 15:54:19另外:试验过程发现个小问题,opencv的两个复数做除法运算与eigen的两个复数做除法,结果大部分完全相同 会有少量不同,主要差异在小数点后17位以后。具体原因没去查 复数定义double型的。应该不影响使用吧 参考:... -
C语言实现复数运算
2019-10-10 19:36:18C99标准中已经引入了复数类型,使用时需要包含头文件complex.h。但Visual C++ 6.0完全不支持C99标准,推荐使用gcc编译器对.c文件进行编译执行。 -
MATLAB——复数运算
2021-12-31 00:17:50复数表示法: 1、直接表示 x = a + bi; 2、复指数表示 x = r*e^(iθ); r = sqrt(a^2 + b^2); θ = tan(b/a) r为复数的模,θ为复数的幅角 -
复数和相量运算复数定义及案例转换汇总
2021-01-14 14:35:07除了使用正常数字或实数之外,还引入了复数,以便使用负数的平方根,√来解决复杂方程式。1。在电气工程中,这种类型的数字称为“虚数”,为了区分虚数和实数,字母“j”已知通常在电气工程中使用j-operator。因此,... -
c语言编写的复数运算
2009-06-10 16:21:02用c语言描述的复数运算,属于用c++运行的文件。 -
复数运算
2019-02-26 19:23:26复数是形如 a + b i的数。式中a,b 为 实数,i是一个满足i^2 =-1的数,因为任何实数的平方不等于-1,所以i不是实数,而是实数以外的新的数。 在复数a+bi中,a称为复数的实部,b称为复数的虚部,i称为虚数单位... -
复数和向量的函数运算
2022-01-30 11:09:24复数的运算 1.复数的四则运算 2.复数的模:运用abs函数 3.复数的实部,虚部及共轭表示:B=real(A)表示A的实部,C=imag(A)表示A的虚部D=conj(A)表示A的共轭 4.实数矩阵 :若c=a+bi,其中b=0,可以简写为c=a,... -
【C语言】复数的四则运算与复数运算的头文件
2022-04-13 20:51:14复数的四则运算与复数运算的头文件 -
python标准库复数运算包cmath
2021-10-20 21:18:55即基础的复数运算包,和math有很多同名函数,但math中的函数没法进行复数计算。在python中,创建复数的方法是 x = 1+1j 常见函数 三角和反三角 cos, sin, tan, acos, asin, atan 双曲和反双曲 cosh, ... -
MATLAB学习(4)——复数及其运算
2020-12-23 18:28:03复数及其运算A)复数的表示(1).x=a+bi,其中a称为实部,b称为虚部(2)或写成复指数的形式:x=re^(iθ)其中r称为复数的模,又记为 |x| ;θ称为复数的幅度,又记为Arg(x)。且满足r=√(a^2+b^2) ,tanθ=b/a第一种方式适合... -
复数的三角形式与指数形式
2019-10-22 16:46:46在中学,我们已经学习过复数及其用代数形式a+bi表达的四则运算法则及算律。在《大学数学》中我们学习过建立在实数集合上的微积分——称为实分析;同样,在复数集合上也可以讨论函数、导数、微分、积分等问题,这就是... -
matlab复数取模运算
2021-04-18 04:18:37IFFT, 打乱相位可以采用函数F=F(randperm(numel(F))), 在打乱相位后进行反傅里叶变换时,新产生的序列会有虚数存在,这 里采取了取模值的方法进行下一步运算。...实验目的 1. 学会用 MATLAB 表示常用连续信号的方法; 2... -
C语言在VS2017编译器下实现复数的运算(自编自定义函数)
2021-07-12 21:02:32VS2017编译器关于C语言下,对复数的运算并不支持,利用complex.h头文件并不适用,童年过自编的子函数,实现一般性的复数计算,精度与Matlab软件下对比,精度一致。 一、头文件ComplexCalculation.h,用于复数运算的... -
第六讲 复数和复指数
2018-10-12 09:48:14一,复数的除法: 复数变实数,需要用到共轭性质:,, 二,计算: 分子分母同乘以分母的共轭复数: 三,复数的极坐标形式...指数函数的运算法则(指数率):,或者; 的求导法则:,或者 当时:,或者 ... -
Python实现复数运算
2017-09-24 13:49:05#复数运算 import math class Complex: def __init__(self, x ,y): self.x = x self.y = y #加 def add(self): return Number(self.x.r + self.y.r, self.x.im + self.y.im).show() -
复数计算器(复数运算工具)
2021-06-22 22:56:38软件特色该软件最特别之处是支持大部分复数运算,包括取实部虚部、取模、取辐角、共轭、指数对数、正弦余弦等等!纯命令式操作!什么是复数?复数是指能写成如下形式的数a+bi,这里a和b是实数,i是虚数单位(即-1开根)... -
【python基础】——python 复数运算
2018-08-01 22:36:22复数的数学运算 复数可以用使用函数complex(real,imag)或者是带有后缀j的浮点数来指定。比如: >>> a = complex(2, 4) >>> b = 3 - 5j >>> a (2+4j) >>> b (3-5j) >>&... -
复数常用知识与运算
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>... -
谁知道c语言复数四则运算?
2021-05-26 01:17:44复数的四则运算规定为:(a+bi)+(c+di)=(a+c)+(b+d)i,(a+bi)-(c+di)=(a-c)+(b-d)i,(a+bi)?(c+di)=(ac-bd)+(bc+ad)i,(c与d不同时为零)(a+bi)÷(c+di)=[(ac+bd) / (c^2+d^2)]+[(bc-ad) / ... -
Day7--复数和复变函数之复数运算基础
2021-11-16 20:45:41MATLAB是一个很强大的软件,在自动控制领域也是使用非常广泛,本系列博文将基于控制系统仿真进行,参考书籍《MATLAB/Simulink与控制系统仿真》,该系列博文与笔者的自动控制...一个复数的复指数形式:x=reiθx=re^{i