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

歡迎光臨散文網(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ī)生成迷宮的評論 (共 條)

分享到微博請遵守國家法律
深泽县| 龙游县| 韶关市| 绥化市| 吴江市| 新绛县| 平利县| 宁化县| 五家渠市| 石河子市| 关岭| 晋中市| 色达县| 武夷山市| 拉萨市| 荥经县| 南乐县| 奉化市| 蓬安县| 延庆县| 海宁市| 永仁县| 湖口县| 夹江县| 舟曲县| 鸡东县| 英吉沙县| 吕梁市| 云霄县| 和平县| 旬邑县| 巍山| 方山县| 海安县| 盐边县| 开远市| 南木林县| 山丹县| 皮山县| 甘德县| 青铜峡市|