【发布时间】:2014-09-11 10:17:02
【问题描述】:
我有一个迭代代码,用于查找一组高度的纬度/经度 (h_intercept)。这是一个 1x79 矩阵。
在第 22 个值之前它可以正常工作。我发现这是 h_test>h_intercept 的时候。我试图设置一个条件来重置它,但它不起作用。
当 h_test>h_intercept 时,所有范围值都变为零
例如
for j=20:40
rng_sat= sat_look_tcs_pass1(3,j);
u_sat=[sat_look_tcs_pass1(1,j)/sat_look_tcs_pass1(3,j);sat_look_tcs_pass1(2,j)/sat_look_tcs_pass1(3,j);sat_look_tcs_pass1(3,j)/sat_look_tcs_pass1(3,j)];
h_intercept=sat_look_pass1_llh(3,j)/2e3;
h_test=zeros(1,3);
rng_test_min=0;
rng_test_max=rng_sat/2e3;
err=0.01;
while abs(h_intercept-h_test)>err
rng_test=(rng_test_min+rng_test_max)/2;
tcs_test=u_sat*rng_test;
llh_test=tcs2llhT(tcs_test,station_llh);
h_test=llh_test(3,:);
if h_test>=h_intercept
rng_test_max=rng_test;
else
rng_test_min=rng_test;
end
end copter_llh(:,j)=(llh_test); h_interceptloop(:,j)=(h_intercept); end % code end
任何建议表示赞赏!
【问题讨论】:
标签: matlab for-loop matrix iteration