虚数的意义

转载: http://www.ruanyifeng.com/blog/2012/09/imaginary_number.html

 

作者: 阮一峰

日期: 2012年9月24日

有人在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,(注意这里要归一化,就是让其模为1,这里模为sqrt(2), 如果改成 1/sqrt(2) + i/sqrt(2)就好了) 。计算新航向,只要把这两个航向 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(α+β) )

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

(完)

留言(88条)

之前有一期《科学世界/Newton》上讲过这个话题,讲的很深入很好,建议有兴趣的可以找来看看

从更抽象层次上来讲,只是数域的扩张的一种形态,实数域添加一个元素i扩张为复数域,可以添加任何一个不能用实数域线性表示的元素来扩张数域

向量 放到这些例子里也行吧

“虚数”这个名词是17世纪著名数学家、哲学家笛卡尔创制,因为当时的观念认为这是真实不存在的数字。后来发现虚数可对应平面上的纵轴,与对应平面上横轴的实数同样真实。
笛卡尔称“虚数”的本意就是指它是虚假的;莱布尼兹则认为:“虚数是美妙而奇异的神灵隐蔽所,它几乎是既存在又不存在的两栖物。”
(以上来自百度百科)
笛卡尔和莱布尼茨,这两位大陆理性派的哲学家都是独具源创性的天才。
虚数(和实数相垂直,垂直意味着对表示实在的维度的否定)使得二维平面的坐标系(这同样归功于笛卡尔)内在于原本只是一维的数的表达本身了。

还是觉得阮哥science方面的文章还是没有programming那么深入浅出了
虚数其实出来只是方便一些计算而已,在这里当然最好是要提一下向量了

"逆时针增加45度,相当于做了一个 1 + i 的变换。"

这是不对的,你把向量放大了。从你给的图上就能看出来,同样是一天的行驶,船开的更远了。
实际上应该乘以一个单位向量,所以你要把1+i单位化。变成sqrt(2)/2+i*sqrt(2)/2

后来看用旋转变量来解释复信号,才发现这都是基础啊……

中学教材应该引用这篇文章!

文章中有一点不大明白,为什么1+i表示旋转了45度啊?

引用Sh4wnC的发言:

这是不对的,你把向量放大了。从你给的图上就能看出来,同样是一天的行驶,船开的更远了。
实际上应该乘以一个单位向量,所以你要把1+i单位化。变成sqrt(2)/2+i*sqrt(2)/2

太感谢了!这才意识到,我犯了大错。

现在已经改过了。

引用;Xrong的发言:

文章中有一点不大明白,为什么1+i表示旋转了45度啊?

文章改过了,请刷新后,看修改后的提法。

引用阮一峰的发言:

文章改过了,请刷新后,看修改后的提法。

理解了,我觉得如果改成1 + 1i 会稍稍好理解一点

还是不理解这个:
(+1) * (逆时针旋转90度) * (逆时针旋转90度) = (-1)

为什么连续2次旋转90度,是乘法关系,而不是加法关系

好像很浅显易懂的样子。

引用CM的发言:

还是不理解这个:
(+1) * (逆时针旋转90度) * (逆时针旋转90度) = (-1)

为什么连续2次旋转90度,是乘法关系,而不是加法关系


1 × -1 = -1;

感觉还是不对 为啥旋转90度是 90度×90度 而不是 90度+90度,换句话说,为啥公式是i^2=-1而不是2i=-1

引用自由国度的发言:

感觉还是不对 为啥旋转90度是 90度×90度 而不是 90度+90度,换句话说,为啥公式是i^2=-1而不是2i=-1

因为 i≠-1/2. 你乘以 -1 就是转个平角,那么转半个平角(一个直角)自然就是一半的「乘以-1」(而不是「乘以一半的 -1」)——也就是乘以 i 了。

这才是数学课本应该用的教材啊!

过了这么多年,终于明白虚数的含义了。 不知道那些编教材的SB是干什么吃的。

推荐观看《维度:数学漫步》,好几年前的片子了= =里面介绍i就是旋转90°= =

