虚数到底有什么意义?从 i 说起

2024-05-07 21:48
文章标签 到底 意义 说起 虚数

本文主要是介绍虚数到底有什么意义?从 i 说起,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

有人在Stack Exchange问了一个问题:

"我一直觉得虚数(imaginary number)很难懂。中学老师说,虚数就是-1的平方根。

可是,什么数的平方等于-1呢?计算器直接显示出错!

直到今天,我也没有搞懂。谁能解释,虚数到底是什么?它有什么用?"

帖子的下面,很多人给出了自己的解释,还推荐了一篇非常棒的文章《虚数的图解》。我读后恍然大悟,醍醐灌顶,原来虚数这么简单,一点也不奇怪和难懂!

下面,我就用自己的语言,讲述我所理解的虚数。

什么是虚数

首先,假设有一根数轴,上面有两个反向的点:+1和-1。

这根数轴的正向部分,可以绕原点旋转。显然,逆时针旋转180度,+1就会变成-1。

这相当于两次逆时针旋转90度。

因此,我们可以得到下面的关系式:

(+1) * (逆时针旋转90度) * (逆时针旋转90度) = (-1)

如果把+1消去,这个式子就变为:

(逆时针旋转90度)^2 = (-1)

将"逆时针旋转90度"记为 i :

i^2 = (-1)

这个式子很眼熟,它就是虚数的定义公式。

所以,我们可以知道,虚数 i 就是逆时针旋转90度,i 不是一个数,而是一个旋转量。

复数的定义

既然 i 表示旋转量,我们就可以用 i ,表示任何实数的旋转状态。

将实数轴看作横轴,虚数轴看作纵轴,就构成了一个二维平面。旋转到某一个角度的任何正实数,必然唯一对应这个平面中的某个点。

只要确定横坐标和纵坐标,比如( 1 , i ),就可以确定某个实数的旋转量(45度)。

数学家用一种特殊的表示方法,表示这个二维坐标:用 + 号把横坐标和纵坐标连接起来。比如,把 ( 1 , i ) 表示成 1 + i 。这种表示方法就叫做复数(complex number),其中 1 称为实数部,i 称为虚数部。

为什么要把二维坐标表示成这样呢,下一节告诉你原因。

虚数的作用:加法

虚数的引入,大大方便了涉及到旋转的计算。

比如,物理学需要计算"力的合成"。假定一个力是 3 + i,另一个力是1 + 3i ,请问它们的合成力是多少?

根据"平行四边形法则",你马上得到,合成力就是( 3 + i ) + ( 1 + 3i ) = ( 4 + 4i )。

这就是虚数加法的物理意义。

虚数的作用:乘法

如果涉及到旋转角度的改变,处理起来更方便。

比如,一条船的航向是3 + 4i 。

如果该船的航向,逆时针增加45度,请问新航向是多少?

45度的航向就是 1 + i 。计算新航向,只要把这两个航向 3 + 4i 与 1 + i 相乘就可以了(原因在下一节解释):

( 3 + 4i ) * ( 1 + i ) = ( -1 + 7i )

所以,该船的新航向是-1 + 7i。

如果航向逆时针增加90度,就更简单了。因为90度的航向就是 i ,所以新航向等于:

( 3 + 4i ) * i = ( -4 + 3i )

这就是虚数乘法的物理意义:改变旋转角度

虚数乘法的数学证明

为什么一个复数改变旋转角度,只要做乘法就可以了?

下面就是它的数学证明,实际上很简单。

任何复数 a + bi,都可以改写成旋转半径 r 与横轴夹角 θ 的形式。

假定现有两个复数 a + bi 和 c + di,可以将它们改写如下:

a + bi = r1 * ( cosα + isinα )

c + di = r2 * ( cosβ + isinβ )

这两个复数相乘,( a + bi )( c + di ) 就相当于

r1 * r2 * ( cosα + isinα ) * ( cosβ + isinβ )

展开后面的乘式,得到

cosα * cosβ - sinα * sinβ + i( cosα * sinβ + sinα * cosβ )

根据三角函数公式,上面的式子就等于

cos(α+β) + isin(α+β)

所以,

( a + bi )( c + di ) = r1 * r2 * ( cos(α+β) + isin(α+β) )

这就证明了,两个复数相乘,就等于旋转半径相乘、旋转角度相加。

这篇关于虚数到底有什么意义?从 i 说起的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

UVM:callback机制的意义和用法

1. 作用         Callback机制在UVM验证平台,最大用处就是为了提高验证平台的可重用性。在不创建复杂的OOP层次结构前提下,针对组件中的某些行为,在其之前后之后,内置一些函数,增加或者修改UVM组件的操作,增加新的功能,从而实现一个环境多个用例。此外还可以通过Callback机制构建异常的测试用例。 2. 使用步骤         (1)在UVM组件中内嵌callback函

