Levy flight軌跡 matlab實現


之前研究布谷鳥算法,一直在找levy飛行軌跡代碼實現,一直沒找到就自己寫了一個

x = [0,0];
y = [0,0];
beta = 3/2;
alpha_u = ((gamma(1+beta)*sin(pi*beta/2)/(gamma((1+beta)/2)*beta*2^((beta-1)/2))))^(1/beta);
alpha_v = 1;
for i=1:1000
    u = alpha_u*randn(1);
    v = alpha_v*randn(1);
    s = u/(abs(v))^(1/beta);
    x(:,1) = x(:,2);
    x(:,2) = x(:,1)+1*s;
    u = alpha_u*randn(1);
    v = alpha_v*randn(1);
    s = u/(abs(v))^(1/beta);
    y(:,1) = y(:,2);
    y(:,2) = y(:,1)+1*s;
    plot(x,y);
    hold on;
end
axis square;

    迭代1000次運行結果:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM