基于matlab中点放炮各类地震波时距曲线程序

完整程序:

clear all

dx=50;x=-500:dx:500;%炮检距

h=100;V1=1500;

theta=25*pi/180;

V2=V1/sin(theta);

t1=sqrt(x.*x+4*h*h)/V1;%反射波时距曲线

t2=abs(x)./V1;%直达波时距曲线

%折射波时距曲线

xm=2*h*tan(theta);%求盲区

k=1;

for i=1:length(x)

if x(i)<-xm

t3_1(k)=2*h*cos(theta)/V1+abs(x(i))/V2;

x_1(k)=x(i);

k=k+1;

end

end

k=1;

for i=1:length(x)

if x(i)>xm

t3_2(k)=2*h*cos(theta)/V1+abs(x(i))/V2;

x_2(k)=x(i);

k=k+1;

end

end

plot(x,t1,'b')

hold on

plot(x,t2,'k-.');

plot(x_1,t3_1,'r:');

plot(x_2,t3_2,'r:');

set(gca,'ydir','reverse')

xlabel('Shot-receiver distance(m)');

ylabel('Two-way traveltime(s)');

legend('反射波','直达波','折射波')

相关推荐
To_OC1 小时前
LC 438 找到所有字母异位词:暴力超时后,我靠滑动窗口一招搞定
javascript·算法·leetcode
一壶浊酒..2 小时前
Scrape Webpack练习
开发语言·javascript·webpack
命运之光3 小时前
【C语言完整代码】就诊信息管理系统
java·c语言·开发语言
命运之光3 小时前
【C语言完整代码】图书管理系统:图书馆场景下的增删改查实战
c语言·开发语言
猿长大人4 小时前
C# | Serilog 新手入门
开发语言·c#·.net·log
Forever Nore4 小时前
学完C语言力扣第一题做不来正常吗
数据结构·算法
hansang_IR4 小时前
【题解】LC:倍增 / 区间并查集(Range Parallel Unionfind)
c++·算法·并查集
在世修行5 小时前
从零打造 C# 工业视觉检测系统(七):串口通信 SerialPort 封装与开发
开发语言·c#·modbus rtu·rs232/rs485
Hammer_Hans5 小时前
DFT笔记98
java·开发语言·数据库