资源简介
matlab 地震波数值
代码片段和文件信息
%% 此程序为模拟各项同性弹性波波场(点源)
%% 时间上2阶差分近似,空间上10阶差分近似
clear;clc;
tic;
%*************************震源为Ricker子波**************************
dt=0.0001;t=0:dt:0.06;fp=30;
R=(1-2*(pi*fp*t).^2).*exp(-(pi*fp*t).^2);
%%plot(tR);
%*******************************************************************
%***************************模型参数设置****************************%
dx=5; dz=5; %采样间隔
x0=0;z0=0; %震源位置
t0=0.2; %快照时间
l=length(t); %时间样点数目
x=-1000:dx:1000;
z=-1000:dz:1000; %采样区间
m=length(x);
n=length(z); %采样点数
%% Setting Velocity & Density
xt=-1000:dx/2:1000+dx/2;
zt=-1000:dz/2:1000+dz/2;%采样区间
mt=length(xt);
nt=length(zt); %采样点数目
vp=zeros(mtnt); %纵波速度
vs=zeros(mtnt); %横波速度
p=zeros(mtnt); %模型密度
%*****************************模型1************************************%
for i=1:mt;
for j=1:nt;
vp(ij)=4300;
vs(ij)=2800; %vp(ij)/sqrt(3);
p(ij)=2.60;
end
end
N = p.*vs.^2; L = p.*(vp.^2-2*vs.^2);
%**********************************************************************
%****************************稳定条件**********************************%
maxvp=max(max(vp)); maxvs=max(max(vs));
if dt*sqrt(maxvp^2/dx^2+maxvs^2/dz^2)>1
error(‘参数设置有问题,差分格式不稳定‘);
end
%**********************************************************************
%********************************数值计算******************************%
P=zeros(mn); Q=P; S=P; U=P; W=P;
P1=P; Q1=Q; S1=S; U1=U; W1=W;
% %C(1)=1.125; C(2)=-0.04166667; %%时间差分参数
% C(1)=1.171875; C(2)=-0.06510416; C(3)=0.0046875;
C(1)=1.211243; C(2)=-0.08972168; C(3)=0.001384277; C(4)=-0.00176566; C(5)=0.0001186795;
m0=find(x==x0); n0=find(z==z0); l0=round(t0/dt)+1;
r=5; %%时间上差分阶数
record1=zeros(l0-1n);
record2=zeros(l0n);
for k=1:l0; %%空间上差分阶数
if k<=l
P1(m0n0)=R(k); Q(m0n0)=R(k);
end
for i=r+1:m-r;
for j=r+1:n-r;
U(ij)=U1(ij)+C(1)*dt/p(2*i-12*j-1)*(1/dx*(P1(ij)-P1(i-1j))+1/dz*(S1(ij)-S1(ij-1)))+...
C(2)*dt/p(2*i-12*j-1)*(1/dx*(P1(i+1j)-P1(i-2j))+1/dz*(S1(ij+1)-S1(ij-2)))+...
C(3)*dt/p(2*i-12*j-1)*(1/dx*(P1(i+2j)-P1(i-3j))+1/dz*(S1(ij+2)-S1(ij-3)))+...
C(4)*dt/p(2*i-12*j-1)*(1/dx*(P1(i+3j)-P1(i-4j))+1/dz*(S1(ij+3)-S1(ij-4)))+...
C(5)*dt/p(2*i-12*j-1)*(1/dx*(P1(i+4j)-P1(i-5j))+1/dz*(S1(ij+4)-S1(ij-5)));
W(ij)=W1(ij)+C(1)*dt/p(2*i2*j)*(1/dx*(S1(i+1j)-S1(ij))+1/dz*(Q1(ij+1)-Q1(ij)))+...
C(2)*dt/p(2*i2*j)*(1/dx*(S1(i+2j)-S1(i-1j))+1/dz*(Q1(ij+2)+Q1(ij-1)))+...
C(3)*dt/p(2*i2*j)*(1/dx*(S1(i+3
相关资源
- 无人驾驶车辆模型预测直线轨迹跟踪
- 基于MATLAB的倒谱程序
- 加入噪声的中值滤波代码
- 利用BP神经网络实现手写体数字识别
- 基于Matlab行人检测系统
- 加权平均 图像融合MATLAB算法 含融合源
- 悉尼大学停车场SLAM matlab
- Aloha系统MATLAB仿真代码
- 混凝土抗压强度预测_SVM_Matlab_归一_
- MATLAB之LSTM预测
- mtsp源代码MATLAB
- matlab高斯投影正反算程序
- MATLAB识别指针式仪表的示数
- EEMD集成经验模态分解matlab程序.rar
- 小波滤波,可用于心电信号、脉搏波
- MATLAB 人脸检测定位算法
- 烟花算法 (Fireworks Algorithm),缩写为
- Matlab考试题库加答案
- 基于matlab的扑克牌识别
- CT反投影重建算法
- 基于MATLAB计算两平行线圈的互感
- matlab条码识别
- 利用BP神经网络对图像提取的MATLAB代码
- 元胞自动机之森林火灾升级版MATLAB代
- 6自由度机器人正逆运动学matlab
- MATLAB 灰度共生矩阵特征提取
- 机器人焊接轨迹规划matlab仿真程序
- 有约束的基于适应度和连续世代策略
- 同步电机模型的MATLAB仿真-毕业设计论
- 通信原理matlab最全仿真,曹丽娜,樊
评论
共有 条评论