最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

MATLAB小程序,隨機(jī)生成迷宮

2023-03-27 14:17 作者:量子光子  | 我要投稿

以下是一個有趣的MATLAB小程序,它可以繪制出一個隨機(jī)生成的迷宮,然后使用深度優(yōu)先搜索算法來尋找從起點(diǎn)到終點(diǎn)的路徑。您可以將該程序作為起點(diǎn),并根據(jù)自己的興趣和技能水平進(jìn)行修改和擴(kuò)展。


% 生成迷宮

M = zeros(20,20);

for i = 1:20

? ? for j = 1:20

? ? ? ? if rand < 0.3

? ? ? ? ? ? M(i,j) = 1;

? ? ? ? end

? ? end

end


% 繪制迷宮

figure;

imagesc(M);

colormap(gray);

axis equal;

axis off;


% 深度優(yōu)先搜索算法尋找路徑

visited = zeros(20,20);

stack = [1,1];

path = [];

while ~isempty(stack)

? ? current = stack(end,:);

? ? stack(end,:) = [];

? ? if current(1) == 20 && current(2) == 20

? ? ? ? path = [path;current];

? ? ? ? break;

? ? end

? ? if visited(current(1),current(2)) == 0 && M(current(1),current(2)) == 0

? ? ? ? visited(current(1),current(2)) = 1;

? ? ? ? path = [path;current];

? ? ? ? neighbors = [current(1)-1,current(2);current(1),current(2)-1;? ? ? ? ? ? current(1)+1,current(2);current(1),current(2)+1];

? ? ? ? for i = 1:size(neighbors,1)

? ? ? ? ? ? if neighbors(i,1) >= 1 && neighbors(i,1) <= 20 && neighbors(i,2) >= 1 && neighbors(i,2) <= 20

? ? ? ? ? ? ? ? if visited(neighbors(i,1),neighbors(i,2)) == 0

? ? ? ? ? ? ? ? ? ? stack = [stack;neighbors(i,:)];

? ? ? ? ? ? ? ? end

? ? ? ? ? ? end

? ? ? ? end

? ? end

end


% 繪制路徑

hold on;

for i = 1:size(path,1)-1

? ? plot([path(i,2),path(i+1,2)],[path(i,1),path(i+1,1)],'r','LineWidth',2);

end

該程序生成一個隨機(jī)的20x20迷宮,然后使用深度優(yōu)先搜索算法尋找從左上角到右下角的路徑,并將路徑繪制為紅色線條。運(yùn)行程序時,您可以多次嘗試,以便獲得不同的迷宮和路徑。

MATLAB小程序,隨機(jī)生成迷宮的評論 (共 條)

分享到微博請遵守國家法律
宝清县| 五大连池市| 永福县| 阿城市| 亳州市| 成武县| 红桥区| 肥乡县| 楚雄市| 五原县| 尤溪县| 雅安市| 昆明市| 旅游| 锡林郭勒盟| 奉贤区| 沁阳市| 西乡县| 咸宁市| 苏尼特左旗| 湘乡市| 封丘县| 崇文区| 英吉沙县| 彰化市| 沙洋县| 石阡县| 博爱县| 拜城县| 宣城市| 金湖县| 都匀市| 峨边| 新闻| 尼玛县| 敦化市| 英吉沙县| 浠水县| 太和县| 阿荣旗| 朔州市|