非常喜欢您的文章,觉得通俗易懂,想请教您学习的方法和经常关注的网站。谢谢。

引用阮一峰的发言:

太感谢了!这才意识到,我犯了大错。

现在已经改过了。

改了吗? 貌似我看到的还是不对的版本. 文章中都没有考虑复数的模, 只考虑了角度.

新课标高中教材就是这么讲的了……

高中老师应该引用这篇文章,特别是一开始的 i 和“旋转”的关系。

我的理解是一维到二维的扩张,
类似的应该还有3维,aaa*1+bbb*i+ccc*j 这就是3维

虚数实际上就是实数对,至少在数学分析中是这么定义的。
虚数乘法的定义是:(a,b)*(c,d)=(ac-bd,ad+bc)。这样,(0,1)*(0,1)=(-1,0)。相当于(0,1)是x^2=-1的一个解。
推荐Edmund Landau写的Foundations of Analysis。这本书介绍了如何从关于自然数的五条公理和若干简单事实出发构建整个数系。

引用以地之名的发言:
推荐Edmund Landau写的Foundations of Analysis。这本书介绍了如何从关于自然数的五条公理和若干简单事实出发构建整个数系。

我不是学数学的,不过你这说法有问题。实数系是有理运算闭合的了,不能再扩充。再扩充的话,就必须放弃某些性质(就是你说的自然数公理),比如复数的引入,就放弃了数“大小”的比较了。

引用dirtyac的发言:

我不是学数学的,不过你这说法有问题。实数系是有理运算闭合的了,不能再扩充。再扩充的话,就必须放弃某些性质(就是你说的自然数公理),比如复数的引入,就放弃了数“大小”的比较了。

的确,虚数是不能比较大小的,但是在扩充数系的过程中并没有放弃自然数的公理(皮亚诺公理中并没有涉及大小比较的概念,要比较大小必须等到加法的引入之后 才可能)。事实上,那本书第十章的标题就是Incorporation of the Real Numbers into the System of Complex Numbers. 书中第298条定理定义了在复数形式下实数的运算,第299条定理:The complex numbers of the form [x,0] satisfy the five axioms of the natural numbers if the role of 1 is assigned to [1,0] and if we set [x,0]'=[x',0]. 也就是在复数中五条皮亚诺公理依然成立。接下来就是第73条定义:i=[0,1]。第300条定理就是证明ii=-1。

哈哈,太有趣了,原来数学也不是那么枯燥乏味嘛,学校的教学方法有问题!

i表示一个90°旋转,那1+i 为啥成了45°旋转呢?

引用rainliu的发言:

i表示一个90°旋转,那1+i 为啥成了45°旋转呢?

1 + i的角度就是45°. 同時它的長度是sqrt(2), 所以 * (1 + i)不僅轉了45°還延長爲原先的sqrt(2)倍.

引用rainliu的发言:

i表示一个90°旋转,那1+i 为啥成了45°旋转呢?

文中说了: 数学家用一种特殊的表示方法,表示这个二维坐标:用 + 号把横坐标和纵坐标连接起来。比如,把 ( 1 , i ) 表示成 1 + i (1,i)的角就是45度啊

請問這圖是用什麼畫的啊??

引用Elegant Tsai的发言:

請問這圖是用什麼畫的啊??

从信息看应该是photoshop cs5 windows

其实是用二维平面向量将旋转变换代数化,关键是复数的乘法

引用Alan haha的发言:

推荐观看《维度:数学漫步》,好几年前的片子了= =里面介绍i就是旋转90°= =

同意,这个片子让我搞懂了不少似是而非的东西,推荐~~

引用依云的发言:

因为 i≠-1/2. 你乘以 -1 就是转个平角,那么转半个平角(一个直角)自然就是一半的「乘以-1」(而不是「乘以一半的 -1」)——也就是乘以 i 了。

还是没讲清楚为什么用乘法来计算 1到-1的转变啊! 这样的话和直接记住 i= -1的平方没啥区别

1+(-1)+(-1)=-1这个怎么解释。
为什么要 1*-1呢?

