资源简介
一个 地震数据全波形反演FWI软件包,可以直接运行查看结果,由于受文件大小限制,把所有的地震记录删除了,需要先模拟地震记录,雷克子波主频在反演代码里面可以找到。
代码片段和文件信息
%% This script is used to perform calculation on the gradient
function [gradienterr] = calculateGradient(dimssourcetrueRecmodelunextuuprev)
recording = zeros(dims.ntlength(dims.recPos)‘single‘);
gradient = zeros(dims.nydims.nx‘single‘);
forwardField = zeros(dims.mydims.mxdims.nt‘single‘);
adjointField = zeros(dims.mydims.mxdims.nt‘single‘);
err = 0;
for s = 1:dims.ds:length(dims.srcPos)
%% Run forward simulation on background model
uprev(:)=0; u(:)=0; unext(:)=0;
for t = 1:dims.nt
% Solve wave equation
unext = solveWaveEqn(modeldimsdims.srcPos(s)sourcetunextuuprev);
% Update u(xt)
uprev = u; u = unext;
% Check wave equation stability
r = model*dims.dt/dims.dx + model*dims.dt/dims.dy;
if r>1
break
end
% Record traces
recording(t:) = u(dims.recPos);
% Save forward field for use in correlation
forwardField(::t) = u(dims.modelydims.modelx);
end
%% Calculate difference and error
chi = recording-trueRec(::s);
% Time reversal
chi = flipud(chi);
% Error calculation
err = err + norm(chi);
%% Run adjoint simulation
uprev(:)=0; u(:)=0; unext(:)=0;
for t = 1:dims.nt
% Solve wave equation using the difference (chi) as sources
unext = solveWaveEqn(modeldimsdims.recPoschitunextuuprev);
% Update u(xt)
uprev = u; u = unext;
% Check wave equation stability
r = model*dims.dt/dims.dx + model*dims.dt/dims.dy;
if r>1
break
end
% Save adjoint field for use in correlation
adjointField(::dims.nt-t+1) = u(dims.modelydims.modelx);
end
%% Correlate
for t = 2:dims.nt-1
% Calculate the time derivative of the displacement to gradient.
dadt=(adjointField(::t+1) - adjointField(::t))/dims.dt;
dfdt=(forwardField(::t+1) - forwardField(::t-1))/dims.dt;
gradient(dims.modelydims.modelx)=gradient(dims.modelydims.modelx)+dadt.*dfdt;
end
end
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2315 2018-11-11 22:39 FWI-MATLAB\calculateGradient.m
文件 1304 2018-11-11 22:39 FWI-MATLAB\calculateStepLength.m
文件 4633 2018-11-11 22:39 FWI-MATLAB\calculateStepLengthGoldenRatio.m
文件 17435 2018-11-11 22:39 FWI-MATLAB\Model result - 4 hz - grid distance 5-10022-10024.mat
文件 17315 2018-11-11 22:39 FWI-MATLAB\Model result - 4681012 hz - grid distance 1-10022-10024.mat
文件 17320 2018-11-11 22:39 FWI-MATLAB\Model result - 4681012 hz - grid distance 5-10022-10024.mat
文件 17353 2018-11-11 22:39 FWI-MATLAB\Model result - 4681012101210121012 hz grid distance 10-10022-10024.mat
文件 196 2018-11-11 22:39 FWI-MATLAB\README.md
文件 305 2018-11-11 22:39 FWI-MATLAB\rickerWave.m
文件 2596 2018-11-11 22:39 FWI-MATLAB\runFWI.m
文件 2673 2018-11-11 22:39 FWI-MATLAB\runFWIGoldenRatio.m
文件 1018 2018-11-11 22:39 FWI-MATLAB\solveWaveEqn.m
文件 307 2018-11-11 22:39 FWI-MATLAB\taperGradient.m
目录 0 2020-04-19 21:01 FWI-MATLAB
----------- --------- ---------- ----- ----
84770 14
- 上一篇:多算法CFAR一维恒虚警检测
- 下一篇:混沌tent映射tent分叉程序
相关资源
- 蒙特卡洛模拟光子在组织中的运动m
- ERADistNataf MATLAB
- bp神经网络的adp小程序
- 主动声纳
- Particle Swarm Optimization(PSO) Algorithm
- MATLAB绘制伯德图
- 椭圆拟合matlab
- knn算法matlab实现
- 基本蛙跳程序 matlab
- 用matlab编写的BP神经网络用于预测房价
- 针对三维点云的Mean Shift聚类算法(
- 复杂网络特性计算的matlab代码
- 基于MATLAB的灰色预测模型的实现
- A星算法寻路matlab程序代码
- 基于Matlab轮廓匹配的物体识别系统的
- DEA的Matlab程序,绝对可运行!!
- matlab kmeans聚类 代码和带图
- matlab将dat数据转换成jpg图像并保存
- matlab程序下的决策树与随机森林分类
- 遗传算法优化神经网络matlab源码
- 遗传算法解决背包问题 MATLAB可运行代
- 马尔科夫链蒙特卡洛MCMC仿真带MATLAB代
- SVM light 工具箱 包含和说明文件 包含
- 机器人手眼标定-Matlab程序高精度
- 常微分方程组的四阶RungeKutta龙格库塔
-
simuli
nk LLC模型 - MATLAB作图验证系统在单位阶跃与单位
- matlab开发-变桨距操纵器变速风轮机
- 批量点经纬度转换坐标
- Matlab降维工具箱
评论
共有 条评论