matlab绘制栅格地图

news2024/11/23 19:31:46

学习了一下栅格地图在matlib中的表示方法,其实和很多都是差不多的。
参考
清除命令
% clc:清除命令窗口的内容,对工作环境中的全部变量无任何影响
% close all:关闭所有的Figure窗口
% clear all:清除工作空间的所有变量,函数,和MEX文件

clc
clear
close all
%% 构建颜色MAP图
cmap = [1 1 1; ...       % 1-白色-空地
    0 0 0; ...           % 2-黑色-静态障碍
    1 0 0; ...           % 3-红色-动态障碍
    1 1 0;...            % 4-黄色-起始点 
    1 0 1;...            % 5-品红-目标点
    0 1 0; ...           % 6-绿色-到目标点的规划路径   
    0 1 1];              % 7-青色-动态规划的路径

在这里插入图片描述

% 构建颜色MAP图
colormap(cmap);

color map函数:
将上面的分类创建成颜色,对于矩阵cmap来说,矩阵是通过从1开始的序列进行编号的:
cmap(1,2)表示第一行第二列。colormap将cmap存成了7种颜色。每一个颜色对应一个数值

%% 构建栅格地图场景
% 栅格界面大小:行数和列数
rows = 10;
cols = 10; 

% 定义栅格地图全域,并初始化空白区域
field = ones(rows, cols);

这个什么好说的,就是field是一个10*10的矩阵

% 障碍物区域
obsRate = 0.3;
obsNum = floor(rows*cols*obsRate);
obsIndex = randi([1,rows*cols],obsNum,1);
field(obsIndex) = 2;

这里稍微多一些,obsRate是障碍物比例,用floor来表示出:30?
obsIndex用randi表示,randi随机取1到100的30行1列的矩阵
filed是一个10*10的矩阵
filed(obsIndex)表示???

% 起始点和目标点
startPos = 2;
goalPos = rows*cols-2;
field(startPos) = 4;
field(goalPos) = 5;

%% 画栅格图
image(1.5,1.5,field);
#0.5也可以

grid on;
#打开grid

set(gca,‘gridline’,‘-’,‘gridcolor’,‘k’,‘linewidth’,2,‘GridAlpha’,0.5);
set(gca,‘xtick’,1:cols+1,‘ytick’,1:rows+1);
% set(gca)函数用处表示很大了,第一行调整了线框,第二行重新定义xy轴的刻度
% set(gca,’xtick’,[],’ytick’,[]) %同时去掉x轴和y轴的刻度
有他们:
在这里插入图片描述
没有他们:
在这里插入图片描述
感觉没有太多的区别

axis image;

总体代码如下:

% clc:清除命令窗口的内容,对工作环境中的全部变量无任何影响
% close:关闭当前的Figure窗口
% close all:关闭所有的Figure窗口
% clear:清除工作空间的所有变量
% clear all:清除工作空间的所有变量,函数,和MEX文件

clc
clear
close all

cmap = [1 1 1;
        0 0 0;
        1 0 0;
        1 1 0;
        1 0 1;
        0 1 0;
        0 1 1];

% 构建颜色MAP图
colormap(cmap);


%% 构建栅格地图场景
% 栅格界面大小:行数和列数
rows = 10;
cols = 10; 

% 定义栅格地图全域,并初始化空白区域
field = ones(rows, cols);

% 障碍物区域
obsRate = 0.3;
obsNum = floor(rows*cols*obsRate);
obsIndex = randi([1,rows*cols],obsNum,1);
field(obsIndex) = 2;

% 起始点和目标点
startPos = 2;
goalPos = rows*cols-2;
field(startPos) = 4;
field(goalPos) = 5;

%% 画栅格图
image(1.5,1.5,field);
grid on;
set(gca,'gridline','-','gridcolor','k','linewidth',2,'GridAlpha',0.5);
set(gca,'xtick',1:cols+1,'ytick',1:rows+1);
axis image;

注意,脚本名称不要是grid.m,会报错的grid on;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/702206.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

zookeeper之znode节点与acl权限设置

zookeeper之znode节点与acl权限设置 zookeeperznode节点节点类型节点属性节点监听 客户端命令行查看所有命令命令说明 acl权限设置scheme认证模型permission权限位acl相关命令ACL使用示例 客户端工具ZooInspectorPrettyZoo zookeeper ZooKeeper是Apache软件基金会的一个软件项目…

chatgpt赋能python:量化金融中的Python模型

量化金融中的Python模型 随着互联网的发展,金融行业也在不断地发生变化。量化金融是近年来崛起的一种新兴方式,它将数学、计算机科学和统计学等领域的理论和方法应用于金融领域中,以期望实现比传统投资更高的效益。其中,Python是…

计算机网络那些事之 MTU 篇 pt.2

哈喽大家好,我是咸鱼 在《计算机网络那些事之 MTU 篇 》中,咸鱼跟大家介绍了 MTU 是指数据链路层能够传输的最大数据帧的大小 如果发送的数据大于 MTU,则就会进行分片操作(Fragment);如果小于 MTU&#x…

