?? g_a_w_gini.m
字號:
% =========================================================================% Copyright (c)2006, 東南大學移動通信國家重點實驗室% All rights reserved.%% 文件名稱:g_A_w_Gini.m% function描述:Gini Index下的目標函數% 當前版本: 1.0% 作 者:梁浩% 完成日期: 2007年6月%==========================================================================function [g A] = g_A_w_Gini(w, N, aimFair, aveSNR, precision)%%% 為求梯度,將w再各個方向上按照precision散開for gradient_num = 1:length(w) w_for_gradient_low(gradient_num,:) = w; w_for_gradient_high(gradient_num,:) = w; w_for_gradient_low(gradient_num,gradient_num) = w_for_gradient_low(gradient_num,gradient_num) - precision; % precision為梯度求解的精度,即橫坐標間隔 w_for_gradient_high(gradient_num,gradient_num) = w_for_gradient_high(gradient_num,gradient_num) + precision;end%%% 求中心點處的取值ww = [1, w]; % ww是將w向量的第一個元素固定為1之后的結果for i = 1:N Th(i) = quadl(@IntegralGene, 10^(-1), 10^2, 10^(-9), [], N, ww, aveSNR, i);endT = 0 - sum(Th);F = Fairness_Gini(N, Th) - aimFair;%%% 求中心點兩側點處的取值for gradient_num = 1:length(w) % gradient_num ww_for_gradient_low = [1, w_for_gradient_low(gradient_num,:)]; % ww是將w向量的第一個元素固定為1之后的結果 ww_for_gradient_high = [1, w_for_gradient_high(gradient_num,:)]; % ww是將w向量的第一個元素固定為1之后的結果 for i = 1:N Th_low(i) = quadl(@IntegralGene, 10^(-1), 10^2, 10^(-6), [], N, ww_for_gradient_low, aveSNR, i); Th_high(i) = quadl(@IntegralGene, 10^(-1), 10^2, 10^(-6), [], N, ww_for_gradient_high, aveSNR, i); end T_low = 0 - sum(Th_low); F_low = Fairness_Gini(N, Th_low) - aimFair; T_high = 0 - sum(Th_high); F_high = Fairness_Gini(N, Th_high) - aimFair; g_gradient_temp = gradient([T_low T T_high], precision); A_gradient_temp = gradient([F_low F F_high], precision); g(gradient_num) = g_gradient_temp(2); A(gradient_num) = A_gradient_temp(2); clear ww clear ww_for_gradient_low clear ww_for_gradient_highend
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -