一个简单的MATLAB脚本——快速行进算法(FMM))

news2024/11/28 4:49:45

一个简单的MATLAB脚本——快速行进算法(FMM)

介绍快速行进算法(FMM)的简单MATLAB脚本,不到20行代码实现快速行进算法的运算结果,而且计算速度非常快。给了两个实例模型来说明计算结果。

文章目录

  • 一个简单的MATLAB脚本——快速行进算法(FMM)
    • 一、计算结果
      • 1.1 模型一
      • 1.2 模型二
    • 二、MATLAB代码

一、计算结果

1.1 模型一

在坐标(10,10)处设置一个源点。
在这里插入图片描述
在模型中心设置一个大小为20X20的障碍体。
在这里插入图片描述
得到快速行进算法计算得到的区域。
在这里插入图片描述
将障碍体的值由0改为0.2。
在这里插入图片描述
重新快速行进算法计算。
在这里插入图片描述

1.2 模型二

这个模型与模型一相同,只是源点的位置为(10,10)改为(50,10),其他内容均不变。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、MATLAB代码

模型一对应的MATLAB代码:

set(gcf,'rend','z');

A=inf*ones(100,100);
U=inf*ones(100,100);

A(10,10)=1;
U(10,10)=1;

B=fmm2d(A);
plt(B,50)
pause

F=ones(100,100);
F(40:60,40:60)=0;
plt(F)
pause

[B,U]=fmm2d(A,U,F);
B(isinf(B))=nan;
plt(B,50)
pause

F=ones(100,100);
F(40:60,40:60)=0.2;
plt(F)
pause

[B,U]=fmm2d(A,U,F);
plt(B,50)
pause

模型二对应的MATLAB代码

close all
clear 
clc

set(gcf,'rend','z');

A=inf*ones(100,100);
U=inf*ones(100,100);

A(50,10)=0;
U(50,10)=0;

B=fmm2d(A);
plt(B,50)
pause

F=ones(100,100);
F(40:60,40:60)=0;
plt(F)
pause

[B,U]=fmm2d(A,U,F);
% B(isinf(B))=nan;
plt(B,50)
pause

F=ones(100,100);
F(40:60,40:60)=0.1;
plt(F)
pause

[B,U]=fmm2d(A,U,F);
plt(B,50)
pause

具体代码我已打包成文件夹,在我的资源中下载即可。

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

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

相关文章

unicloud生成微信小程序分享码

一,方案 看了官方的文档,获取小程序码有三种,我采用的是第二种:生成数量不受限制的分享码。 对应的官方文档:https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/qrcode-link/qr-code/getUnlimitedQRCode.…

MySQL 锁

在之前的文章有多次提到,MySQL在数据更新和性能优化上会用到锁机制。我们在实际的应用中也经常会遇到锁相关的问题,即使很多时候我们并没有人为的为数据库添加锁,但还是会出现死锁的问题,这是因为在我们操作数据时MySQL隐式的帮我…

java UDP通信程序DatagramSocket数据发送

首先 我们先来了解一下 UDP 首先 他是一种不可靠的网络协议 他在通信的两端 各建立一个 Socke对象 但是他们只是 发送和接收数据的对象 发送端只管发送 不会顾及接收端是否接到 接收到只负责接收数据 而不会给出发送端反馈 因此对于UDP通信的双方而言 是有没什么 客户端和服务…

架构师进阶,微服务设计与治理的 16 条常用原则

今天将从存储的上一层「服务维度」学习架构师的第二项常用能力 —— 微服务设计与治理。 如何设计合理的微服务架构? 如何保持微服务健康运行? 这是我们对微服务进行架构设计过程中非常关注的两个问题。 本文对微服务的生命周期定义了七个阶段&#xf…

正大国际期货:为什么外盘期货顺势交易这么难

要回答“为什么趋势交易这么难?”需要先回答:“为什么交易?”。 你应该为了抓住赚取期望利润的机会而交易,为了长期持续赚钱的目的而交易,而不是为了赚得短期利润的喜悦而交易,也不是为了证明你的市场分析…

音频转文字怎么转?这些方法值得一试

在日常生活中我们经常会遇到要把音频转换成文字的情况,很多小伙伴还在使用传统的方法,一边播放一边记录。虽然这样能解决问题,但是需要花费很多时间,效率特别低。我们不妨尝试使用一些转换软件,这样就能节省很多时间了…

界面组件Kendo UI for Angular——让应用数据显示更直观!(二)

Kendo UI致力于新的开发,来满足不断变化的需求,通过React框架的Kendo UI JavaScript封装来支持React Javascript框架。Kendo UI for Angular是专用于Angular开发的专业级Angular组件,telerik致力于提供纯粹的高性能Angular UI组件&#xff0c…

