يكشنبه, ۳ آذر ۱۳۹۸، ۱۱:۰۳ ق.ظ
نحوه ساخت یک محیط شبکه و توزیع نودها در آن
در کد زیر شما با اعمال تنظیمات میتونید تعداد نود(nodNum)، چند ضعلی بودن محیط شبکه (side)، رنگ بندی('r*') ، طول عرض محیط شبکه یا ناحیه شبکه(width و..) جهت گیری محیط شبکه(ph) را تغییر دهید، با این وجود اگر net.side را به 3، 5 و... تغییر بدهید، تعدادی از نودها در خارج از شبکه قرار میگیرند، برای حل این مشکل از تابع دیوایدر و یک الگوریتم ابتکاری می تونید استفاده کنید که در پستهای بعدی در مورد ان شرح خواهم داد...
%% clear commands delete(allchild(0));close all; clear; clc; %% path commands file=matlab.desktop.editor.getActive; try fileDetail=dir(file.Filename); folderName=fileDetail.folder; catch index=strfind( file.Filename,'\'); folderName=file.Filename(1:index(end)-1); end paths=genpath(folderName); addpath(paths); cd(folderName); %% net building and initialization net=[]; net.width=100; net.length=100; net.side=4; net.nodNum=200; ph=pi/net.side; t=linspace(0,2,net.side+1); x=sin(pi*t+ph); x=(((x-min(x))/(max(x)-min(x)))-0.5)* net.length; y=-cos(pi*t+ph);y=(((y-min(y))/(max(y)-min(y)))-0.5)*net.width; plot(x,y,'-');hold on; for NInd=1:net.nodNum x=(rand-0.5)*net.length; y=(rand-0.5)*net.width; energy=0.5; plot( x,y,'r*');hold on; end
۹۸/۰۹/۰۳