五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

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

分享到微博請遵守國家法律
宁南县| 宁阳县| 长葛市| 岳阳县| 咸丰县| 津南区| 偃师市| 武宁县| 舒兰市| 故城县| 久治县| 日土县| 小金县| 嘉禾县| 宁化县| 孟津县| 嘉黎县| 上思县| 建德市| 尉氏县| 南江县| 浦城县| 井冈山市| 登封市| 嫩江县| 新泰市| 丹江口市| 尉氏县| 洛宁县| 甘泉县| 桃江县| 天门市| 广宗县| 马龙县| 长沙县| 浏阳市| 湘乡市| 兴山县| 金坛市| 灌阳县| 伊川县|