另外我觉得 1+i 代表 45度,只要我们把 i也看作 纵轴上的 1就容易弄懂了。

哈,以前只知道虚数是实数的二维扩充,方便处理问题用的.以前只理解了加法,看了文章原来还有乘法.

看这篇就迷糊了,我还是功力尚浅啊

引用guoqiao的发言:

改了吗? 貌似我看到的还是不对的版本. 文章中都没有考虑复数的模, 只考虑了角度.

+1

挺想知道插图是用 Visio 还是什么做的?

越来越实用了。

一个实数就是一维直线上的点。虚数就是增加一维,成为平面上的点了。很久没琢磨数学问题了,不知道有没有人再增加一维,想过三维空间的点,1+i+j,再定义一下j和i之间的乘法加法运算,看看是否符合矢量合成定义?

另外想问一下,这篇文章里的图是用什么软件做的?效果很不错。

作为一个刚学虚数不久的高中生,看到这篇文章,本人深感庆幸。

自控原理险些不及格的飘过……如果那时候看过这篇文章,就不至于被那些鬼变换给弄得没有头脑了。

引用CM的发言:

还是不理解这个:
(+1) * (逆时针旋转90度) * (逆时针旋转90度) = (-1)

为什么连续2次旋转90度,是乘法关系,而不是加法关系


这里的乘法可以理解为广义的乘法, 类似群论的定义中的"乘法", 只是一种操作罢了.

我觉得第一节就应该引入三角公式定理,
否则很难解释清楚为什么(逆时针旋转m+n度)=(逆时针旋转m度)*(逆时针旋转n度),而不是=(逆时针旋转m度)+(逆时针旋转n度),或者其他运算关系。

引用sicifus的发言:

我觉得第一节就应该引入三角公式定理,
否则很难解释清楚为什么(逆时针旋转m+n度)=(逆时针旋转m度)*(逆时针旋转n度),而不是=(逆时针旋转m度)+(逆时针旋转n度),或者其他运算关系。

即使引入三角公式,怎么更好的表达呢?

这个观点我是在数学漫步那个数学科普片里看到的,优酷上可以找到这个,推荐给大家看看

引用lukesun629的发言:

中学教材应该引用这篇文章!

虚数这东西高中不理解,用多了后来也就习惯了,到了大学完全把习惯当自然了,根本不会去想i本质到底是什么。
引用万俟尘的发言:

挺想知道插图是用 Visio 还是什么做的?

当我看到这些图的时候我也这么想...

偶然看到这个,认为这篇解释得更好些(虽然都是用的相同的解释) http://jakwings.is-programmer.com/posts/29547.html

让我好好看,学的东西都还给老师了

文章很不错,评论非常精彩,顶了

Matrix67上也聊过这个观点:http://www.matrix67.com/blog/archives/4294

虚数在电工学里很有用的。

一下子清楚了很多,确实很精彩。

PS:评论里也说了1+i的模和角度的问题,好像文章还是没改过来。

方程x^2+1=0
在实数轴上是不成立的,也就是无根的。任何数自乘都是正数。但在平面上它可以成立,使它成立的那个对象记作i,不难看到这个i就是旋转90度的操作,两次 i操作就能反向,所以在此意义下以上方程成立。i"数"开启了数学从对实数的算术运算进入到对更抽象的对象-向量进行运算的大门,从另一个角度看就是i扩 充了数域。

刚刚看到《从一到无穷大》中也有虚数的概念,在第二章,还有一个实例。

看完这篇,第一次发现原来我的大学数学学得还是很好的

多少年前的问题,到这里才算明白了一些。

其实您可以参考一下"希尔伯特变换"..这是在通信领域里很重要的一个变换式..

其实当把复数向"复平面"这种东西展开之后..诞生出来的"复变函数"便简化了很多三角运算..
对信号的处理基本上都离不开复变函数..因为要比"一维+一维"而叠合成的二维平面要方便得多..

刚在看关于运放闭环稳定性的问题,提到极点以及相位裕度的问题,看过你篇文章以后顿时觉得好理解多了

