微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

拟合随机场或随机场的表示

如何解决拟合随机场或随机场的表示

生成一个随机场。

我现在想适合或识别此字段。

我读过 karhunen loeve 扩展 或光谱表示法,2d Fitting等 可用于识别或表示。

这是生成字段的代码

import numpy as np
import matplotlib.pyplot as plt
from pylab import meshgrid,cm,imshow,contour,clabel,colorbar,axis,title,show
np.random.seed(1)
Emodul=1e0
def fftIndgen(n):
    a = list(range(0,int(n/2+1)))
    b = list(range(1,int(n/2)))
    b.reverse()
    b = [-i for i in b]
    return a + b

def gaussian_random_field(Pk = lambda k : k**-3.0,size = 100):
    skale=256
    size1=1*skale
    size=1*skale
    def Pk2(kx,ky):
        if kx == 0 and ky == 0:
            return 0.0
        return np.sqrt(Pk(np.sqrt((kx)**2 + (ky**2))))
    noise = np.fft.fft2(np.random.normal(size = (size1,size)))
    amplitude = np.zeros((size1,size))
    for i,kx in enumerate(fftIndgen(size1)):
        for j,ky in enumerate(fftIndgen(size)):            
            amplitude[i,j] =Pk2(kx,ky)
    return (np.fft.ifft2(noise*amplitude)+1)*Emodul
alpha = -4
out = gaussian_random_field(Pk = lambda k: k**alpha,size=5)
plt.figure()
outr= out.real
plt.imshow(outr,interpolation='none',cmap=cm.RdBu)
plt.colorbar(label='E-Modul in M')
plt.xlabel('X-Koordinate')
plt.ylabel('Y-Koordinate')
#plt.axis(False)
plt.savefig('field'+str(alpha)+'.png',dpi=400)
plt.show()
plt.close()

这是一个应该拟合的字段示例:

a exemple of a generated field

我如何适应或代表该领域?

我想要适合该领域的方法代码,我希望最后有这样的东西:

I would like to have something like this at the end:

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。