Azzera filtri
Azzera filtri

Info

Questa domanda è chiusa. Riaprila per modificarla o per rispondere.

Good Morning, I'm sorry to bother your time. I'm puzzling over the problem for traveling time with forward modeling of 5 layer.

1 visualizzazione (ultimi 30 giorni)
The syntax bellow is for 3 layer. Would you mind for helping me with the algorithm of that 5 layer forward modeling.
Thank you...
x_hole_1 = 0 ; x_hole_2 = 6000; y_hole = 5800;
y_batas = [1500 2500 3500 4750 5800];
v_lap = [4000 3800 3000 2500 1000];
sou_y = [100 500];
rec_y = [100 3000 5500]
function [pan_ray_total,d,G]=dt_forward(x_hole_1 ,x_hole_2,y_batas,v_lap,sou_y,rec_y)
n_ray = length(sou_y) * length(rec_y) ;
pan_ray_total = zeros(length(sou_y),length(rec_y));
for i = 1 : length( sou_y)
for j = 1 :length(rec_y)
pan_ray_total(i,j)= sqrt((x_hole_1 - x_hole_2).^2 + (sou_y(i) - rec_y(j)).^2) ;
end
end
sudut_tembak = zeros(length(rec_y),length(sou_y));
for i = 1 : length(sou_y)
for j = 1 :length(rec_y)
sudut_tembak(i,j) = acosd((x_hole_2/pan_ray_total(i,j))) ;
end
end
k = 1;
for i = 1 :length(sou_y)
for j = 1 :length(rec_y)
tikpot_bts1 = ((y_batas(1)-sou_y(i))/tand(sudut_tembak(i,j)))+ x_hole_1;
pan_ray_bag(k,1) = sqrt((x_hole_1 - tikpot_bts1).^2 + (sou_y(i) - y_batas(1)).^2);
tikpot_bts2 = ((y_batas(2) - sou_y(i))/tand(sudut_tembak(i,j))) + x_hole_1;
pan_ray_bag(k,2) = sqrt((tikpot_bts1 - tikpot_bts2).^2 + (y_batas(1) - y_batas(2)).^2);
pan_ray_bag(k,3) = pan_ray_total(i,j) - (pan_ray_bag(k,1) + pan_ray_bag(k,2));
if (sou_y(i) < y_batas(1)) && (rec_y(j) < y_batas(1))
pan_ray_bag(k,1) = pan_ray_total(i,j);
pan_ray_bag(k,2) = 0;
pan_ray_bag(k,3) = 0;
elseif (sou_y(i)< y_batas(1)) && (rec_y(j) > y_batas(1)) && (rec_y(j) < y_batas (2))
pan_ray_bag(k,2)= pan_ray_total(i,j)- pan_ray_bag(k,1);
pan_ray_bag(k,3) = pan_ray_total(i,j) -(pan_ray_bag(k,1) + pan_ray_bag(k,2));
elseif (sou_y(i) > y_batas(1)) && (sou_y(i) < y_batas(2)) && (rec_y(j) < y_batas (1))
pan_ray_bag(k,2) = pan_ray_bag(k,1);
pan_ray_bag(k,1) = pan_ray_total(i,j) - pan_ray_bag(k,1);
pan_ray_bag(k,3) = pan_ray_total(i,j) - (pan_ray_bag(k,1) + pan_ray_bag(k,2));
elseif (sou_y(i) > y_batas(1)) && (sou_y(i) < y_batas(2)) && (rec_y(j) > y_batas(1)) && (rec_y(j) < y_batas(2))
pan_ray_bag(k,1) = 0;
pan_ray_bag(k,2) = pan_ray_total(i,j);
pan_ray_bag(k,3) = 0;
elseif (sou_y(i) > y_batas(1)) && (sou_y(i) < y_batas(2)) && (rec_y(j) > y_batas(2))
pan_ray_bag(k,1) = 0;
pan_ray_bag(k,2) = sqrt((x_hole_1 - tikpot_bts2).^2 + (sou_y(i) - y_batas(2)).^2);
pan_ray_bag(k,3) = pan_ray_total(i,j) - (pan_ray_bag(k,1) + pan_ray_bag(k,2));
elseif (sou_y(i) > y_batas(2)) && (rec_y(j) < y_batas(1))
pan_ray_bag(k,3) = sqrt((x_hole_1 - tikpot_bts2).^2 + (sou_y(i) - y_batas(2)).^2);
pan_ray_bag(k,2) = pan_ray_bag(k,1) - pan_ray_bag(k,3);
pan_ray_bag(k,1) = pan_ray_total(i,j) - abs(pan_ray_bag(k,2) + pan_ray_bag(k,3));
elseif (sou_y(i) > y_batas(2)) && (rec_y(j) > y_batas(1)) && (rec_y(j) < y_batas (2))
pan_ray_bag(k,1) = 0;
pan_ray_bag(k,2) = sqrt((x_hole_1 - tikpot_bts2).^2 + (sou_y(i) - y_batas(2)).^2);
pan_ray_bag(k,3) = pan_ray_total(i,j) -(pan_ray_bag(k,1) + pan_ray_bag(k,2));
elseif (sou_y(i) > y_batas(2)) && (rec_y(j) > y_batas(2))
pan_ray_bag(k,1) = 0;
pan_ray_bag(k,2) = 0;
pan_ray_bag(k,3) = pan_ray_total(i,j) - (pan_ray_bag(k,1)+pan_ray_bag(k,2));
end
k = 1 + k;
end
end
dt_cal = pan_ray_bag *(1./v_lap');
for l = 1 : length (sou_y)
d(l,:) = dt_cal((length(rec_y)*(l-1))+1 : length (rec_y)*l,1);
end
G = pan_ray_bag ;
end

Risposte (0)

Questa domanda è chiusa.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by