Astar 算法(Matlab实现)

“在代码的海洋里,有无尽的知识等待你去发现。我就是那艘领航的船,带你乘风破浪,驶向代码的彼岸。

 💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现

💥1 概述

A*(A-star)算法是一种广泛应用于路径查找和图遍历的启发式搜索算法。它在许多领域都有应用,包括游戏开发、机器人导航、地图应用等。A* 算法结合了最佳优先搜索(Best-first search)和 Dijkstra 算法的优点,能够高效地找到从起点到终点的最短路径。A* 算法的核心思想是使用启发式函数来估计从当前节点到目标节点的距离,并以此作为优先级排序的依据。算法维护一个开放列表(open list),其中包含待处理的节点,以及一个关闭列表(closed list),其中包含已处理过的节点。算法通过不断选择开放列表中具有最低 f 值的节点进行扩展,直到找到目标节点为止。

📚2 运行结果

主函数部分代码:

%Example on the use of AStar Algorithm in an occupancy grid. 
clear
%%% Generating a MAP
%1 represent an object that the path cannot penetrate, zero is a free path
MAP=int8(zeros(128,140));
MAP(1:64,1)=1;
MAP(121,2)=1;
MAP(120,3:100)=1;
MAP(125:128,40:60)=1;
MAP(120:128,100:120)=1;
MAP(126,100:118)=0;
MAP(120:126,118)=0;
MAP(100:120,100)=1;
MAP(114:124,112:118)=0;
MAP(1,1:128)=1;
MAP(128,1:128)=1;
MAP(100,1:130)=1;
MAP(50,28:128)=1;
MAP(20:30,50)=1;
MAP(1:128,1)=1;
MAP(1:65,128)=1;
MAP(1,1:128)=1;
MAP(128,1:128)=1;
MAP(10,1:50)=1;
MAP(25,1:50)=1;
MAP(40,40:50)=1;
MAP(40,40:45)=1;
MAP(80,20:40)=1;
MAP(80:100,40)=1;
MAP(80:100,120)=1;
MAP(120:122,120:122)=1;
MAP(120:122,20:25)=1;
MAP(120:122,10:11)=1;
MAP(125:128,10:11)=1;
MAP(100:110,30:40)=1;
MAP(1:20,100:128)=1;
MAP(10:20,80:128)=1;
MAP(20:40,80:90)=1;
MAP(1:40,90:90)=1;
MAP(100:105,70:80)=1;


%Start Positions
StartX=15;
StartY=15;

% a=ASl
%Start Positions
% StartX=5;
% StartY=99;

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]王洋.基于动态五邻域搜索的改进Astar算法路径规划研究[J].中国新技术新产品,2024(07):1-4.DOI:10.13612/j.cnki.cntp.2024.07.018.

[2]林焰,张乔宇,楼建迪.基于网格归一化Astar算法的船舶管路布置[J/OL].上海交通大学学报:1-20[2024-08-26].https://doi.org/10.16183/j.cnki.jsjtu.2023.206.

🌈4 Matlab代码实现

图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值