虚数的运用只有维度辅助运算吗

我们的数学教育不太注重这种直观的理解。当年学高等代数的时候,老师从来不给我们讲一些理解性的东西,后来跳出繁杂的符号,认真领悟之后,运用得自如多了。

豆瓣 9.2 维度:数学漫步 Dimensions: A Walk Through Mathematics

里面有一节是讲复数,贴个视频网址如下

http://www.tudou.com/listplay/spNfryRD80k/iLWBrW0mCZk.html

不过对于数学专业,这样的理解太简单了,作为一个入门介绍则不错

思路不错,但是这种证明有一个明显的问题,作者在进行旋转的时候,使用了乘法,但是复数的旋转不是复数定义的来源,是定义之后给出的性质。这种循环证明很难让人折服

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

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


有點不明白,用"3+i"來表示一個力是什麽意思?物理上,力有兩個要素,大小和方向,是不是3是大小,i是方向,也就是第一張圖中偏離x軸的角度?
如果是這樣,那麼,3+i和1+3i這兩個力合成後,方向只能在i與3i之間才對啊,怎麼可能是4i呢?

引用哇哈哈的发言:


有點不明白,用"3+i"來表示一個力是什麽意思?物理上,力有兩個要素,大小和方向,是不是3是大小,i是方向,也就是第一張圖中偏離x軸的角度?
如果是這樣,那麼,3+i和1+3i這兩個力合成後,方向只能在i與3i之間才對啊,怎麼可能是4i呢?

i並不是方向,而是另一個方向的數值 你可以想像為x跟y的座標圖

 

如果学校都是这种教学法,我肯定学习很好了,呵呵。

受教了!又复习了一把数学。

"数学家用一种特殊的表示方法,表示这个二维坐标:用 + 号把横坐标和纵坐标连接起来。比如,把 ( 1 , i ) 表示成 1 + i 。这种表示方法就叫做复数(complex number),其中 1 称为实数部,i 称为虚数部。"------我不太认同这里的说法。
比方说,在xoy坐标系,(3,4)表示x = 3,y = 4的点,3x + 4y 就表示从原点指向(3,4)的向量。在这里,横坐标是实数 1,纵坐标是虚数i,对应上去,这个可以叫做“1oi”坐标系。这样,1 + i就表示 在“1oi”坐标系内 由原点指向(1,1)点的向量,而且,它对应的点应该是(1,1),如果写成(1,i)就如同xoy坐标系内的(1,y)一样,是不对的。

引用;Xrong的发言:

文章中有一点不大明白,为什么1+i表示旋转了45度啊?

1+i = (1,1*i)坐标为复平面上的(1,1),在45度线上

最后的证明不太令人信服啊作者能够给出更有力的证明呢?

对虚数的定义说的很清楚,不过还是没说明虚数的意义和实际用途,在几何中虚数并无多大意义,力学、地图学、航空学中才有比较实际应用意义

为什么是“(+1) * (逆时针旋转90度) * (逆时针旋转90度) = (-1)”,而不是(+1) + (逆时针旋转90度) + (逆时针旋转90度) = (-1)
推到的这个地方写的不是很详细呀

引用GuoHneg的发言:

为什么是“(+1) * (逆时针旋转90度) * (逆时针旋转90度) = (-1)”,而不是(+1) + (逆时针旋转90度) + (逆时针旋转90度) = (-1)
推到的这个地方写的不是很详细呀

相乘就相当于点在坐标空间旋转,比如1乘以-1相当于逆时针旋转180,所以用每逆时针旋转90度相当于乘一次(逆时针旋转90度)

引用阮一峰的发言:

太感谢了!这才意识到,我犯了大错。

现在已经改过了。
不用改,方向跟路径无关

纠结了很久啊,终于明白了

那么方程中无实数解只有虚根,那里面虚根可以求么?怎么求?

向量存在,当两向量相乘存在COS夹角关系,当夹角为180度时
时出现负一关系,现实中作用力与反作用力就是这种情况,故X
*2有负一存在,这是数学对客观的表达,其它90度转两次是不对
的。