Word处理控件Aspose.Words功能演示:在 Java 中将 Word DOCX 转换为 Markdown

如今,Markdown ( MD ) 格式被广泛用于编写在线文章、博客和文档。但是,在大型文档的情况下,它的语法变得难以记忆和书写。为方便起见,您可以在 MS Word 中编写内容,然后将DOCX文件转换为 Markdown。为了以编程方式执行…

nacos--基础--5.2.2--集成--SpringCloud--服务注册,发现,负载均衡

nacos–基础–5.2.2–集成–SpringCloud–服务注册,发现,负载均衡 代码位置 https://gitee.com/DanShenGuiZu/learnDemo/tree/master/nacos-learn1、介绍 服务发现客户端 从服务发现中心获取服务列表服务消费 通过负载均衡获取服务地址 2、添加依赖 …

jdk安装配置教程2022年12月最新版

这两天配了好几遍jdk,删了又下下了又删,总结一下,也算有点收获 1. 下载:官网Java Downloads | Oracle jdk1.8在下面,上面是最新的jdk17和jdk19 2.下载完成后,一路安装解压(我撞在了C盘&#…

IfcOpenShell简明教程【BIM】

IFC 是用于存储 BIM 数据的 ISO 标准格式。 IfcOpenShell 是一个包含 Python 库的项目,可以用来解析 IFC 文件。 1、下载安装IfcOpenShell 首先,我们需要下载并安装 IfcOpenShell python。 目前没有 IfcOpenShell 的 API 文档,但考虑到它主…

Vector源码解析

Vector源码解析 简介 Vector 是一个古老的 线程安全(内部的核心方法都加了synchronized) 的容器,在 JDK1.0 时就已经存在,到如今已经很少使用。 基本结构与 ArrayList 类似,可以认为是线程安全版本的 ArrayList,但因为 Vector …

BCN-PEG-FITC 环丙烷环辛炔聚乙二醇荧光素 BCN-PEG-荧光素

双环[6,1,0]壬炔 (BCN) (环丙烷环辛炔)可以通过无铜的点击化学与叠氮化物标记的分子或生物分子反应生成稳定的三氮唑连接。 产品名称 BCN-PEG-FITC 环丙烷环辛炔聚乙二醇荧光素 中文名称 环丙烷环辛炔聚乙二醇荧光素 英文名称 BCN-PEG-FITC 分子…

基于Android的二维码识别系统的研究 与实现

XXXX 本科生毕业设计(论文) 学院(系): XX 专 业: XX 学 生: XX 指导教师: XX XX 完成日期 年 月 XXX本科生毕业设计(论文) 基于Android的二维码识别系统的研究 与实现 Research and Implementati…

防重放、防篡改攻击的实现(Java版)

文章目录一、问题描述1、什么是重放攻击、篡改攻击?2、如何模拟重放攻击、篡改攻击?2.1、重放攻击模拟方式2.2、篡改攻击模拟方式二、解决方案三、在项目中使用1、项目简介2、项目实践一、问题描述 1、什么是重放攻击、篡改攻击? 1、重放攻击…

【SSM框架】为集合类型属性赋值

🍓个人主页:个人主页 🍒系列专栏:SSM框架 目录 1.为集合类型属性赋值 ①为List集合类型属性赋值 ②为Map集合类型属性赋值 2.p命名空间 3.引入外部属性文件 1.为集合类型属性赋值 ①为List集合类型属性赋值 在Clazz类中添加…

中国三大主流开源Linux操作系统社区及其产品生态

作者:IT圈黎俊杰 操作系统是基础软件的核心,是科技研发必备的底层支撑产品,它的核心技术至今仍然由美国为代表的西方国家所掌控着。由于以前国产操作系统产业长期处于“多、小、散”的状态,未能建立起完善的生态、未能研发出真正好…

python笔记(一)

文章目录字节对象与字符转换动态爬虫实施辅助工具python 部分内置方法示例:python虚拟环境的创建与激活执行多个.py程序获取当前系统默认浏览器名称反编译小程序PC端小程序(wxapkg)解密:反编译字节对象与字符转换 data1 babc # …

计算机系统实验-BombLab

一.实验题目及目的 1.实验题目 程序运行在linux环境中。程序运行中有6个关卡(6个phase),每个phase需要用户在终端上输入特定的字符或者数字才能通关,否则将会引爆炸弹。需要通过分析汇编代码,使用gdb调试等方式找到正…

oracle入门-19c 安装详细教程

我们知道学习一门技术,第一件事情就是搭建对应的环境。本教程将详细教大家如何安装oracle。 目录一、虚拟机创建二、挂载镜像、安装及系统配置三、 软件包传输四、数据库安装五、 图形化向导建库一、虚拟机创建 处理器数量根据自己的机器配置进行调整(4 …