Excel与C语言复数运算

本文详细介绍了复数在电路设计中的应用,如阻抗匹配和交流信号计算,并通过Excel展示了复数的基本性质、二元运算、三角函数运算。此外,还探讨了C语言中复数的运算,包括加减乘除、指数、对数和三角函数等,并提供了代码示例。复数在电子工程和编程中的重要性不言而喻,是理解和解决复杂问题的关键工具。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录:

一、简介

1、阻抗匹配的计算

2、交流信号经过电容/电感计算

二、复数基本性质运算

三、复数二元运算

四、复数三角函数运算

五、C语言复数运算 

1、代码

2、complex.h包含的内容


一、简介

在电路设计中我们会遇到一些诸如阻抗匹配计算,交流信号经过电容、电感的计算等情况,可以借助 Excel 中复数计算函数。软件的下载地址移步:Excel画折线图做定积分

1、阻抗匹配的计算

详细的介绍请移步:数学的精美二、虚数的直观图解

图1.1.1 电原理图

2、交流信号经过电容/电感计算

详细的介绍移步:交流信号经过电阻、电容计算

图1.1.2 电原理图

图1.1.3 Excel计算截图

图1.1.4 六路电压采集

二、复数基本性质运算

=COMPLEX(-0.5,0.87,"i") 创建复数 -0.5+0.87i。此处的 i 在电子中常用作 j,可用 =COMPLEX(-0.5,0.87,"j")。

=IMAGINARY(A2) 求出复数的虚部,即虚数i 前面的系数。

=IMREAL(A2) 求出复数的实部,即实数部分。

=IMABS(A2) 求出模,即复数的绝对值。注意:模由公式√(x²+y²) 得到,其中 x实部,y虚部。

=IMARGUMENT(A2) 求出复数的辐角,注意是弧度值。

=DEGREES(IMARGUMENT(A2)) 将弧度转换成角度。

=IMCONJUGATE(A2) 求出共轭复数。

本案例完整内容请移步:电力、电气、电工知识汇总四、继电保护5)序分量计算

三、复数二元运算

注:对包含公式的单元格引用若报错,参见“Excel高级使用技巧汇总18、绝对引用与相对引用

=IMSUM(A2,B2) 得到复数的和。

注:两个复数虚数字母风格的书写要一致。

例如:(1+2i) +(3-4j) 在 Excel 中是不规范的,计算不出来结果。

=IMSUB(A2,B2) 求出复数的差。

=IMPRODUCT(A2,B2) 求出复数的乘积。

注:IMPRODUCT 支持多个复数之间相乘(最多支持 255个)

=IMDIV(A2,B2) 求出两个复数之间的商。

=IMPOWER(A2,1) 求出复数的整数幂。

注意,后面的参数可以是复数,即求出复数的倒数

=IMEXP(A2) 求出复数的指数(e 为底)

=IMLN(A2) 求出复数的自然对数。

类似地,可以用对数函数公式

=IMLOG10(A2)

=IMLOG2(A2)

分别求出 10 为底的对数,2 为底的对数。

=IMSQRT(A2) 求出复数的平方根。

其实,也可以用 Excel公式 = IMPOWER(A2,0.5) 得到同样的计算结果,换句话说 Excel 的 IMPOWER 公式,也支持计算复数的小数形式的幂。

本案例完整内容移步:电力、电气、电工知识汇总四、继电保护5)序分量计算

四、复数三角函数运算

=IMSIN(A2) 求出复数的正弦值。

=IMCOS(A2) 求出复数的余弦值。

如果需要正切(正弦函数除以余弦函数)、余切(正切函数的倒数)

另外,像双曲函数、正割、余割函数也可以求解。比较遗憾的是 Excel 不支持复数求反三角函数值(比如 arctan)。

五、C语言复数运算

1、代码

#include "stdio.h"
#include "complex.h" 

//加入此头文件需要 C99 模式支持,详见“Keil编译软件的使用汇总十六、支持C99模式

int main(void)
{
   complex double a = 1.0 + 2.0*I, b = 3.0 + 4.0*I; //a = 1 + 2i, b = 3 + 4i
   complex double s_1 = a + b; //加
   complex double s_2 = a - b; //减
   complex double s_3 = a * b; //乘
   complex double s_4 = a / b; //除

   printf("s_1的实部为%f, 虚部为%f, 模为%f\n", creal(s_1), cimag(s_1), cabs(s_1));
   printf("s_2的实部为%f, 虚部为%f, 模为%f\n", creal(s_2), cimag(s_2), cabs(s_2));
   printf("s_3的实部为%f, 虚部为%f, 模为%f\n", creal(s_3), cimag(s_3), cabs(s_3));
   printf("s_4的实部为%f, 虚部为%f, 模为%f\n", creal(s_4), cimag(s_4), cabs(s_4));
}

2、complex.h包含的内容

常用函数除了基本的加减乘除之外,complex.h 中还包含如下函数。

1复数的实部creal()
2复数的虚部cimag()
3cabs()
4相位carg()
5指数cexp()
6

自然对数

clog()
7cpow()
8平方根csqrt()
9复共轭cong()
10正弦csin()
11余弦ccos()
12正切ctan()
13反正弦casin()
14反余弦cacos()
15反正切catan()
16双曲正弦csinh()
17双曲余弦ccosh()
18双曲正切ctanh()
19反双曲正弦casinh()
20反双曲余弦cacosh()
21反双曲正切catanh()

说明:以上函数默认为双精度版本,在函数名后加 f(即 float)表示单精度版本,加 l(即 long)表示长双精度版本。


风之积也不厚,则其负大翼也无力。觉得不错,动动发财的小手点个赞哦!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱上电路设计

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值