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

news2024/11/27 4:12:39

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

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

本文是对上一个博文的补充,详见交叉梯度函数的MATLAB实现及代码分享01,上一篇博文主要是二维的交叉梯度函数,本文分享三维的交叉梯度函数的MATLAB实现及代码。

文章目录

  • 交叉梯度函数的MATLAB实现及代码分享02
    • 一、交叉梯度函数的定义
    • 二、交叉梯度函数的性质
    • 三、模型算例
      • 模型一
      • 模型二
    • 四、MATLAB代码分享

一、交叉梯度函数的定义

三维情况下,交叉梯度函数定义为:
在这里插入图片描述
交叉梯度函数在三个方向上的分量定义为:
1、x方向分量;
在这里插入图片描述
2、y方向分量;
在这里插入图片描述
3、z方向分量;
在这里插入图片描述
采用中心差分的形式对交叉梯度函数进行离散:
在这里插入图片描述
采用中心差分的方式对三维交叉梯度函数在三个分量上分别离散:
1、x方向上交叉梯度函数离散;
在这里插入图片描述
2、y方向上交叉梯度函数离散;
在这里插入图片描述
3、z方向上交叉梯度函数离散;
在这里插入图片描述
分别计算出交叉梯度函数三个分量的值,对三个分量上的值取平方和再开平方,即可得到三维情况下的交叉梯度函数值。

根据上式即可编程实现交叉梯度函数的计算。

二、交叉梯度函数的性质

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

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

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

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

三、模型算例

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

模型一

电磁波吸收系数分布图:
在这里插入图片描述
地震波速度分布图:
在这里插入图片描述
交叉梯度函数值分布图:
在这里插入图片描述

模型二

电磁波吸收系数分布图:
在这里插入图片描述
地震波速度分布图:
在这里插入图片描述
在这里插入图片描述
交叉梯度函数值分布图:
在这里插入图片描述
在这里插入图片描述
三维图片的可视化不是很直观,我尽量的对代码进行调整,将我们的计算结果展现出来,详细的理解还是需要看二维的交叉梯度函数,三维交叉梯度函数性质与二维交叉梯度函数性质一致。

四、MATLAB代码分享

% 计算交叉梯度函数

tao3d = zeros(nex,ney,nez);
tao3dx = zeros(nex,ney,nez);
tao3dy = zeros(nex,ney,nez);
tao3dz = zeros(nex,ney,nez);


for i = 2:ney-1
    for j = 2:nex-1
        for k = 2:nez-1
            tao3dx(i,j,k) = (alpha3d(i,j+1,k)-alpha3d(i,j-1,k))/(2*dy)*...
                (vel3d(i,j,k+1)-vel3d(i,j,k-1))/(2*dz) - ...
                (alpha3d(i,j,k+1)-alpha3d(i,j,k-1))/(2*dz)*...
                (vel3d(i,j+1,k)-vel3d(i,j-1,k))/(2*dy);
            tao3dy(i,j,k) = (alpha3d(i,j,k+1)-alpha3d(i,j,k-1))/(2*dz)*...
                (vel3d(i+1,j,k)-vel3d(i-1,j,k))/(2*dx) - ...
                (alpha3d(i+1,j,k)-alpha3d(i-1,j,k))/(2*dx)*...
                (vel3d(i,j,k+1)-vel3d(i,j,k-1))/(2*dz);
            tao3dz(i,j,k) = (alpha3d(i+1,j,k)-alpha3d(i-1,j,k))/(2*dx)*...
                (vel3d(i,j+1,k)-vel3d(i,j-1,k))/(2*dy) - ...
                (alpha3d(i,j+1,k)-alpha3d(i,j-1,k))/(2*dy)*...
                (vel3d(i+1,j,k)-vel3d(i-1,j,k))/(2*dx);
        end
    end
end
tao3d = sqrt(tao3dx.^2+tao3dy.^2+tao3dz.^2);

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

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

相关文章

