基于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('反射波','直达波','折射波')

相关推荐
@小码农2 分钟前
2026年3月Scratch图形化编程等级考试一级真题试卷
开发语言·数据结构·c++·算法
这儿有一堆花3 分钟前
住宅代理(Residential Proxy)技术指南
开发语言·数据库·php
一只大袋鼠15 分钟前
Java进阶:CGLIB动态代理解析
java·开发语言
秦ぅ时16 分钟前
保姆级教程|OpenAI tts-1-hd模型调用全流程(Python+curl+懒人用法)
开发语言·python
Eiceblue24 分钟前
使用 C# 将 Excel 转换为 Markdown 表格(含批量转换示例)
开发语言·c#·excel
爱滑雪的码农30 分钟前
Java基础十三:Java中的继承、重写(Override)与重载(Overload)详解
java·开发语言
Java面试题总结31 分钟前
使用 Python 设置 Excel 数据验证
开发语言·python·excel
【 】42333 分钟前
C++&STL(Standard Template Library,标准模板库)
java·开发语言·c++
eastyuxiao40 分钟前
OpenClaw 自动处理核心逻辑
开发语言·人工智能
小郑加油40 分钟前
python学习Day10天:列表进阶 + 内置函数 + 代码简化
开发语言·python·学习