交叉梯度函数的MATLAB实现及代码分享01

news2024/11/30 2:36:16

交叉梯度函数的MATLAB实现及代码分享01

交叉梯度函数可用于反演成像中。作为一个连接不同物性参数的桥梁,交叉梯度函数可以实现不同物性参数的联合反演成像。

文章目录

  • 交叉梯度函数的MATLAB实现及代码分享01
    • 一、交叉梯度函数的定义
    • 二、交叉梯度函数的性质
    • 三、模型算例
      • 模型一:结构一致
      • 模型二:横向结构不一致
      • 模型三:纵向结构不一致
      • 模型四:倾斜结构不一致
    • 四、MATLAB代码分享

一、交叉梯度函数的定义

地球物理联合反演中,建立合适的目标函数将不同物性参数联合起来是非常重要的一步工作,然而并不是所有的物性参数之间都存在较为明显的显式关系。地球物理联合反演中用于耦合不同物性参数的新方法——交叉梯度法。

该方法充分利用交叉梯度函数的性质,从结构上对不同物性参数进行耦合。在联合反演算法的目标函数中引入交叉梯度项,无需不同物性间的其他耦合关系即可实现广义意义下的联合反演。理论密度数值模型验证了交叉梯度函数的相关性质,相关应用实例也表明了该方法在联合反演中的应用效果良好,具有一定的实际应用价值。

地球物理研究都是为了解决相应的地质任务,其包含了两个基本问题:一是获得可靠的反映地下地质情况的地球物理数据和资料;二是对获得的数据和资料进行正确的解释。解释的合理与否将影响到后续的一系列生产实践,因此必须受到高度重视。

地球物理资料解释中很重要的一个步骤就是通过获得的观测数据确定地下异常体的物性参数、形态、大小、产状等,这就是通常所说的反演问题。反演技术在过去几十年间经历了从单一反演到联合反演的发展。随着勘探深度的加深,勘探目标的进一步复杂,单凭一种物性参数已经很难精确刻画地下目标体,联合反演是反演技术发展的必然趋势,许多联合反演实例证明了联合反演效果的优越性。

根据目前国内外的研究现状,从参数耦合的角度进行分类,联合反演主要分为以下三大类:
(1) 利用用于联合反演的物性参数具有相同的岩石物理学基础进行联合反演。比如:Heincke B 和 Hobbs R 利用地震波速度、重力和电阻率空间传播分布的转换关系实现了地震、重力和大地电磁数据的联合反演。
(2) 利用用于联合反演的物性参数空间分布结构的关系进行联合反演。比如:Gallardo-Delgado利用重力场和磁场空间分布的相似性进行了重力数据和磁法数据的联合反演。
(3) 不同物性参数的之间同步反演。比如:陈晓等利用正则化约束实现了地震和大地电磁测深数据的自适应正则化同步联合反演。

然而上述几种方法都有其自身的缺陷:
第一种方法需要知道两种物性参数的岩石物理学联系关系式;
第二种方法需要预先知道异常体的分布情况;
第三种方法中如何解决数据的融合问题一直是制约这种方法发展的重大障碍,其发展程度相对较低,实现起来相对困难。

基于上述方法的不足,Gallardo 和 Meju 于2003年首次提出了交叉梯度函数的概念,并将其应用于直流电测深和地震数据的联合反演,取得了良好的效果。该方法在反演过程中,无需预先明确联合反演参数间的显式解析关系式,也无需对模型做各类假设,是一种比较灵活有效的方法,这种方法的提出为解决联合反演问题提供了新的思路。

三维情况下,交叉梯度函数定义为:
在这里插入图片描述
交叉梯度函数在二维情况下定义为:
在这里插入图片描述
采用中心差分的形式对交叉梯度函数进行离散:
在这里插入图片描述
根据上式即可编程实现交叉梯度函数的计算。

二、交叉梯度函数的性质

在数学中,我们知道:
1) 标量场中某一点上的梯度指向标量场在这一点处增长最快的方向,梯度的大小是标量场在这一点最大的变化率;
2) 两个向量叉乘的模等于两个向量的模的乘积乘以sinθ,其中θ是两个向量的夹角。如果两个向量平行,那么夹角是0°或者180°,sinθ等于零,此时两个向量的叉乘等于零。

将数学角度的理解推广到地球物理领域,可以比较容易得出交叉梯度函数用于地球物理联合反演的理论基础:
1) 当用于联合反演的两种物性参数变化方向平行(相同或者相反),或者其中某一种物性参数不发生变化时,两者的交叉梯度函数等于零;

2) 当用于联合反演的两种物性参数的变化方向不同时,两者的交叉梯度函数不等于零。

