用matlab实现飞机运动过程中正激波与斜激波的生成
一、实现效果
实现工具:matlab
图1 正激波示意图
图2 斜激波示意图
二、多普勒效应
由于波源和观察者之间有相对运动,导致观察者接收(或感知)到的波的频率和波源发出波的固有频率不一致,这种现象就是多普勒效应。
举一个例子:当汽车向你驶来时,感觉音调变高;当汽车离你远去时,感觉音调变低(音调由频率决定,频率高音调高;频率低音调低)。
多普勒效应:由于波源和观察者之间有相对运动,使观察者感到频率变化的现象叫做多普勒效应。
波源的频率等于单位时间内波源发出的完全波的个数,而观察者听到的声音的音调,是由观察者接收到的频率,即单位时间接收到的波的个数决定的.
多普勒频率计算公式:
f
d
=
−
2
R
˙
/
λ
\ f_d=-2\dot R/ \lambda
fd=−2R˙/λ
式中,
f
d
f_d
fd是多普勒频率,
R
˙
\dot R
R˙是波源和观察者之间的相对速度,
λ
\lambda
λ是波长。
三、用matlab实现飞机运动过程中正激波与斜激波的生成
画有向三角形表示飞机(波源)运动方向。
function [x y]=Triangle(pos,vec,dis)
% pos 定义三角形中心位置
% vec 定义三角形方向
% dis 定义三角形大小
画圆表示波峰。
function [x y] = Circle(xCircle,yCircle, r)
%xCircle,yCircle为圆心,r为半径画圆
建立飞机运动模型,仿真波源运动。
%多普勒效应演示程序
%
%2019.12.15
clc
clear
close all
dis = 0.5;
re = [1 0];
ve = [1 0];%1表示1倍的波速
[x y] = Triangle(re, ve, dis);%飞机图标
完整代码参考: 自己编写的多普勒效应matlab源代码
有人反映代码不全,重新上传了!