人工智能导论课堂笔记

人工智能导论时间:2022年10月19日下午 班级:2022级人工智能应用技术1班 作业问题: Python安装注意事项 1.下载Python3.X的版本,如:3.10, 3.9, 3.8,不推荐下载2.7版本(已经不使用&…

【Mysql】慢sql分析优化案例汇总

【Mysql】慢sql分析优化案例汇总(一)案例一:阿里云慢sql挑战赛实战(一)案例一:阿里云慢sql挑战赛实战 190毫秒干到2毫秒 【1】表结构 【2】待优化sql 【3】第一次explain分析 【4】选取驱动表 优先选择…

java项目_第174期ssm高校信息资源共享平台_ssm毕业设计

java项目_第174期ssm高校信息资源共享平台_ssm毕业设计 【源码请到下载专栏下载】 今天分享的项目是《ssm高校信息资源共享平台》 该项目分为3个角色,管理员、学生、教师角色。 学生可以浏览前台,包含功能有: 首页、课程信息、教学资源、新闻资讯。 教师…

Linux Kernel 6.0 CXL Core pci.c 详解

文章目录前言相关链接Ref正文前言 CXL 是一个比较新的技术,所以我研究的内核源码是选了当前比较新的内核版本 linux 6.0。打算将内核关于 CXL 的驱动进行解析一遍,一步一步慢慢来。 在阅读之前,希望读者能有一定的 PCIe 基础知识&#xff0…

java计算机毕业设计ssm智能线上教育mo0l5(附源码、数据库)

java计算机毕业设计ssm智能线上教育mo0l5(附源码、数据库) 项目运行 环境配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。…

性能测试知识之三大模型

今天的这篇文章我会聊聊在实际工作中开展性能测试,前期最核心的工作。即业务模型、流量模型和数据模型这三大模型,该如何评估和建立。在性能测试工作中,业务模型、流量模型和数据模型是至关重要且必须在项目中构建的,否则很可能导…

【算法分析与设计】【期中(末)复习题】【2022秋】

文章目录一. 单选题二. 填空题三. 判断题四. 多选题一. 单选题 1.按照渐近阶从低到高的顺序排列下列表达式&#xff1a; 30n&#xff0c;2logn&#xff0c;4&#xff0c;n! A. 4<30n<2logn<n! B. 30n<4<2logn<n! C. n!<4<2logn<30n D. 4<2logn&…

YOLO算法改进之结合GradCAM可视化热力图(附详细教程)

🎄🎄YOLOv5/v7改进之结合GradCAM可视化热力图(附详细教程)🎄🎄 🚀🚀🚀NEW!!!魔改YOLOv5/v7目标检测算法来啦 ~ 🐱‍🏍 计算机视觉 —— 致力于目标检测领域科研Tricks改进与推荐 | 主要包括主干网络改进、轻量化网络、注意力机制、检测头部改进、空间金…

主数据管理(MDM),数据中台,国内有哪些知名供应商呢?

当企业的信息化、数据化发展到一定阶段的时候&#xff0c;大部分企业都会对主数据管理产生需求。为帮助企业加速数字化建设步伐&#xff0c;亿信华辰凭借多年在行业领域内积累的丰富经验并结合相关大数据技术成功打造了一款主数据管理产品&#xff0c;覆盖主数据标准、主数据质…

019 | 探究布衣上的刺绣图腾文化功能——以贵州册亨县布依族刺绣为例 | 大学生创新训练项目申请书 | 极致技术工厂

研究目的 当今我国社会的主要矛盾是人民日益增长的美好生活需要和不平衡不充分的发展之间的矛盾。但经济增长过快所带来的联动效应&#xff0c;导致人们一定程度上只注重金钱、利益&#xff0c;从而忽视了培养高尚的理想信念和增强民族精神的重要性。社会要保持平衡性&#xff…

基于低代码平台设计的订单管理系统,助力家具行业信息化建设

编者按&#xff1a;随着信息化的高速发展&#xff0c;传统的人工订单管理模式已经不适合现在企业发展的需求&#xff0c;一个成熟的订单管理系统可以帮助企业解决订单管理混乱的问题。本文介绍了低代码平台在订单管理系统实现方面的优势&#xff0c;并展示了相关案例。 关键词…

PE文件详解

字节存放顺序是小尾存储&#xff0c;高位保存高字节、低位保存低字节&#xff0c;因此是两位两位倒着读 1、DOS头&#xff1a;包括MZ头和DOS存根&#xff0c;指向DOS可执行程序部分 &#xff08;1&#xff09;MZ头&#xff1a;长度 40H&#xff0c;即4行乘16位&#xff0c; e_…

mmap

文章目录使用示例函数原型mmapmunmap传统读写文件mmap 原理eager实现lazy实现缺点使用示例 #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> #include <sys/mman.h>int main(i…

高并发编程之阻塞队列

9 阻塞队列 9.1 BlockingQueue 简介 Concurrent 包中&#xff0c;BlockingQueue 很好的解决了多线程中&#xff0c;如何高效安全 “传输”数据的问题。通过这些高效并且线程安全的队列类&#xff0c;为我们快速搭建 高质量的多线程程序带来极大的便利。本文详细介绍了 Bloc…

十四、JavaScript——类型转化_数值

一、定义 将其他的数据类型转化为数值 使用Number()函数来将其他类型转化为数值&#xff0c;适用于任何类型使用parseInt() -- 将一个字符串转化为一个整数 -解析时&#xff0c;会自作向右读取一个字符串&#xff0c;直到读取到所有的整数位 parseFloat()…

想学设计模式、想搞架构设计,先学学 UML 系统建模吧

UML 系统建模 1 概述 1.1 课程概述 汇集 UML 及其相关的一些话题回顾 UML 相关的符号与概念以电商订单相关业务为例&#xff0c;借助 UML 完成系统建模将 UML 变成提升建模效率&#xff0c;表达架构思想的工具 1.2 什么是 UML ​ Unified Modeling Language 统一建模语言&a…

MEMS运动传感器:三轴数字输出陀螺仪——L3GD20

一、框图和引脚说明 二、机械和电气规格 三、应用 四、数字框图 4.1 框图 4.2 FIFO L3GD20为三个输出通道(偏航、俯仰和滚转)分别嵌入了32个16位数据FIFO槽。 五种模式&#xff1a;Bypass mode、FIFO mode、Stream mode、Bypass-to-Stream mode and Stream-to-FIFO mode。 …

ICG-Amine|ICG标记氨基|ICG-NH2

ICG-Amine|ICG标记氨基|ICG-NH2 中文名称&#xff1a;ICG标记氨基英文名称&#xff1a;ICG-Amine 分子式&#xff1a;C47H56N4O4S 分子量&#xff1a;773.04 外观&#xff1a;绿色粉末 溶解度&#xff1a;二氯甲烷 纯度&#xff1a;95% 结构式&#xff1a; Indocyanine …

JUC并发编程第十二篇,详解Synchronized与锁升级

详解Synchronized与锁升级一、概述二、Synchronized 版本升级优化与锁对象1、版本变化2、为什么每一个对象都可以成为一个锁&#xff1f;三、Synchronized锁升级步骤详解1、如何升级&#xff1f;2、无锁&#xff0c;不会出现竞争3、偏向锁4、轻量级锁5、重锁6、三种锁的比较四、…

接口测试实战 | Android 高版本无法抓取 HTTPS,怎么办?

image1080327 43.8 KB 【编者按】本文为霍格沃兹测试学院 yuye 同学的接口测试实践笔记。 在接口测试中&#xff0c;相信很多人都遇到过 Android 高版本&#xff08;Android7.0 以上&#xff09;系统无法抓包的问题。 由于在测试过程中对分析定位问题很不方便&#xff0c;所以…