问题描述
我现在想适合或识别此字段。
我读过 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()
这是一个应该拟合的字段示例:
我如何适应或代表该领域?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)