(3,4)应该是3+4i,这里的i是定义出来的,不可以省略掉。


引用robberM的发言:

"数学家用一种特殊的表示方法,表示这个二维坐标:用 + 号把横坐标和纵坐标连接起来。比如,把 ( 1 , i ) 表示成 1 + i 。这种表示方法就叫做复数(complex number),其中 1 称为实数部,i 称为虚数部。"------我不太认同这里的说法。
比方说,在xoy坐标系,(3,4)表示x = 3,y = 4的点,3x + 4y 就表示从原点指向(3,4)的向量。在这里,横坐标是实数 1,纵坐标是虚数i,对应上去,这个可以叫做“1oi”坐标系。这样,1 + i就表示 在“1oi”坐标系内 由原点指向(1,1)点的向量,而且,它对应的点应该是(1,1),如果写成(1,i)就如同xoy坐标系内的(1,y)一样,是不对的。


我们对数的认识观念要不断更新,数不仅仅是算术量,它有可好位置对应,并可作运动变换。因此自然地我们必须挖掘工具,坐标,复数,向量,这些工具出现了。质点运动变化位置集合就是轨迹、图形,而运动变化方式常见特征,有平移,旋转,翻转,放大缩小,等等。
复数是一种旋转伸缩变换工具。这完全超出了算术量一维只可加性。
我们的狭隘,是由于我们认识的局限,无知。我们常常轻易去下超出我们认识水平的结论。

我覺得學校教育有點競爭跟篩選的意味

有些老師不想教怎麼想,只丟一些結果(如果大家都不發問),某種程度是壞處,因為都看不懂,連定理都看不懂,更別說解題。

但是丟這種幫你把細節都填補好了,很優美,很順暢,甚至把背後的歷史脈絡,為什麼會發展出來,類似微積分這樣,老實講理解基本定理,只要你是智商100的人都ok。

但是這樣某種程度上,就類似台灣被罵的建構式教學,老實講就是學了分數會很高,然後那些同學一副很厲害的感覺(後來很強,跟天分無關,應該說老師很強)---情況一

大學有同學更絕,微積分沒學完,熱力學整個學完了,但是熱力學有些基本公式推導要用到幾個很基礎的微積分概念,我真的滿佩服他的填鴨功力.......前面不懂裝懂,一路學下去,根本考試神人-----情況二

如果學生完全不敢去自己假設,自己猜測,自己去跳躍,而是讓人在後面推,是可以比自己慢慢走的人快很多,但未必是好處---情況一

但是像是我這種資源或者小時候沒什麼刺激的學生,如果說一直卡在很簡單的一些定理,那也很痛苦,或者是像我同學囫圇吞棗,去不自知(不知道沒有思考的痛苦是幸運還是不幸)

把細節都抹掉,留下最後結構,國外大部分有極佳的科普書,還有科普教育,所以國外可能可行。

大學的數學系,常常都會有習題課,助教會教解題,不會說不懂只能自己想,基本上數學系這種教學才是正常的教學,會有很難的習題給你想,但是基本的習題不會,可以問助教等等。

但是國中高中,有些老師基本上都不管學生會不會,因為很多老師基本上沒本事,只是混飯吃(拿著碩士學歷,但是不願意教學,那請問他來當老師,不是代表他想混飯吃?),要是把學生教太厲害,整天問問題,他們就倒了。

所以我覺得在這種教學跟有點半填鴨教學要取得平衡,像是數學系那種有教概念,也有很多題目給學生動腦比較好。

引用追逐好梦的发言:


即使引入三角公式,怎么更好的表达呢?


貌似引入这个证明可以让不太熟悉旋转运算数学表示方法的同学更容易明白。

阮哥 文章更改过了吗? 为什么还是1+i,没有修改成单位向量吗

你这个文章前面我懂,可后面我不懂,你能更详细吗?

posted @ 2015-05-11 15:42  微信公众号--共鸣圈  阅读(740)  评论(0编辑  收藏  举报