<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>空雪小屋 &#187; 数学</title>
	<atom:link href="http://blog.sorayuki.net/?cat=24&#038;feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://blog.sorayuki.net</link>
	<description>现在域名是 blog.sorayuki.net ~</description>
	<lastBuildDate>Tue, 29 Nov 2022 08:27:41 +0000</lastBuildDate>
	<language>zh-CN</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.0</generator>
	<item>
		<title>谈谈我对复数极坐标表示的初步理解2</title>
		<link>http://blog.sorayuki.net/?p=622</link>
		<comments>http://blog.sorayuki.net/?p=622#comments</comments>
		<pubDate>Sun, 27 Aug 2017 15:35:14 +0000</pubDate>
		<dc:creator><![CDATA[空雪梦见]]></dc:creator>
				<category><![CDATA[数学]]></category>

		<guid isPermaLink="false">http://blog.sorayuki.net/?p=622</guid>
		<description><![CDATA[上次那篇搞完之后，第二天我尝试了一下算极坐标那个角度的方法，花了很大的功夫尝试了几次，发现特别容易写错，几次写 &#8230; <a href="http://blog.sorayuki.net/?p=622" class="more-link">继续阅读<span class="screen-reader-text">谈谈我对复数极坐标表示的初步理解2</span> <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>上次那篇搞完之后，第二天我尝试了一下算极坐标那个角度的方法，花了很大的功夫尝试了几次，发现特别容易写错，几次写的代码算出来都是错的。我用的那个复数的库，虽然提供了获取长度和获取角度的方法，但是拿到的结果却不是我想要的能直接用于 Ae<sup>ix</sup> 形式的。因为反三角函数的值域并不是从0到2π，所以我后来根据实部和虚部的正负关系，配合诱导公式，自己写了实现来求那个角度。思考之后，究其原因，是这东西有二义性。因为我一直假定 A &gt; 0 、也就是极坐标上距离关系那个变量一定是正的，那么 x 也就是固定的了。举个简单的例子，对于 -1 这个数，可以理解为是 1 旋转了 180° 得到的；但是，它也可以理解为是 -1 没有旋转。 -i 这个数，可以理解为 1 旋转了 270° ，也可以理解为 -1 旋转了 90°。所以按照这么说，如果没有对 A 或 x 进行限定，那么就会有不止一种的表示方式。如果计算过程中弄串了，那么算出来的结果就很可能错了（之所以说很可能，是因为也有可能正好是对的）。</p>
<p><span id="more-622"></span>
<p>不知道是不是搜索方式不对，我网上搜的一些资料直接就跟我说用 arctan 反三角函数来求那个旋转角度。但是就我看，显然是不行的。arctan 是直角三角形中两个直角边的比值，但是当这两个边都是负值的时候……也就是，一个复数的实部和虚部都是负的，在坐标轴中落在第三象限，它是没法分辨出和第一象限（复数的实部和虚部都是正的）的区别的。所以我觉得这种“计算方法”并不能满足我的需求。然后后来我发现，都已经写成 Ae<sub></sub><sup>ix</sup> 形式了，那么因为有 A=e<sup>lnA</sup> 所以它可以变成 e<sup>lnA+ix</sup> 这种形式。好了这下太明显了，一个 a+bi 换成极坐标形式，直接对它取对数，就能拿到 lnA+ix 这样的东西，一个实部一个虚部：虚部是角度，实部是对长度取e为底的对数的结果。然后因为 x 为实数的时候 e<sup>x</sup> 是不会为负的，所以这也就满足了刚才说的 Ae<sup>ix</sup> 中 A&gt;0 的要求。直角坐标系表示方法取个对数能变成极坐标表示，也是非常的神奇。在C++标准库里，头文件 complex 包含了复数的实现，其中甚至有对复数取对数的函数。</p>
<p>还有另一个就是，我原来一直想不出“复正弦信号”，也就是 f(x)=e<sup>ix</sup>=cosx+isinx 的图像到底是什么东西这种事，现在大概知道是什么样子的了。我原来并没有把它放在极坐标看，那么cosx和sinx是两条曲线，我在同一个平面画这两个曲线，最终也就是得到类似这样的效果：</p>
<p><a href="http://blog.sorayuki.net/wp-content/uploads/2017/08/image4.png"><img width="751" height="342" title="image" style="display: inline;" alt="image" src="http://blog.sorayuki.net/wp-content/uploads/2017/08/image_thumb4.png"></a></p>
<p>实在是看不出什么东西来，但是实际上，它应该是一个立体的：每个值都是平面上的一个点，然后把这些平面堆叠起来变成一个三维立体的图。它的图应该是这样子的</p>
<p><a href="http://blog.sorayuki.net/wp-content/uploads/2017/08/image5.png"><img width="628" height="317" title="image" style="display: inline;" alt="image" src="http://blog.sorayuki.net/wp-content/uploads/2017/08/image_thumb5.png"></a></p>
<p>是像弹簧一样旋转的。所以在实数离散傅里叶变换里，变换后的复数系数里会有一对方向相反（一个顺时针转一个逆时针转）、半径一样松紧程度的弹簧出现。方向相反会使得相加的结果在虚数轴那个方向上相互抵消，最后变回实数。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sorayuki.net/?feed=rss2&#038;p=622</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>谈谈我对复数极坐标表示的初步理解</title>
		<link>http://blog.sorayuki.net/?p=607</link>
		<comments>http://blog.sorayuki.net/?p=607#comments</comments>
		<pubDate>Tue, 15 Aug 2017 15:35:16 +0000</pubDate>
		<dc:creator><![CDATA[空雪梦见]]></dc:creator>
				<category><![CDATA[数学]]></category>

		<guid isPermaLink="false">http://blog.sorayuki.net/?p=607</guid>
		<description><![CDATA[这几天在看离散傅里叶变换。虽然傅里叶变换那边还没搞定，不过因为数学有好大一部分还给老师了，这甚至都不知道是高中 &#8230; <a href="http://blog.sorayuki.net/?p=607" class="more-link">继续阅读<span class="screen-reader-text">谈谈我对复数极坐标表示的初步理解</span> <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>这几天在看离散傅里叶变换。虽然傅里叶变换那边还没搞定，不过因为数学有好大一部分还给老师了，这甚至都不知道是高中的还是大学的内容，结果这会儿看到复数还得想办法重新去理解复数。当时充其量也只知道个 i<sup>2</sup>=-1，但是这种程度的理解我觉得显然没办法应付要搞傅里叶变换这种事。今天在学习波形的平移会怎么影响傅里叶变换的结果的时候，好像突然对复数的理解有一点进展了，就赶紧想办法写一写。</p>
<p><span id="more-607"></span></p>
<p>&nbsp;</p>
<p>我记得我学复数的时候，只知道有个 i<sup>2</sup>=-1，然后复数是 a+bi （a和b都是实数）形式的东西，在计算的时候如果有遇到两个 i 相乘，就算出 -1，没有的话就把 i 留着。当时也知道两个数轴交叉，横轴是实轴纵轴是虚轴，然而学了还是懵逼，以至于也许我今天理解的东西搞不好就是以前教过还给老师的，无奈只能再来一次。</p>
<p>今天是无意间发现像 a+bi 这种形式的复数，可以写成 A·e<sup>ix</sup> 这种形式。对于 e<sup>ix</sup> 这种东西的运算，有个欧拉公式，是 e<sup>ix</sup>=cos x+i·sin x。按照这个公式逆着来，对于 a+bi 只要有 a=A·cos x 和 b=A·sin x，就可以转化成 A·e<sup>ix</sup> 形式。对于这两个等式，很容易可以算出cosx和sinx分别 a/A 和 b/A 。这个时候结合横轴是实轴纵轴是虚轴的坐标系的图，把这个 a+bi 所在位置画上去，再把这个数所在位置和原点连接起来，可以看出这个A其实就是这根线段的长度（我记为L），于是能得出<a href="http://blog.sorayuki.net/wp-content/uploads/2017/08/image2.png"><img style="display: inline;" title="image" src="http://blog.sorayuki.net/wp-content/uploads/2017/08/image_thumb2.png" alt="image" width="135" height="53" /></a>，这样很容易就能把x算出来。于是这样就能把 a+bi 转换为 A·e<sup>ix</sup> 形式了。</p>
<p>这里其实有个问题，因为 arccos(a/L) 和 arcsin(b/L) 的值域其实是不一样的。在 0~2π 范围内，有两个 x 能让 cosx=a/L，但是并不是这两个 x 都能让 sinx=b/L。所以这里不能只算一个就够了，要分别对这两个等式把 0~2π 范围内两个都算出来，然后取同时满足这两个等式的解。</p>
<p>那么这种形式到底有什么好处，搞得非得把 a+bi 写成什么还能虚数次方的形式呢？其实是这样的，我发现这个 A·e<sup>ix</sup> 其实是复数的极坐标式，A是长度，x是和实轴正半轴形成的夹角。</p>
<p><a href="http://blog.sorayuki.net/wp-content/uploads/2017/08/image3.png"><img style="display: inline;" title="image" src="http://blog.sorayuki.net/wp-content/uploads/2017/08/image_thumb3.png" alt="image" width="240" height="230" /></a></p>
<p>这个图看得就很清楚，i+是虚数正半轴，r+是实数正半轴，c是这个平面上的一个点（一个复数），L是这个复数距离原点的距离，x是拉开这么长距离后，要旋转多少弧度的角。</p>
<p>对于复数的加法和减法，在 a+bi 这种表示方式下更为容易理解：它就和二维向量的加减法是一样的。具体规则是实数部分和实数部分相加，然后虚数部分和虚数部分相加。</p>
<p>但是对于复数的乘法和除法，在极坐标下容易得多。我举个乘法的例子（除法其实是一样的），我有一个 A·e<sup>ix</sup> 和一个 B·e<sup>iy</sup> 要相乘，运算的时候就变成 A·B·e<sup>i(x+y) </sup>，这样很明显能看出其实是它们的长度相乘，然后它们的旋转角度相加。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sorayuki.net/?feed=rss2&#038;p=607</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