$.each用法

看到$ 自然可以想到这是JQ的一个方法JQ each可以当成是数组的forEach 具体用法:需要注意函数第一项是索引,第二项才是具体的值

React Hooks的讲解与教程

什么是React Hooks React Hooks 是 React 16.8 新增的一种特性,它可以让你在函数式组件中使用 state、生命周期、context 等 React 特性。Hooks 可以让你将复杂的逻辑拆分成多个独立可重用的函数,并且使得这些函数更加易于理解和测试。 Class组件存在的问…

Java的模块(module)

简单介绍 Java的模块(module)是Java SE 9支持的组件。一个模块可以包含多个包。通过模块系统,更加容易开发和维护大型的系统。引入模块的目标: 提供一种可靠的配置机制。用模块机制替换脆弱的、容易出错的类路径配置机制。模块作…

物化视图功能验证

物化视图(Materialized View)和视图(View)类似,也是一个视图名字对应一个SQL查询查询语句。不同之处在于:物化视图定义时使用了额外的关键字materialized, 它把结果集保存在起来,查询的时候直接读取保存的结果集,而不必…

力扣单调栈专题 739. 每日温度 496.下一个更大元素I 503.下一个更大元素II 42. 接雨水 84.柱状图中最大的矩形 步骤及C++实现 总结

文章目录 739. 每日温度496.下一个更大元素 I503.下一个更大元素II方法一 数组拼接方法二 模拟遍历两边nums 42. 接雨水双指针 暴力法双指针优化单调栈 84.柱状图中最大的矩形暴力解法双指针解法单调栈 总结 739. 每日温度 暴力解法,双层for循环,时间复杂…

「完美解决」concrt140.dll丢失怎么恢复(解决方案)

我们平时在打开 Adobe 应用程序、Halo、Forza Horizon 5 等时,可能会遇到找不到 concrt140.dll。因此,这不是特定于某个应用程序的问题。如果没有安装正确的 DLL,应用程序将无法正常工作,因为它们的代码依赖于这些库中编写的代码。…

C++入门笔记--【精简完备】【快速入手】

目录 ​​​​​​​1 C初识 1.1 第一个C程序 1.1.1 创建项目 1.1.2 创建文件 1.1.3 编写代码 1.1.4 运行程序 1.2 注释 1.3 变量 1.4 常量 1.5 关键字 1.6 标识符命名规则 2 数据类型 2.1 整型 2.2 sizeof关键字 2.3 实型(浮点型) 2.4 字…

基于STM32单片机的大棚温度测控系统

目录 基于STM32单片机的大棚温度测控系统一、原理图二、部分代码三、视频演示 基于STM32单片机的大棚温度测控系统 功能: 1.通过LCD屏幕显示温湿度值和上限阈值 2.通过按键完成阈值加减功能 3.通过DHT11完成温湿度采集 4.若实时数据不满足条件,则进行降…

linux curl命令使用教程(curl指令)

文章目录 curl指令介绍curl的历史curl指令的安装Ubuntu/DebianCentOS/RHELFedoramacOSWindows curl使用方法示例使用curl命令注意事项 curl指令介绍 curl是一个用于发送HTTP请求的命令行工具,它支持多种协议,包括HTTP、HTTPS、FTP、SMTP等。curl可以用来…

人工智能:揭示未来科技所带来的革命性变革

目录 引言: 一、人工智能的定义与发展历程: 二、人工智能的应用领域: 三、人工智能对未来的影响: 结论: 引言: 在当今科技快速发展的时代,人工智能(Artificial Intelligence&am…

开展全媒体营销的具体步骤和策略

随着移动互联网的发展和智能手机的普及,网络营销的主战场从PC端向移动端转移,新型的全媒体营销就是在如此的背景下兴起且被广泛应用。全媒体营销强调的是通过多个平台和渠道传播信息,与目标受众进行全方位、多角度的沟通。 企业如何高效开展全…

1σ Random Jitter of SSB for TIE Period

1σ Random Jitter of SSB for TIE & Period ,该章节厘清了jitter基本概念,并给出了对应的表达式。

FineReport学习4

通过按钮控件来实现插入删除行 通过sql公式实现填报联动 设置插入行策略 通过sql实现控件联动

数据结构---------(2)排序

排序 1.选择排序 从待排序的数据中选择最小的元素,将其放在已排序的序列末尾,然后在剩余的数据中再选择最小的元素,放在已排序序列的末尾,以此类推,直到所有的数据都排好序为止。 public static void main(String[…

大数据分析案例-基于KMeans聚类算法对客户进行分群分析

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

【GESP】2023年03月图形化二级 -- 绘制图形

文章目录 绘制图形1. 准备工作2. 功能实现3. 设计思路与实现(1)角色、舞台背景设置a. 角色设置b. 舞台背景设置 (2)脚本编写a. 角色:小猫 4. 评分标准 绘制图形 1. 准备工作 (1) 隐藏默认角色小猫。 2. 功…