以上两条结论就是交叉梯度函数在联合反演中能够有所应用的原理基础。在联合反演的目标函数中,当满足交叉梯度函数等于0时,则表示参与运算的两种物性变化方向平行或者其中之一不变化,也就是说两种物性所反映的地质体存在着结构上的相似性,也即存在着共同的物性边界。
在联合反演算法中引入交叉梯度函数,其会从结构上构建起两种参数之间的关系,对反演起约束,使得最终反演结果向两种物性所反映的共同边界变化,有效提高反演结果的精确性。

三、模型算例

建立了几组数值模型,来充分的认识一下交叉梯度函数。分别建立两种不同物性参数(电磁波吸收系数模型、地震波速度模型),计算他们的交叉梯度函数值。

模型一:结构一致

电磁波吸收系数分布图:
在这里插入图片描述
地震波速度分布图:
在这里插入图片描述
交叉梯度函数值分布图:
在这里插入图片描述
当两种物性参数的结构完全一致时,交叉梯度函数等于0.

模型二:横向结构不一致

电磁波吸收系数分布图:
在这里插入图片描述
地震波速度分布图:
在这里插入图片描述
交叉梯度函数值分布图:
在这里插入图片描述
当两种物性参数结构不一致,其中一种物性参数横向变化时,交叉梯度函数不等于0,反映了异常体的上下边界。

模型三:纵向结构不一致

电磁波吸收系数分布图:
在这里插入图片描述
地震波速度分布图:
在这里插入图片描述
交叉梯度函数值分布图:
在这里插入图片描述
当两种物性参数结构不一致,其中一种物性参数纵向变化时,交叉梯度函数不等于0,反映了异常体的左右边界。

模型四:倾斜结构不一致

电磁波吸收系数分布图:
在这里插入图片描述
地震波速度分布图:
在这里插入图片描述
交叉梯度函数值分布图:
在这里插入图片描述
当两种物性参数结构不一致,其中一种物性倾斜变化时,交叉梯度函数不等于0,反应了异常体的边界结构。

四、MATLAB代码分享

% 计算交叉梯度函数

tao2d = zeros(nex, ney);

for i = 2:ney-1
    for j = 2:nex-1
        tao2d(i,j) = (alpha2d(i,j+1) - alpha2d(i,j-1))/2*dx(i)* ...
                     (vel2d(i+1,j) - vel2d(i-1,j))/2*dy(j) - ...
                     (alpha2d(i+1,j)- alpha2d(i-1,j))/2*dx(i)* ...
                     (vel2d(i,j+1) - vel2d(i,j-1))/2*dy(j);
    end
end

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/87671.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

14:30面试,14:38就出来了 ,问的实在是太...

从外包出来,没想到算法死在另一家厂子,自从加入这家公司,每天都在加班,钱倒是给的不少,所以也就忍了。没想到8月一纸通知,所有人不许加班,薪资直降30%,顿时有吃不起饭的赶脚。 好在有…