【H2O2|全栈】Markdown | Md 笔记到底如何使用?【前端 · HTML前置知识】

Markdown的一些杂谈 目录 Markdown的一些杂谈 前言 准备工作 认识.Md文件 为什么使用Md? 怎么使用Md? ​编辑 怎么看别人给我的Md文件? Md文件命令 切换模式 粗体、倾斜、下划线、删除线和荧光标记 分级标题 水平线 引用 无序和有序列表 ​编辑 任务清单 插入链接和图片 内嵌代码和代码块 表格 公式 其他 源代码 预

Linux block_device gendisk和hd_struct到底是个啥关系

本文的源码版本是Linux 5.15版本,有图有真相: 1.先从块设备驱动说起 安卓平台有一个非常典型和重要的块设备驱动:zram,我们来看一下zram这个块设备驱动加载初始化和swapon的逻辑,完整梳理完这个逻辑将对Linux块设备驱动模型有深入的理解。 zram驱动加载的时候会调用zram_add函数,源码如下: 1887/*1888 * Allocate and initia

MVVM到底是什么

MVVM到底是什么 文章目录 MVVM到底是什么一、MVVM是什么二、为什么这么定义1. 分离关注点2. 提高可维护性3. 数据绑定和事件驱动4. 支持前端框架的发展 三、底层逻辑1. ViewModel层2. 数据绑定3. 事件驱动4. 响应式系统 四、扩展与高级技巧1. 组件化开发2. 双向数据绑定3. 计算属性和侦听器4. 插槽

思考自己写博客的意义

感想 从今年2月份开始,我就要求自己以每周4篇的速度写博客。然而问题是:每周的空闲时间是不稳定的,这导致我没法保证花费相同的时间去输出稳定质量的博客。当时间不够时,我将面临选择:是减少数量来保证稳定的质量,还是降低质量来保证稳定的数量? 我选择的是——牺牲质量。因为,相比于“质量”,“数量”是准确可见的。我担心:一旦有一次没能完成目标数量,便会出现“破窗效应”,让我潜意识里再也不认同“目标”了

从“法线贴图的意义”到“切线空间公式的推导与验证”

目录 目标1. 法线贴图1.1 “法线”的意义1.2 “法线贴图”的意义 2. 切线空间2.1 法线贴图中数据的含义2.2 “切线空间”的定义 3. 切线空间计算公式3.1 构造几何关系等式3.2 切线空间计算公式 4. 代码5. 验证——与其他美术软件计算的结果进行比较总结 目标 本篇的重点是 讨论法线贴图的意义讨论切线空间的意义推导切线空间的计算公式根据公式编写代码将其计算

我们在学习Spark的时候,到底在学习什么?

我必须要说,Spark这个框架出现之前,我对很多大数据领域的框架源码甚至都是嗤之以鼻的。 很多小伙伴在群里或者私信留言问我关于Spark的学习路径问题。 Spark发展至今,应该说已经非常成熟了。是大数据计算领域不得不学习的框架。尤其是Spark在稳定性和社区发展的成熟度方面,基本可以吊打其他的大数据处理框架。 我之前发过一篇关于阅读Spark源码的文章:《Spark源码阅读的正确打开方式》

【硬刚大数据】我们在学习Flink的时候,到底在学习什么?

⭐⭐欢迎关注博客主页:https://blog.csdn.net/u013411339 ⭐⭐欢迎点赞 👍 收藏 ⭐留言 📝 ,欢迎留言交流! ⭐⭐本文由【王知无】原创,首发于 CSDN博客! ⭐⭐本文首发CSDN论坛,未经过官方和本人允许,严禁转载! 本文是对《【硬刚大数据之学习路线篇】从零到大数据专家的学习指南(全面升级版)》的面试部分补充。 这是一篇指南和大纲性质的文章。

【硬刚大数据】我们在学习Spark的时候,到底在学习什么?

欢迎关注博客主页:https://blog.csdn.net/u013411339 欢迎点赞、收藏、留言 ,欢迎留言交流!本文由【王知无】原创,首发于 CSDN博客!本文首发CSDN论坛,未经过官方和本人允许,严禁转载! 本文是对《【硬刚大数据之学习路线篇】从零到大数据专家的学习指南(全面升级版)》的面试部分补充。 很多小伙伴在群里或者私信留言问我关于Spark的学习路径问题。

DataOps 对企业的数据管理有和意义?该如何落地?

DataOps,即数据开发运营一体化,能够帮助企业构建集开发、治理、运营于一体的自动化数据流水线,进而提高数据产品的交付效率和质量。对企业的数据管理主要有以下帮助: 数据开发更加敏捷高效,快速响应业务需求。在数据生产端,通过数据加工流程中的自动化技术或工具,能够实现数据的快速、可靠和高效交付,在数据消费端,支持自助服务的形式,帮助用数人员自主获取和处理数据。 重构研发治理一体化流水线,对数据研