现在建设一个网站还能够赚钱吗做网站必须要有数据库

张小明 2026/1/5 13:20:35
现在建设一个网站还能够赚钱吗,做网站必须要有数据库,最新版wordpress,设计本笔记本6.基于改进A*算法的机器人路径规划MATLAB仿真程序#xff08;含注释) 改进方法: 1、8个搜索方向变5个 2、冗余节点的删除 3、对评价函数f(n)进行改进 代码拿来可以直接用。在机器人路径规划领域#xff0c;A算法一直是经典且应用广泛的方法。不过#xff0c;为了让算法更加高…6.基于改进A*算法的机器人路径规划MATLAB仿真程序含注释) 改进方法: 1、8个搜索方向变5个 2、冗余节点的删除 3、对评价函数f(n)进行改进 代码拿来可以直接用。在机器人路径规划领域A算法一直是经典且应用广泛的方法。不过为了让算法更加高效我们可以对其进行一些改进。今天就来聊聊基于改进A算法的机器人路径规划MATLAB仿真程序而且代码都带注释拿来就能用。改进方法剖析1. 搜索方向的精简从8个到5个传统A*算法一般使用8个搜索方向即上下左右以及四个对角线方向。但有时候这8个方向会带来一些不必要的计算量。我们改为5个方向分别是上、下、左、右以及右下方当然这个方向选择可以根据实际场景调整。这样能减少搜索空间提高算法效率。2. 冗余节点的删除在路径搜索过程中有些节点其实对最终路径没有实质性影响这些就是冗余节点。识别并删除它们能进一步优化算法。比如在一些连续且无障碍的区域中间的节点就可以被精简。3. 评价函数f(n)的改进经典A*算法的评价函数$f(n) g(n) h(n)$其中$g(n)$是从起点到节点$n$的实际代价$h(n)$是从节点$n$到目标点的估计代价。改进时可以根据具体场景调整$g(n)$和$h(n)$的权重或者采用更精准的$h(n)$计算方式让算法能更智能地选择路径。MATLAB代码实战% 定义地图1表示障碍物0表示可通行区域 map [0 0 0 0 0; 0 1 0 1 0; 0 0 0 0 0; 0 1 0 1 0; 0 0 0 0 0]; start [1, 1]; % 起点坐标 goal [5, 5]; % 目标点坐标 % 初始化 openList []; closedList []; cameFrom []; gScore inf(size(map)); gScore(start(1), start(2)) 0; fScore inf(size(map)); fScore(start(1), start(2)) heuristic(start, goal); % 将起点加入openList openList [openList; start]; while ~isempty(openList) % 找到openList中fScore最小的节点 [~, minIndex] min(fScore(sub2ind(size(map), openList(:, 1), openList(:, 2)))); current openList(minIndex, :); if isequal(current, goal) % 找到路径回溯 path reconstructPath(cameFrom, current); break; end openList(minIndex, :) []; closedList [closedList; current]; % 这里体现了5个搜索方向的邻居节点查找 neighbors getNeighbors(current, map); for i 1:size(neighbors, 1) neighbor neighbors(i, :); tentativeGScore gScore(current(1), current(2)) 1; % 这里简单设置移动代价为1 if ismember(neighbor, closedList, rows) tentativeGScore gScore(neighbor(1), neighbor(2)) continue; end if ~ismember(neighbor, openList, rows) || tentativeGScore gScore(neighbor(1), neighbor(2)) cameFrom [cameFrom; current neighbor]; % 记录该节点来自哪个节点 gScore(neighbor(1), neighbor(2)) tentativeGScore; fScore(neighbor(1), neighbor(2)) tentativeGScore heuristic(neighbor, goal); if ~ismember(neighbor, openList, rows) openList [openList; neighbor]; end end end end % 绘制地图和路径 figure; imagesc(map); colormap(gray); hold on; for i 1:size(path, 1) plot(path(i, 2), path(i, 1), ro, MarkerFaceColor, r); end plot(start(2), start(1), go, MarkerFaceColor, g); plot(goal(2), goal(1), bo, MarkerFaceColor, b); hold off; % 计算启发函数h(n) function h heuristic(node, goal) h abs(node(1) - goal(1)) abs(node(2) - goal(2)); end % 获取邻居节点 function neighbors getNeighbors(node, map) rows size(map, 1); cols size(map, 2); neighbors []; % 上 if node(1) 1 map(node(1)-1, node(2)) 0 neighbors [neighbors; node(1)-1, node(2)]; end % 下 if node(1) rows map(node(1)1, node(2)) 0 neighbors [neighbors; node(1)1, node(2)]; end % 左 if node(2) 1 map(node(1), node(2)-1) 0 neighbors [neighbors; node(1), node(2)-1]; end % 右 if node(2) cols map(node(1), node(2)1) 0 neighbors [neighbors; node(1), node(2)1]; end % 右下方 if node(1) rows node(2) cols map(node(1)1, node(2)1) 0 neighbors [neighbors; node(1)1, node(2)1]; end end % 回溯路径 function path reconstructPath(cameFrom, current) path current; while ~isempty(cameFrom) any(any(cameFrom(:, 3:4) current, 2)) index find(all(cameFrom(:, 3:4) current, 2), 1); current cameFrom(index, 1:2); path [current; path]; end end代码分析地图和起点终点定义首先我们定义了一个简单的二维地图用0和1表示可通行区域和障碍物。同时设置了起点和目标点的坐标。初始化部分这里初始化了openList存放待评估节点、closedList存放已评估节点、cameFrom记录节点的前驱节点、gScore实际代价和fScore评估代价。将起点加入openList并计算起点的fScore。主循环在while循环中不断从openList中取出fScore最小的节点进行评估。如果该节点是目标点则通过回溯找到路径并结束循环。否则将该节点从openList移除加入closedList然后查找它的邻居节点。这里通过getNeighbors函数体现了5个搜索方向的查找。邻居节点处理对于每个邻居节点计算从起点到该邻居节点的暂定实际代价tentativeGScore。如果邻居节点在closedList中且暂定代价不小于已有代价则跳过。否则更新节点的相关信息如前驱节点、gScore和fScore并将其加入openList。绘制部分最后使用MATLAB的绘图函数将地图、起点、目标点以及找到的路径绘制出来直观展示路径规划结果。通过这些改进和代码实现我们能让机器人路径规划在特定场景下更加高效和精准。希望大家能从这个基于改进A*算法的MATLAB仿真程序中获得启发在自己的项目中灵活运用。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站建设公司哪家好智搜宝服务器怎么安装WordPress