考虑特性分布的储能电站接入的电网多时间尺度源储荷协调调度策略(Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

为什么mac电脑识别不出来u盘?macbook识别不了u盘的解决办法

为什么mac电脑识别不出来u盘?关于U盘插入Mac电脑无反应的情况有很多种,是电脑无法识别U盘?电脑上面没有U盘的图标?还是插入后无法对U盘进行写入?针对不同的情况,解决的方法也是不一样的。现在,我…

电脑重装系统一启动就黑屏了该怎么办

相信很多用户都遇到过电脑一开机就黑屏了的问题,对于这个问题很多用户不知道怎么去排查问题,这里就和大家简单聊聊遇到电脑开机黑屏这种情况都有什么原因,又该如何解决吧。下面一起来看看解决方法吧! 电脑一启动就黑屏的问题该如何…

一场没有先例的自动驾驶算法大赛,出结果了

贾浩楠 发自 凹非寺量子位 | 公众号 QbitAI自动驾驶领域没有先例的一场挑战赛,刚刚出结果。1067支队伍,整3个月时间主要在自动驾驶卡车、干线物流和自动驾驶轿车、城市道路双赛道场景下角逐。这也或是国内首次有干线物流赛道入赛,覆盖AEB紧急…

引擎入门 | Unity UI简介–第2部分(8)

本期我们继续为大家进行Unity UI简介(第二部分)的后续教程 本篇内容 14.静音功能 15.使用滑块来调节音量 16.更改AudioSource组件的音量 文章末尾可免费获取教程源代码 本篇本篇Unity UI简介(第二部分)篇幅较长,…

汇编移位指令SHR,SAR,SAL/SHL,ROR,ROL,RCR,RCL

目录 逻辑右移SHR 算数右移SAR(重点) 算数/逻辑左移SAL/SHL(完成的操作都一样) 循环右移ROR 循环左移ROL 带进位循环右移RCR 带进位循环左移RCL 总结 例题 一 二 移位指令为双操作数指令,用于将目的的操作数中的二进制数移位。 目…

【JAVA】强引用、软引用、弱引用、幻象引用有什么区别?

前言 在 Java 语言中,除了原始数据类型的变量,其他所有都是所谓的引用类型,指向各种不同的对象,理解引用对于掌握 Java 对象生命周期和 JVM 内部相关机制非常有帮助。 本篇博文的重点是,强引用、软引用、弱引用、幻象…

声纹识别--基础学习笔记

由于每个人的声道、口腔和鼻腔(发音要用到的器官)也具有个体差异性。因为反映到声音上,也是具有差异性的。就比如说,当在接电话的时候,通过一声"喂",就能准确的分辨出接电话的是谁,人耳作为身体的接收器生来…

Python学习基础笔记四十八——面向对象2

1、类中的属性:静态属性。 class Person:country China # 类属性,静态属性def __init__(self, name, age): # 初始化方法,self是必须传的参数,且放在在第一个self.name name # 往字典里添加属性self…

EVE-NG上互联网 使用cloud节点和NAT转发

EVE-NG上互联网 使用cloud节点和NAT转发一、配置一块进行NAT转发的网卡二、配置nat转发规则-iptables三、使能linux内核转发流量四、测试一、配置一块进行NAT转发的网卡 sudo vi /etc/network/interfaces 选择# Cloud devices下面的1个网卡,pnet1-pnet9任意一个都可…

电脑上如何进行屏幕录制,笔记本电脑录屏怎么录

电脑上如何进行屏幕录制?如果你在日常工作娱乐中有录屏的需求,并且想进一步了解电脑录屏的相关操作步骤,请认真看以下内容!小编会给大家分享几种简单的电脑录屏方法。 方法一:PPT屏幕录制 PPT想必大家都很熟悉&#x…

关于sysdiag的利用

背景 因为之前装了某绒,某绒又有一个比较好用的ark工具某绒🗡,想着应该有机会利用一下它的驱动。 接着在driver下面找到了它的驱动,简单分析了一下,发现有可以利用的ioctl。这里有duphandle,操作和之前的p…

操作系统学习笔记_5 IO;缓冲区

I/O 设备 I/O 设备分类 按使用特性分类 人机交互类外设:如鼠标打印机键盘等。数据传输慢。 存储设备:移动硬盘、光盘等,数据传输速率快。 网络通信设备:调制解调器等用于网络通信,速度中等。 按速率分类 低速设…

组合模式详解

简介:就是树状图结构的多个类 Component(抽象构件):它可以是接口或抽象类,为叶子构件和容器构件对象声明接口,在该角色中可以包含所有子类共有行为的声明和实现。在抽象构件中定义了访问及管理它的子构件的…

常见react面试题

React组件命名推荐的方式是哪个? 通过引用而不是使用来命名组件displayName。 使用displayName命名组件: export default React.createClass({ displayName: TodoApp, // ...})React推荐的方法: export default class TodoApp extends …

【实时数仓】CDC简介、实现DWD层业务数据的处理(主要任务、接收kafka数据、动态分流*****)

文章目录一 CDC简介1 什么是CDC2 CDC的种类3 Flink-CDC二 准备业务数据-DWD层1 主要任务(1)接收Kafka数据,过滤空值数据(2)实现动态分流功能(3)把分好的流保存到对应表、主题中2 接收Kafka数据&…

VCL界面组件DevExpress VCL v22.1 - 支持新的格式标签和矢量图标

DevExpress VCL是Devexpress公司旗下最老牌的用户界面套包,所包含的控件有:数据录入、图表、数据分析、导航、布局等。该控件能帮助您创建优异的用户体验,提供高影响力的业务解决方案,并利用您现有的VCL技能为未来构建下一代应用程…

Altium Designer 22 安装过程

Altium Designer 22 安装过程1、开始安装 Altium Designer,点击 Next 2、选择需要安装的语言,勾选上接受协议,然后点击 Next 3、默认即可,其中 Touch Sensor Support 主要是用于触摸屏,然后点击 Next 4、接着&#xff…

C#语言实例源码系列-实现自己的进程管理器

专栏分享点击跳转>Unity3D特效百例点击跳转>案例项目实战源码点击跳转>游戏脚本-辅助自动化点击跳转>Android控件全解手册 👉关于作者 众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中…