本文分享的代码只是一个子程序,并不是整个主程序!!!
lambda = (min_lim + max_lim)/2; %用二分法的定义求
fun_val = 10^9; %任取一个足够大的目标值
num_iter = 1; %迭代次数
while num_iter <= N_iter && abs(fun_val) > tol && abs(min_lim - max_lim) > 1e-4 %迭代停止条件
lambda = (min_lim + max_lim)/2;
fun_val = fi_fun(lambda, A, W, D, p, g);
if fun_val > 0
min_lim = lambda;
else
max_lim = lambda;
end
num_iter = num_iter + 1;
end