棘手的三角法-在matlab中预定义网格中波的起始位置
我正在用Matlab模拟平面声波的传播。我试图写一个循环,改变波的入射角,然后运行模拟。很简单,但我很难定义循环中的声波。这很容易说明,但本质上编码trig问题给我带来了麻烦 对于点源的情况,我这样做如下棘手的三角法-在matlab中预定义网格中波的起始位置,matlab,trigonometry,Matlab,Trigonometry,我正在用Matlab模拟平面声波的传播。我试图写一个循环,改变波的入射角,然后运行模拟。很简单,但我很难定义循环中的声波。这很容易说明,但本质上编码trig问题给我带来了麻烦 对于点源的情况,我这样做如下 angular_increments = 300; for i=1:angular_increments, % source position is positive along the y-z-axis theta= 0+(angular_inc *i); x_po
angular_increments = 300;
for i=1:angular_increments,
% source position is positive along the y-z-axis
theta= 0+(angular_inc *i);
x_position = 0; % fixed - independant of angle
y_position = d * cos((pi/2)-theta);
y_position = y_position * dy;
z_position = d * sin((pi/2)-theta);
z_position = z_position * dz;
% Source function - defines a point of pressure
source_grid = (kgrid.x = x_position);
source_grid = source_grid&(kgrid.y = y_position);
source_grid = source_grid&(kgrid.z = z_position);
任何关于如何实现这一点的想法都是非常受欢迎的。我会尝试应用:解决多条光线的问题,计算不同时间点的光线传播。然后,在每个给定的时间点组合各个光线的位置,形成波前,或者通过拟合一条穿过这些点的直线,或者在波和介质之间的界面更复杂的情况下应用样条曲线,或者介质是不均匀的。我会尝试应用:解决几个单独光线的问题,计算不同时间点的光线传播。然后,在每个给定的时间点组合各个光线的位置以形成波前,可以通过拟合穿过这些点的直线,也可以在波和介质之间的界面更复杂或介质不均匀的情况下应用样条曲线