你已经派生过 gprMax
镜像自地址
https://gitee.com/sunhf/gprMax.git
已同步 2025-08-07 15:10:13 +08:00
Updated fitness_diff_dB function to return inverse of difference which is required as optimisation method looks for when fitness is greater than stopping value; converted responses to NumPy arrays.
这个提交包含在:
@@ -128,7 +128,7 @@ def fitness_diff_dB(filename, args):
|
|||||||
f = h5py.File(args['refresp'], 'r')
|
f = h5py.File(args['refresp'], 'r')
|
||||||
tmp = f['/rxs/rx1/']
|
tmp = f['/rxs/rx1/']
|
||||||
fieldname = list(tmp.keys())[0]
|
fieldname = list(tmp.keys())[0]
|
||||||
refresp = tmp[fieldname]
|
refresp = np.array(tmp[fieldname])
|
||||||
|
|
||||||
# Load (from gprMax output file) the response
|
# Load (from gprMax output file) the response
|
||||||
f = h5py.File(filename, 'r')
|
f = h5py.File(filename, 'r')
|
||||||
@@ -138,13 +138,13 @@ def fitness_diff_dB(filename, args):
|
|||||||
tmp = f['/rxs/rx' + str(rx) + '/']
|
tmp = f['/rxs/rx' + str(rx) + '/']
|
||||||
if tmp.attrs['Name'] in args['outputs']:
|
if tmp.attrs['Name'] in args['outputs']:
|
||||||
fieldname = list(tmp.keys())[0]
|
fieldname = list(tmp.keys())[0]
|
||||||
modelresp = tmp[fieldname]
|
modelresp = np.array(tmp[fieldname])
|
||||||
|
|
||||||
# Calculate sum of differences
|
# Calculate sum of differences
|
||||||
diffdB = np.abs(modelresp - refresp) / np.amax(np.abs(refresp))
|
diffdB = np.abs(modelresp - refresp) / np.amax(np.abs(refresp))
|
||||||
diffdB = 20 * np.log10(np.sum(diffdB))
|
diffdB = 20 * np.log10(np.sum(diffdB))
|
||||||
|
|
||||||
return diffdB
|
return 1 / diffdB
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
在新工单中引用
屏蔽一个用户