复变函数可视化傅里叶展开复反演

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/L1558198727/article/details/90371743

泰勒展开&傅里叶展开
f(z)=11z=1+z+z2+z3+...=1+reθ+r2e2θ+r3e3θ+... \begin{aligned} f(z)& = \frac{1}{1-z}\\ &=1+z+z^2+z^3+...\\ &=1 + re^{\theta} + r^{2}e^{2\theta}+ r^{3}e^{3\theta}+... \end{aligned}

复反演
f(z)=1z f(z) = \frac{1}{z}\\
模长变成倒数,角度变成相反数

一个过原点的直线经过复反演之后还是一条直线
一个直线不经过原点,反演之后变成一个圆

一个经过原点的圆反演之后是一个直线
一个不经过原点的圆反演之后是一个圆

两个例子:

复变函数的积分
z0z1f(z)dz=f(Δz)Δz \int_{ z_{0} }^{ z_{1} }f(z)dz\\ =\sum f(\Delta z) \Delta z

每一小段旋转拉伸之后的加和
向量加法,最终的位置减去起始位置就是积分函数值

f(z)=1zf(a+bi)=1a+bi=abia2+b2 \begin{aligned} f(z) &= \frac{1}{z} \\f(a+bi) &= \frac{1}{a+bi} \\ \\&= \frac{a-bi}{a^2+b^2} \end{aligned}

1个例子

%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt

class shape:
    x = []
    y = []
    def __init__(self, x, y):
        self.x = x.copy()
        self.y = y.copy()
        
def draw(shapetemp):
    plt.plot(shapetemp.x,shapetemp.y)

def fanyan(shape1):
    temp = []
    for x,y in zip(shape1.x,shape1.y):
        temp.append( (x/(x*x+y*y),-y/(x*x+y*y)) )
#         print((x/(x*x+y*y),-y/(x*x+y*y)) )
    return shape(list(list(zip(*temp))[0]),list(list(zip(*temp))[1]))


x = np.arange(-10,10,0.001)
y = x+ 0.1
y1 = -x+ 0.1
shape1 = shape(x,y)
shape1 = shape(x,y1)

draw(shape1)
draw(shape2)
sf1 = fanyan(shape1)
sf2 = fanyan(shape2)
draw(sf1)
draw(sf2)
plt.grid()
plt.axis('equal')
plt.show()

在这里插入图片描述

展开阅读全文

没有更多推荐了,返回首页