设计一个名为complex的类来表示复数_图解不可能的数字:复数

2023-10-11 15:10

本文主要是介绍设计一个名为complex的类来表示复数_图解不可能的数字:复数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

复数(Complex)作为实数的拓展历史悠久, 一度曾被叫做子虚乌有的数(imaginary), 直到十八世纪初经过棣莫弗及欧拉大力推动, 才被数学家们渐渐接受.

确实理解复数确实需要一点时间, 不过它并不复杂, 而且利用它还能画出非常美丽的变换和分形图形, 这次让我们用图形可视化的方式来拥抱这个概念.

复数, 作为实数理论的延伸

先来看看在实数轴上两个数的加减乘除这 4 种运算. 观察到红蓝两个点(数), 在不同的计算下, 其结果(绿点)的变化, 不管数怎样变化, 都总还落在数轴上(除法分母为 0 时候, 当然没有意义).

02b65618ac1b517fc45bcacfffdcf704.gif

再来看下图中, 任何实数乘以 -1 的结果都会落在关于原点对称相应的位置上. 所以乘以 -1 的计算可以理解为该点(数)绕着原点旋转了半圈.

23e2433042523c31d06b63e91338febb.gif

数学家进一步思考, 既然乘以 -1 是转动 180°, 那么只转动了 90° (比如整数 1 )落在哪里? 有什么意义呢?

进入新的二维复数平面

这是19世纪数学史上非常重要的一步, 现在不在是在一维的实数轴上, 而是进入了二维的复平面.

考虑到转动两个 90° 会刚好到 -1. 所以认为 -1 的平方根是相应于 1 的一个 90度的旋转(也就是 1*i*i=-1), 这样在平面上与实数轴垂直的单位线段, 称为是 1 个虚数单位 i . 于是有着性质:

98e9322779cf361a7d2b87e9d8bacd3d.png

这个没在实数轴上奇怪的点实际上落在复数平面(complex plane, 或称为阿尔冈平面)上了, 所有在复平面上的数都满足 z=a+b i 这样的结构, 称之为复数. 其中a 称为实部(real part), b 为虚部(imaginary part). 如下图 1+2i 复数, 1 和 2 是实数, i 是虚数单位, 这样的复平面几何表示如下图所示:

fdf44c1b63f36dea8cf97ed29130a027.png

现在来看直角坐标平面是二维的, 需要两个数(x,y)来描述任意一点的位置, 但现在用一个复数就够了, 可以用实数组(a,b)代表这个复数, 并且可以在复平面上绘制出来. 不过请记住这里应该将每个这样的点看做一个复数, 而不是一对实数.

还有三个新概念需要知晓:

  • 复数的模(modulus, 通常写为 |z|)
  • 辐角(argument, 通常写为 arg(z))
  • 复数的共轭(conjugate,通常写为 ¯z)

复数的模就是它长度 r: 从原点到 z 点之间的距离. 辐角 φ 就是与实轴的夹角, 共轭就是 a-b i 的形式. 观察下图可以更好理解:

e392c662f8ffa29b4930140dc7811b58.gif

复数的运算操作

复数有如何运算, 比如可以两两相加, 也就是两个复数实部和虚部分别对应相加, 可以看成是平移的操作.

56e5cdf85cec662ce1844d739ad3ddcd.gif

复数也可以有数乘运算, 就是对模的放大或缩小了:

64d837464ee6228904ee2d5b019e3a1c.gif

复数的乘法, 就如上面所述, 数乘以 i 相当于这个转动 90°:

4654bda7cc8d08e3aaa214ebe4fb72b1.gif

z1*z2 两个复数相乘其实就是旋转+伸缩两种变换, 也就是两个复数的模相乘(伸缩大小), 辐角相加(旋转量).

5d2752fca738ea4de6e8eb0efa5b693f.gif

如果对图片中的每一点做复数运算的变换, 可以得到各种有趣的平面变换图像. 这里为了纪念欧拉大神, 就以他老人家头像为例, 比如做乘以 2 i 的函数变换 - 旋转 90°, 同时放大了2 倍的变换; 另一个变换函数为三次方, 你也可以思考为什么会变成这个形状呢? :-) 

a17ca5afbd4a5352eca5d59319745b7c.gif

最美的数学公式 - 欧拉公式

复平面内的点可以转成极坐标(不清楚可查看这里)的形式 (r,θ), 那么该点所表示的复数是什么呢?可用 x = r cos(θ) 和 y = r sin(θ) 来转化到笛卡尔坐标. 所以极坐标 (r, θ) 表示复数
z = x + iy = r cos(θ) + i r sin(θ).

特别的, 如果 r = 1, 则 z = cos(θ) + i sin(θ).

