?? goss_w.m
字號:
% 高斯分布的累積分部函數,及其演化而來的 w調整函數
%%%%%%%% w高斯分布累積函數調節 %%%%%%%%%%
% function y = Goss_w(iter,iter_max)
clear;clc;
iter_max = 1000;
r = iter_max/10;
% k=1; u = 0.25; %高斯分布參數調節;
k1 = 0.4; k2 = 0.4; u1 = 0.6; u2 = 0.2; %分段高斯分布參數調節;
myfun = @(t)exp( -(t-iter_max/4).^2/(2*r^2) );
%%%%%%% 測試高斯分布 %%%%%%%%
% for iter = 1:iter_max
% y(iter) = k*( 1/( r*sqrt(2*pi) ) * quad( myfun,iter,10000 ) )+ u;
% end
% plot(y); grid on; title('高斯分布');
%%%%%%% 測試包含高斯分布的分段曲線 %%%%%%%%
for iter = 1:iter_max
if iter < iter_max*0.5
y(iter) = k1*( 1/( r*sqrt(2*pi) ) * quad( myfun,iter,10000 ) )+ u1;
end
if iter_max*0.5 <= iter
y(iter) = k2*( 1/( r*sqrt(2*pi) ) * quad( myfun,(iter-iter_max*0.5),10000 ) )+ u2;
end
end
plot(y); grid on; title('分段高斯分布');
%%%%%%%%%% 線性分段曲線測試 %%%%%%%%%%%
% k1 = 0.1;k2=0.8;
% for iter = 1:iter_max
% if iter < iter_max*k1
% y(iter) = 1 - (1-0.7)*iter /(iter_max*k1);
% end
% if iter_max*k1<= iter & iter <= iter_max*k2
% y(iter) = 0.7 - (0.7-0.5)*(iter-iter_max*k1) /(iter_max*(k2-k1));
% end
% if iter_max*k2 < iter
% y(iter) = 0.5 - (0.5-0.2)*(iter-iter_max*k2) /(iter_max*(1-k2));
% end
% end
% plot(y); grid on;;xlabel('迭代次數');ylabel('慣性權重 ω'); title('線性分段分布');
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -