يكشنبه, ۳ آذر ۱۳۹۸، ۱۱:۰۳ ق.ظ
نحوه ساخت یک محیط شبکه و توزیع نودها در آن
در کد زیر شما با اعمال تنظیمات میتونید تعداد نود(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

۹۸/۰۹/۰۳