Python地震波逆问题解构算法复杂信号分析
🎯要点
🎯时域、时频域以及时间和频率相关联偏振特性分析三种算法 | 🎯时域波参数估计算法 | 🎯机器学习模型波形指纹分析算法 | 🎯色散曲线和频率相关波分析算法 | 🎯动态倾斜校正算法 | 🎯声学地震波像分析
📜Python,MATLAB和C/C++物理信号滤波合成检测模拟用例
📜Python和MATLAB数字信号波形和模型模拟
📜Python量化噪声卷积信号和傅里叶时频分析
📜C++数字化声音信号处理和数控振荡合成
📜Python嵌入式动态用户调制解调响应式射频信号
📜Python嵌入式片上系统逻辑电路物理信号处理
📜Arduino生物波反馈和环境检测外套
📜Python线性代数傅里叶分析和动态系统模拟分析之一
📜Python线性代数数字图像和小波分析之二
📜Python数值和符号算法计算及3D视图物理数学波形方程
📜MATLAB_ESP32有限脉冲响应FIR无限脉冲响应IIR滤波器
🍪语言内容分比


🍇Python波场逆问题
在许多应用中,声波或电磁波被用来观察事物:水下声学、雷达、声纳、医学超声波、探地雷达、地震成像、全球地震学。在其中一些应用中,测量是被动的,我们记录调查对象发出的波,并试图推断其位置、大小等。在主动测量中,会产生波并记录对象的响应。
为了处理逆问题,我们必须首先了解正问题。在最基本的形式中,波动方程由下式给出
L [ c ] v ( t , x ) = q ( t , x ) ( 1 ) L[c] v(t, x)=q(t, x)\qquad(1) L[c]v(t,x)=q(t,x)(1)
且
L [ c ] = [ 1 c ( x ) 2 ∂ 2 ∂ t 2 − ∇ 2 ] L[c]=\left[\frac{1}{c(x)^2} \frac{\partial^2}{\partial t^2}-\nabla^2\right] L[c]=[c(x)21∂t2∂2−∇2]
其中 v : R × R n → R v: R \times R ^n \rightarrow R v:R×Rn→R 表示波场, c : R n → R c: R ^n \rightarrow R c:Rn→R 是传播速度, q : R × R n → R q: R \times R ^n \rightarrow R q:R×Rn→R 是源术语。我们假设源在空间和时间上都有紧支持并且是平方可积的。
为了定义(1)的唯一解,我们需要提供边界和初始条件。在上面讨论的应用中,通常考虑无界域 ( x ∈ R n ) \left(x \in R ^n\right) (x∈Rn) 和柯西初始条件 v ( 0 , x ) = 0 , ∂ v ∂ t ( 0 , x ) = 0 v(0, x)=0, \frac{\partial v}{\partial t }(0, x)=0 v(0,x)=0,∂t∂v(0,x)=0。
在散射实验中,通常根据入射波场和散射波场重写波动方程 v = v i + v s v=v_i+v_s v=vi+vs 和散射势 u ( x ) = c ( x ) − 2 − c 0 − 2 u(x)=c(x)^{-2}- c_0^{-2} u(x)=c(x)−2−c0−2 :
L [ c 0 ] v i ( t , x ) = q ( t , x ) , L [ c 0 ] v s ( t , x ) = − u ( x ) ∂ 2 v ∂ t 2 ( t , x ) ( 2 ) L\left[c_0\right] v_i(t, x)=q(t, x), \quad L\left[c_0\right] v_s(t, x)=-u(x) \frac{\partial^2 v}{\partial t^2}(t, x)\qquad(2) L[c0]vi(t,x)=q(t,x),L[c0]vs(t,x)=−u(x)∂t2∂2v(t,x)(2)
在弱散射假设下,我们可以忽略 u u u和 v s v_s vs的相互作用,并将(2)中的 v v v替换为 v i v_i vi。
测量结果通常被视为限制为 [ 0 , T ] × Δ [0, T] \times \Delta [0,T]×Δ 的(分散)波场,其中 Δ ⊂ R n \Delta \subset R ^n Δ⊂Rn 可以是流形或一组点。然后数据可以用 f ( t , r ) f(t,r) f(t,r)表示。在主动实验中,通常的做法是考虑对源项集合的测量。源可以是点源,在这种情况下 q ( t , x ) = w ( t ) δ ( x − s ) q(t, x)=w(t) \delta(x-s) q(t,x)=w(t)δ(x−s) 且 s ∈ Σ s \in \Sigma s∈Σ。或者,事件场 v i v_i vi 可以由 s ∈ Σ s \in \Sigma s∈Σ 给出和参数化。然后我们可以用 f ( t , s , r ) f(t, s, r) f(t,s,r) 表示数据,其中 s ∈ Σ 、 r ∈ Δ s \in \Sigma、r \in \Delta s∈Σ、r∈Δ 和 t ∈ [ 0 , T ] t \in[0, T] t∈[0,T]。
基于这个基本设置,我们将讨论三个可能的逆问题:
- 逆源问题:从已知(且恒定) c ( x ) ≡ c 0 c(x) \equiv c_0 c(x)≡c0 的测量中恢复源 q q q。
- 逆散射:假设 c 0 c_0 c0 已知,从多个(已知)源的散射场测量中恢复散射势 u ( x ) u(x) u(x)。
- 波形断层扫描:从多个(已知)源的总波场测量中恢复 c ( x ) c(x) c(x)。
下面您将找到一些实践中出现的逆问题的典型示例。
- 地震定位:由源项 w ( t ) q ( x ) w(t) q(x) w(t)q(x) 描述的地震由多个地震仪在位置 Δ = { r k } k = 1 n 处记录 \Delta=\left\{r_k\right\}_{k=1}^n 处记录 Δ={rk}k=1n处记录。目标是恢复 q q q 以确定地震位置。
- 被动声纳:使用数组 Δ = { x 0 + r p ∣ r ∈ [ − h , h ] } \Delta=\left\{x_0+r p \mid r \in[-h, h]\right\} Δ={x0+rp∣r∈[−h,h]} 记录从不明目标发出的声波,其中 $p \in S ^2 $ 表示数组的方向, h h h 表示其宽度。目标是恢复源项 w ( t ) q ( x ) w(t) q(x) w(t)q(x) 以确定源的起源和性质。
- 雷达成像:入射平面波,由方向 s ∈ Σ ⊂ S 2 s \in \Sigma \subset S ^2 s∈Σ⊂S2 参数化,被发送到介质中,并由阵列记录其反射响应。目标是恢复散射势。
- 全波形反演:在勘探地震学中,目标是从表面总波场的测量中恢复 c c c: Σ = Δ = { x ∣ n ⋅ x = 0 } \Sigma=\Delta=\{x \mid n \cdot x=0\} Σ=Δ={x∣n⋅x=0}。
- 超声断层扫描:目标是康复 𝑐 来自物体周围的源和接收器的总波场。
我们研究逆源问题的一个变体,其中 q ( t , x ) = δ ( t ) u ( x ) q(t, x)=\delta(t) u(x) q(t,x)=δ(t)u(x) 和 u u u 在 Ω ⊂ R n \Omega \subset R ^n Ω⊂Rn 上得到紧凑支持。常量 c c c 的前向运算符由下式给出
K u ( t , x ) = ∫ Ω u ( x ′ ) g ( t , x − x ′ ) d x ′ K u(t, x)=\int_{\Omega} u\left(x^{\prime}\right) g\left(t, x-x^{\prime}\right) d x^{\prime} Ku(t,x)=∫Ωu(x′)g(t,x−x′)dx′
在半径为 ρ \rho ρ 的球体上进行测量。解决逆问题的一种流行技术是反向传播,它基于将前向算子的伴随应用于数据。在这种情况下,伴随运算符由下式给出:
K ∗ f ( x ) = ∫ Δ ∫ 0 T g ( t ′ , x ′ − x ) f ( t ′ , x ′ ) d x ′ d t ′ K^* f(x)=\int_{\Delta} \int_0^T g\left(t^{\prime}, x^{\prime}-x\right) f\left(t^{\prime}, x^{\prime}\right) d x^{\prime} d t^{\prime} K∗f(x)=∫Δ∫0Tg(t′,x′−x)f(t′,x′)dx′dt′
我们看到 p = K ∗ f p=K^* f p=K∗f 可以通过求解下式得到
L [ c ] w ( t , x ) = ∫ Δ f ( t , x ′ ) δ ( x − x ′ ) d x ′ L[c] w(t, x)=\int_{\Delta} f\left(t, x^{\prime}\right) \delta\left(x-x^{\prime}\right) d x^{\prime} L[c]w(t,x)=∫Δf(t,x′)δ(x−x′)dx′
使用时间反转格林函数并在 t = 0 t=0 t=0 处求值,即 p ( x ) = w ( 0 , x ) p(x)=w(0, x) p(x)=w(0,x)。
为了了解其原理,我们研究普通运算符 K ∗ K K^* K K∗K。在时域傅立叶域中,对于 c = 1 c=1 c=1,运算符变为
f ^ ( ω , x ) = ∫ Ω u ( x ′ ) exp ( ı ω ∣ x − x ′ ∣ ) ∣ x − x ′ ∣ d x ′ \widehat{f}(\omega, x)=\int_{\Omega} u\left(x^{\prime}\right) \frac{\exp \left(\imath \omega\left|x-x^{\prime}\right|\right)}{\left|x-x^{\prime}\right|} d x^{\prime} f (ω,x)=∫Ωu(x′)∣x−x′∣exp(ω∣x−x′∣)dx′
和
u ( x ) = ∬ Δ f ^ ( ω , x ′ ) exp ( − ı ω ∣ x ′ − x ∣ ) ∣ x ′ − x ∣ d x ′ d ω u(x)=\iint_{\Delta} \widehat{f}\left(\omega, x^{\prime}\right) \frac{\exp \left(-\imath \omega\left|x^{\prime}-x\right|\right)}{\left|x^{\prime}-x\right|} d x^{\prime} d \omega u(x)=∬Δf (ω,x′)∣x′−x∣exp(−ω∣x′−x∣)dx′dω
于是,
K ∗ K u ( x ) = ∬ Δ ∫ Ω f ( x ′ ) exp ( ı ω ∣ x ′ ′ − x ′ ∣ ) ∣ x ′ ′ − x ′ ∣ exp ( − ı ω ∣ x ′ ′ − x ∣ ) ∣ x ′ ′ − x ∣ d x ′ d x ′ ′ d ω K^* K u(x)=\iint_{\Delta} \int_{\Omega} f\left(x^{\prime}\right) \frac{\exp \left(\imath \omega\left|x^{\prime \prime}-x^{\prime}\right|\right)}{\left|x^{\prime \prime}-x^{\prime}\right|} \frac{\exp \left(-\imath \omega\left|x^{\prime \prime}-x\right|\right)}{\left|x^{\prime \prime}-x\right|} d x^{\prime} d x^{\prime \prime} d \omega K∗Ku(x)=∬Δ∫Ωf(x′)∣x′′−x′∣exp(ω∣x′′−x′∣)∣x′′−x∣exp(−ω∣x′′−x∣)dx′dx′′dω
对于 ∣ x ′ ′ ∣ ≫ ∣ x ∣ \left|x^{\prime \prime}\right| \gg|x| ∣x′′∣≫∣x∣ 我们可以将其近似为 ∣ x ′ ′ − x ∣ ≈ ∣ x ′ ′ ∣ + x ⋅ x ′ ′ / ∣ x ′ ′ ∣ \left|x^{\prime \prime}-x\right| \approx\left|x^{\prime \prime}\right|+x \cdot x^{\prime \prime} /\left|x^{\prime \prime}\right| ∣x′′−x∣≈∣x′′∣+x⋅x′′/∣x′′∣ 同样对于 ∣ x ′ ′ − x ′ ∣ \left |x^{\prime \prime}-x^{\prime}\right| ∣x′′−x′∣。这称为远场近似。引入 ξ ′ ′ = x ′ ′ / ∣ x ′ ′ ∣ = x ′ ′ / ρ \xi^{\prime \prime}=x^{\prime \prime} /\left|x^{\prime \prime}\right|=x^{\prime \prime} / \rho ξ′′=x′′/∣x′′∣=x′′/ρ单位球面,我们发现
K ∗ K u ( x ) = ρ ∫ Ω u ( x ′ ) ∬ exp ( w ξ ′ ′ ⋅ ( x ′ − x ) ) d ξ ′ ′ d ω d x ′ K^* K u(x)=\rho \int_{\Omega} u\left(x^{\prime}\right) \iint \exp \left(w \xi^{\prime \prime} \cdot\left(x^{\prime}-x\right)\right) d \xi^{\prime \prime} d \omega d x^{\prime} K∗Ku(x)=ρ∫Ωu(x′)∬exp(wξ′′⋅(x′−x))dξ′′dωdx′
此式:
k ( x − x ′ ) = ∬ exp ( u ω ξ ′ ′ ⋅ ( x ′ − x ) ) d ξ ′ ′ d ω k\left(x-x^{\prime}\right)=\iint \exp \left(u \omega \xi^{\prime \prime} \cdot\left(x^{\prime}-x\right)\right) d \xi^{\prime \prime} d \omega k(x−x′)=∬exp(uωξ′′⋅(x′−x))dξ′′dω
有时称为点扩散函数。
这种过滤也可以通过乘以 ∣ ξ ∣ 2 |\xi|^2 ∣ξ∣2 在傅立叶域中实现。一个例子如下所示。
import numpy as np
import matplotlib.pyplot as plt
import scipy.sparse as sp
from scipy.ndimage import laplacedef solve(q,c,dt,dx,T=1.0,L=1.0,n=1):gamma = dt*c/dxnt = int(T/dt + 1)nx = int(2*L/dx + 2)u = np.zeros((nx**n,nt))for k in range(1,nt-1):u[:,k+1] = A@u[:,k] + L@u[:,k] + B@u[:,k-1] + (dx**2)*C@q[:,k]return udef getMatrices(gamma,nx,n):l = (gamma**2)*np.ones((3,nx))l[1,:] = -2*(gamma**2)l[1,0] = -gammal[2,0] = gammal[0,nx-2] = gammal[1,nx-1] = -gammaif n == 1:a = 2*np.ones(nx)a[0] = 1a[nx-1] = 1b = -np.ones(nx)b[0] = 0b[nx-1] = 0c = (gamma)**2*np.ones(nx)c[0] = 0c[nx-1] = 0L = sp.diags(l,[-1, 0, 1],shape=(nx,nx))else:a = 2*np.ones((nx,nx))a[0,:] = 1a[nx-1,:] = 1a[:,0] = 1a[:,nx-1] = 1a.resize(nx**2)b = -np.ones((nx,nx))b[0,:] = 0b[nx-1,:] = 0b[:,0] = 0b[:,nx-1] = 0b.resize(nx**2)c = (gamma)**2*np.ones((nx,nx))c[0,:] = 0c[nx-1,:] = 0c[:,0] = 0c[:,nx-1] = 0c.resize(nx**2)L = sp.kron(sp.diags(l,[-1, 0, 1],shape=(nx,nx)),sp.eye(nx)) + sp.kron(sp.eye(nx),sp.diags(l,[-1, 0, 1],shape=(nx,nx)))return A,B,C,L
L = 1.0
T = 1.0
dx = 1e-2
dt = .5e-2
nt = int(T/dt + 1)
nx = int(2*L/dx + 2)
c = 1u = np.zeros((nx,nx))
u[nx//2 - 10:nx//2+10,nx//2 - 10:nx//2+10] = 1
q = np.zeros((nx*nx,nt))
q[:,1] = u.flatten()w_forward = solve(q,c,dt,dx,T=T,L=L,n=2)theta = np.linspace(0,2*np.pi,20,endpoint=False)
xs = 0.8*np.cos(theta)
ys = 0.8*np.sin(theta)
I = np.ravel_multi_index(np.array([[xs/dx + nx//2],[ys//dx + nx//2]],dtype=np.int), (nx,nx))
d = w_forward[I,:]r = np.zeros((nx*nx,nt))
r[I,:] = d
r = np.flip(r,axis=1)w_adjoint = solve(r,c,dt,dx,T=T,L=L,n=2)fig, ax = plt.subplots(nrows=2, ncols=3, figsize=(8, 5), sharey=True)
plt.gray()ax[0,0].plot(xs,ys,'r*')
ax[0,0].imshow(w_forward[:,2].reshape((nx,nx)), extent=(-L,L,-L,L))
ax[0,0].set_title('t = 0')
ax[0,1].plot(xs,ys,'r*')
ax[0,1].imshow(w_forward[:,101].reshape((nx,nx)), extent=(-L,L,-L,L))
ax[0,1].set_title('t = 0.5')
ax[0,2].plot(xs,ys,'r*')
ax[0,2].imshow(w_forward[:,200].reshape((nx,nx)), extent=(-L,L,-L,L))
ax[0,2].set_title('t = 1')ax[1,0].plot(xs,ys,'r*')
ax[1,0].imshow(w_adjoint[:,200].reshape((nx,nx)), extent=(-L,L,-L,L))
ax[1,1].plot(xs,ys,'r*')
ax[1,1].imshow(w_adjoint[:,101].reshape((nx,nx)), extent=(-L,L,-L,L))
ax[1,2].plot(xs,ys,'r*')
ax[1,2].imshow(w_adjoint[:,2].reshape((nx,nx)), extent=(-L,L,-L,L))plt.show()
👉参阅&更新:计算思维 | 亚图跨际
相关文章:
Python地震波逆问题解构算法复杂信号分析
🎯要点 🎯时域、时频域以及时间和频率相关联偏振特性分析三种算法 | 🎯时域波参数估计算法 | 🎯机器学习模型波形指纹分析算法 | 🎯色散曲线和频率相关波分析算法 | 🎯动态倾斜校正算法 | 🎯声…...
C语言 -- 深入理解指针(二)
C语言 -- 深入理解指针(二) 1. 数组名的理解2. 使用指针访问数组3. 一维数组传参的本质4. 冒泡排序5. 二级指针6. 指针数组7. 指针数组模拟二维数组8. 字符指针变量9. 数组指针变量2.1数组指针变量是什么?2.2 数组指针变量怎么初始化 10. 二维…...
HTTP协议详解
HTTP协议详解 一、HTTP协议概述二、网络基础与HTTP2.1 TCP/IP协议2.2 发送HTTP请求过程2.3 HTTP请求的组成部分 三、HTTP报文HTTP请求报文HTTP响应报文 结语 一、HTTP协议概述 HTTP,即超文本传输协议(Hypertext Transfer Protocol)ÿ…...
一年时间业绩增长2倍,茅台保健酒业公司在川销售的“三板斧”
执笔 | 尼 奥 编辑 | 扬 灵 作为土地面积全国第5、人口总数全国第3、GDP全国第6的产酒、销酒大省,四川酒类消费总额已达800亿元,其中白酒市场规模达到500亿元。 近年来,随着省外名酒提升对四川市场重视,其市场份额也从20年前的3%…...
土豆炒肉做法
菜单:土豆、葱、铁辣子、纯瘦肉、淀粉、生抽、酱油、刀、案板、十三香、盐巴、擦板 流程: 洗土豆,削皮,擦成条,用凉水过滤两遍淀粉,顺便放个燥里洗肉,切成条,按照生抽、酱油、淀粉、…...
VPS拨号服务器:独享的高效与安全
在当今互联网高速发展的时代,虚拟私人服务器(VPS)已成为许多企业和个人用户托管网站、应用程序的首选。特别是带有拨号功能的VPS服务器,以其独特的优势受到广泛关注。本文将深入探讨VPS拨号服务器的独享特性,以及它如何…...
网络安全设备——防火墙
网络安全设备防火墙是一种用来加强网络之间访问控制的特殊网络互联设备。以下是对防火墙的详细解释: 一、定义与基本概念 定义:防火墙是指设置在不同网络(如可信任的企业内部网和不可信的公共网)或网络安全域之间的一系列部件的…...
Redis 管道技术
Redis 管道技术 引言 Redis,作为一个高性能的键值存储系统,被广泛应用于各种场景,如缓存、消息队列等。为了进一步提高Redis的处理能力和效率,Redis管道技术应运而生。本文将深入探讨Redis管道技术的原理、应用及其优势。 什么是Redis管道技术 Redis管道技术是一种允许…...
使用vue3-treeselect问题
1.当vue3-treeselect是单选时,使用watch监听绑定value,无法监听到值清空 对照后将:value改为v-model,如图 2.使用vue3-treeselect全部清空按钮如何置空select的值,使用watch监听 多选:pageInfo.officeName(val) {// …...
每日直播分享车载知识:硬件在环、UDS诊断、OTA升级、TBOX测试、CANoe、ECU刷写、CAN一致性测试:物理层、数据链路层等
每日直播时间:(进腾讯会议方式:QazWsxEdc_2010) 周一到周五:20:00-23:00(讲一个小时,实操两个小时) 周六与周日:9:00-17:0…...
flex布局---子元素未设置高度,默认与父元素同高---侧轴方向的拉伸
父元素未设置固定高度,由子元素高度撑开,并给父元素开启 flex 布局,成为伸缩容器。 父元素中有三个子元素,为伸缩项目,三个伸缩项目都未指定高度,div.inner1 的高度由内容撑开,div.inner2 和 d…...
资源分享—2021版三调符号库
汇总整理平台软件支持过程中客户项目提供的各类资源(包括但不限于符号库、地图模板等),在客户允许情况下进行集团内分享。 本次分享新版国土空间规划【三调符号库(2021版)】,提供SuperMap格式符号库下载。 …...
解决selenium手动下载驱动问题
解决selenium手动下载驱动问题 每次都需要手动下载驱动很头疼,今天发现一个可以自动下载最新驱动的包webdriver_manager,挺不错的 安装依赖包 pip install selenium pip install webdriver_manager from selenium import webdriver from selenium.webdr…...
使用fifo IP核,给fifo写数据,当检测到ALMOST_EMPTY时,为什么不能立即赋值
这涉及到FIFO(先入先出缓冲器)的内部工作机制和时序考虑。让我详细解释为什么在检测到ALMOST_EMPTY信号时不能立即向FIFO写入数据。 ALMOST_EMPTY信号的特性: ALMOST_EMPTY是一个预警信号,表示FIFO中的数据量已经接近空。这个信号…...
【Python123题库】#汽车迷 #编写函数输出自除数 #身份证号基本信息
禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/140080109 参考教程:B站视频讲解——https://space.bilibili.com/3546616042621301 有帮助麻烦点个赞 ~ ~ Python123题库 汽车迷编写函数输出自除数身份证号基本信息 汽车…...
普通人怎么利用GPT赚钱之SEO优化内容
如何利用GPT撰写SEO优化内容:全面指南 在当今的数字化世界,搜索引擎优化(SEO)是提升网站流量和曝光率的关键。高质量的SEO优化内容不仅可以提高搜索引擎排名,还能吸引更多潜在客户。GPT(生成预训练变换器)作为一种先进的人工智能工具,可以大大提升SEO内容创作的效率和…...
LeetCode热题100刷题8:54. 螺旋矩阵、73. 矩阵置零、48. 旋转图像
54. 螺旋矩阵 class Solution { public:vector<int> spiralOrder(vector<vector<int>>& matrix) {vector<int> vec;if(matrix.empty())return vec;int left0;int right matrix[0].size()-1;int up0;int down matrix.size()-1;while(true) {for(i…...
景联文科技打造高质量图文推理问答数据集,赋能大语言模型提升推理能力
大语言模型在处理推理任务时,不同于人类能够反思错误并修正思维路径,当它遇到自身知识盲区时,缺乏自我校正机制,往往导致输出结果不仅无法改善,反而可能变得更不准确。 需要依赖外部的知识库和推理能力来克服其在理解和…...
用网络编程完成windows和linux跨平台之间的通信(服务器)
服务器代码逻辑: 服务器功能 创建 Socket: 服务器首先创建一个 Socket 对象,用于进行网络通信。通常使用 socket() 函数创建。 绑定(Bind): 服务器将 Socket 绑定到一个特定的 IP 地址和端口号上。这是通过…...
力扣3148.矩阵中的最大得分
力扣3148.矩阵中的最大得分 类似二维前缀和 枚举右下角 求(i,j) - (0,0)的子矩阵的最小值每次与当前点作差 求答案 class Solution {public:int maxScore(vector<vector<int>>& grid) {int res INT_MIN;int m grid.size(),n grid[0].size();vector<ve…...
云计算——弹性云计算器(ECS)
弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...
Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
linux 错误码总结
1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...
【单片机期末】单片机系统设计
主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...
WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成
厌倦手动写WordPress文章?AI自动生成,效率提升10倍! 支持多语言、自动配图、定时发布,让内容创作更轻松! AI内容生成 → 不想每天写文章?AI一键生成高质量内容!多语言支持 → 跨境电商必备&am…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...
深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏
一、引言 在深度学习中,我们训练出的神经网络往往非常庞大(比如像 ResNet、YOLOv8、Vision Transformer),虽然精度很高,但“太重”了,运行起来很慢,占用内存大,不适合部署到手机、摄…...
【Linux手册】探秘系统世界:从用户交互到硬件底层的全链路工作之旅
目录 前言 操作系统与驱动程序 是什么,为什么 怎么做 system call 用户操作接口 总结 前言 日常生活中,我们在使用电子设备时,我们所输入执行的每一条指令最终大多都会作用到硬件上,比如下载一款软件最终会下载到硬盘上&am…...
GraphQL 实战篇:Apollo Client 配置与缓存
GraphQL 实战篇:Apollo Client 配置与缓存 上一篇:GraphQL 入门篇:基础查询语法 依旧和上一篇的笔记一样,主实操,没啥过多的细节讲解,代码具体在: https://github.com/GoldenaArcher/graphql…...