在IPTV观看体验中,最令人头疼的就是播放列表中大量频道无法正常观看。面对成百上千的频道,手动一个个测试既耗时又费力。现在,有了iptv-checker这款专业工具,你可以在几分钟内完成整个播放列表的可用性检测。 【免费下载链接】ipt…

张小明 2026/1/4 3:24:38 网站建设

做网站都有什么项目缆信网络有限公司

Android开发:地图控制、位置获取与多媒体播放 1. 地图菜单控制 在Android应用中,我们可以通过菜单来控制地图的显示和操作。以下是一个示例代码,展示了如何通过菜单实现地图的缩放、切换卫星视图、街道视图、交通视图以及显示工作列表等功能: case 1:// Zoom outzoomOu…

张小明 2026/1/4 5:04:05 网站建设

汕头各类免费建站高中生做网站

BPF 流量控制分类器详解 1. 流量控制概述 流量控制(Traffic Control)是内核数据包调度子系统架构,由机制和排队系统组成,可决定数据包的流动方式和接收情况。其常见用例包括: - 对特定类型的数据包进行优先级排序。 - 丢弃特定类型的数据包。 - 带宽分配。 当需要在…

张小明 2026/1/3 22:02:05 网站建设

11网站建设waocc做投融资平台的网站都有哪些?

EmotiVoice语音合成延迟优化方案:GPU推理加速实战 在智能客服、虚拟偶像和互动游戏日益普及的今天,用户对语音交互的期待早已超越“能听清”,转向“有情感”“像真人”。然而,许多文本转语音(TTS)系统在实际…

张小明 2026/1/4 5:03:47 网站建设

网站访问人数代码黄冈app下载推广价格

RPCS3模拟器中文补丁完美安装教程:轻松实现PS3游戏汉化体验 【免费下载链接】rpcs3 PS3 emulator/debugger 项目地址: https://gitcode.com/GitHub_Trending/rp/rpcs3 想要在PC上畅玩中文版的PS3经典游戏吗?RPCS3模拟器通过其强大的补丁系统&…

张小明 2026/1/5 3:04:46 网站建设