形如 r e^(i θ) 的复数为极坐标形式, 并且与之相对的 x+iy 为笛卡尔形式. 1743 年, 瑞士数学家欧拉给出了著名的欧拉公式, 对所有实数 θ 都成立:

d4d0c073faebada67c948129cebc5b72.png

特别当 θ=π 时,欧拉公式的特殊形式更是被评为数学上最美的公式:

5243aaf6e805944ea090eadb67cd63fc.png

这个简洁公式包括了 5 个数学上最重要的常数: 0, 1(自然数的基本单位), e(描述变化率的自然指数), π 以及 i(虚数的基本单位).

我们可以很快用几何的方法来证明该等式, 观察下图不同的 θ 值对应的极坐标 e^θ, 请留意动画停顿之处(特别是在复平面旋转角度为 180°, 点落到等于 -1 的时刻), 相信就会理解上面的欧拉等式:

8698c11f5bc2fa8d9237caaa763fa850.gif

关于复数, 还可以进一步查看这里《文化脉络中的数学》- 【从复数开始的科技文明】部分, 相信会有更多的收获.

原作者:遇见数学

编辑:天津新东方大学考试-王老师

审核:sorin

这篇关于设计一个名为complex的类来表示复数_图解不可能的数字:复数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/188940

相关文章

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

从去中心化到智能化:Web3如何与AI共同塑造数字生态

在数字时代的演进中,Web3和人工智能(AI)正成为塑造未来互联网的两大核心力量。Web3的去中心化理念与AI的智能化技术,正相互交织,共同推动数字生态的变革。本文将探讨Web3与AI的融合如何改变数字世界,并展望这一新兴组合如何重塑我们的在线体验。 Web3的去中心化愿景 Web3代表了互联网的第三代发展,它基于去中心化的区块链技术,旨在创建一个开放、透明且用户主导的数字生态。不同于传统

usaco 1.2 Name That Number(数字字母转化)

巧妙的利用code[b[0]-'A'] 将字符ABC...Z转换为数字 需要注意的是重新开一个数组 c [ ] 存储字符串 应人为的在末尾附上 ‘ \ 0 ’ 详见代码: /*ID: who jayLANG: C++TASK: namenum*/#include<stdio.h>#include<string.h>int main(){FILE *fin = fopen (

怎么让1台电脑共享给7人同时流畅设计

在当今的创意设计与数字内容生产领域,图形工作站以其强大的计算能力、专业的图形处理能力和稳定的系统性能,成为了众多设计师、动画师、视频编辑师等创意工作者的必备工具。 设计团队面临资源有限,比如只有一台高性能电脑时,如何高效地让七人同时流畅地进行设计工作,便成为了一个亟待解决的问题。 一、硬件升级与配置 1.高性能处理器(CPU):选择多核、高线程的处理器,例如Intel的至强系列或AMD的Ry

基于51单片机的自动转向修复系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 单片机

SprinBoot+Vue网络商城海鲜市场的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍:CSDN认证博客专家,CSDN平台Java领域优质创作者,全网30w+

单片机毕业设计基于单片机的智能门禁系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍程序代码部分参考 设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订

Spring的设计⽬标——《Spring技术内幕》

读《Spring技术内幕》第二版,计文柯著。 如果我们要简要地描述Spring的设计⽬标,可以这么说,Spring为开发者提供的是⼀个⼀站式的轻量级应⽤开发框架(平台)。 作为平台,Spring抽象了我们在 许多应⽤开发中遇到的共性问题;同时,作为⼀个轻量级的应⽤开发框架,Spring和传统的J2EE开发相⽐,有其⾃⾝的特点。 通过这些⾃⾝的特点,Spring充分体现了它的设计理念:在

图解TCP三次握手|深度解析|为什么是三次

写在前面 这篇文章我们来讲解析 TCP三次握手。 TCP 报文段 传输控制块TCB:存储了每一个连接中的一些重要信息。比如TCP连接表,指向发送和接收缓冲的指针,指向重传队列的指针,当前的发送和接收序列等等。 我们再来看一下TCP报文段的组成结构 TCP 三次握手 过程 假设有一台客户端,B有一台服务器。最初两端的TCP进程都是处于CLOSED关闭状态,客户端A打开链接,服务器端

开题报告中的研究方法设计:AI能帮你做什么?

AIPaperGPT,论文写作神器~ https://www.aipapergpt.com/ 大家都准备开题报告了吗?研究方法部分是不是已经让你头疼到抓狂? 别急,这可是大多数人都会遇到的难题!尤其是研究方法设计这一块,选定性还是定量,怎么搞才能符合老师的要求? 每次到这儿,头脑一片空白。 好消息是,现在AI工具火得一塌糊涂,比如ChatGPT,居然能帮你在研究方法这块儿上出点主意。是不