【数学建模】虫子追击问题(仿真)

已知

  1. 有四个虫子,分别是 A , B , C , D A,B,C,D A,B,C,D
  2. A , B , C , D A,B,C,D A,B,C,D分别在 ( 0 , 0 ) , ( 0 , 1 ) , ( 1 , 1 ) , ( 1 , 0 ) (0,0),(0,1),(1,1),(1,0) (0,0),(0,1),(1,1),(1,0)
  3. 四个虫子A追B,B追C,C追D,D追A
  4. 四个速度相同

需要研究的问题

  • 问题1:虫子追逐轨迹图

问题1:虫子追逐轨迹图

建立追击模型:
设在 t t t时刻时候,虫子 A ( x a , y a ) A(x_a,y_a) A(xa,ya)追虫子 B ( x b , y b ) B(x_b,y_b) B(xb,yb),求下一时刻 t + Δ t t+\varDelta t t+Δt时候虫子 A A A的坐标 ( x , y ) (x,y) (x,y)
连接 A , B A,B A,B两点,可以求出运动方向(角度),利用运动方向求下一刻坐标

{ cos ⁡ α = ( x b − x a ) / ( x b − x a ) 2 + ( y b − y a ) 2 sin ⁡ α = ( y b − y a ) / ( x b − x a ) 2 + ( y b − y a ) 2 \begin{cases} \cos{ \alpha = (x_b-x_a)/ \sqrt{(x_b-x_a)^2+(y_b-y_a)^2}}\\ \sin{ \alpha = (y_b-y_a)/ \sqrt{(x_b-x_a)^2+(y_b-y_a)^2}} \end{cases} {cosα=(xbxa)/(xbxa)2+(ybya)2 sinα=(ybya)/(xbxa)2+(ybya)2

{ cos ⁡ α = ( x − x a ) / ( x − x a ) 2 + ( y − y a ) 2 sin ⁡ α = ( y − y a ) / ( x − x a ) 2 + ( y − y a ) 2 \begin{cases} \cos{ \alpha = (x-x_a)/ \sqrt{(x-x_a)^2+(y-y_a)^2}}\\ \sin{ \alpha = (y-y_a)/ \sqrt{(x-x_a)^2+(y-y_a)^2}} \end{cases} {cosα=(xxa)/(xxa)2+(yya)2 sinα=(yya)/(xxa)2+(yya)2
按照物理模型
{ x = x a + c o s ( α ) ∗ Δ t ∗ v y = y a + s i n ( α ) ∗ Δ t ∗ v \begin{cases} x = x_a + cos(\alpha)*\varDelta t*v \\ y = y_a + sin(\alpha)*\varDelta t*v \end{cases} {x=xa+cos(α)Δtvy=ya+sin(α)Δtv

速度相同,消除速度得到最终模型
{ x = x a + ( x b − x a ) / ( x b − x a ) 2 + ( y b − y a ) 2 ∗ Δ t y = y a + ( y b − y a ) / ( x b − x a ) 2 + ( y b − y a ) 2 ∗ Δ t \begin{cases} x = x_a + (x_b-x_a)/ \sqrt{(x_b-x_a)^2+(y_b-y_a)^2}*\varDelta t \\ y = y_a + (y_b-y_a)/ \sqrt{(x_b-x_a)^2+(y_b-y_a)^2}*\varDelta t \end{cases} {x=xa+(xbxa)/(xbxa)2+(ybya)2 Δty=ya+(ybya)/(xbxa)2+(ybya)2 Δt

MATLAB:

x = [0,0,1,1];
y = [0,1,1,0];
detat = 0.001;%Δt
round = 0:pi/180:2*pi;
xlim([0,1]);
ylim([0,1]); 
hold on;
for i= 1:4plot(x(i),y(i));
end
flag = false;
for t=1:0.1:200for i= 1:4j = mod(i,4)+1;x(i) = x(i) + (x(j)-x(i))/sqrt((x(j)-x(i))^2+(y(j)-y(i))^2)*detat;y(i) = y(i) + (y(j)-y(i))/sqrt((x(j)-x(i))^2+(y(j)-y(i))^2)*detat;plot(x(i)+ 0.01*cos(round),y(i)+ 0.01*sin(round));if sqrt((x(j)-x(i))^2+(y(j)-y(i))^2)<=0.001%判断碰撞flag = true;break;endendif flagbreak;end
end

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《计算思维导论》笔记:《第10章 数据化思维-数据聚集与管理》计算思维第17讲-从表的管理看数据库

《大学计算机—计算思维导论》&#xff08;战德臣 哈尔滨工业大学&#xff09; 《计算思维第17讲-从表的管理看数据库----结构化与非结构化数据管理》 一、引言 今天我们从表的管理看数据库&#xff0c;给大家讲一下结构化与非结构化数据管理的思维。 二、为什么需要数据库–工…

机器学习(二)之监督学习

前言&#xff1a; 上一节大概讲解了几种学习方式&#xff0c;下面几张就具体来讲讲监督学习的几种算法。 以下示例中和都是权重的意思&#xff01;&#xff01;&#xff01; 注&#xff1a;本文如有错误之处&#xff0c;还请读者指出&#xff0c;欢迎评论区探讨&#xff01; 1…

Matlab进阶绘图第51期—带填充等高线的三维特征渲染散点图

带填充等高线的三维特征渲染散点图是填充等高线图与特征渲染三维散点图的组合。 其中&#xff0c;填充等高线图与特征渲染的三维散点图的颜色用于表示同一个特征。 由于填充等高线图无遮挡但不直观&#xff0c;特征渲染的三维散点图直观但有遮挡&#xff0c;而将二者组合&…

Python | Leetcode Python题解之第44题通配符匹配

题目&#xff1a; 题解&#xff1a; class Solution:def isMatch(self, s: str, p: str) -> bool:def allStars(st: str, left: int, right: int) -> bool:return all(st[i] * for i in range(left, right))def charMatch(u: str, v: str) -> bool:return u v or v…

【Hadoop】- MapReduce YARN 初体验[9]

目录 提交MapReduce程序至YARN运行 1、提交wordcount示例程序 1.1、先准备words.txt文件上传到hdfs&#xff0c;文件内容如下&#xff1a; 1.2、在hdfs中创建两个文件夹&#xff0c;分别为/input、/output 1.3、将创建好的words.txt文件上传到hdfs中/input 1.4、提交MapR…

XYK欺诈检测简介

1. 背景 用30w左右的信用卡欺诈数据集测试下IF&#xff0c;看看每个参数的选择对最后结果的影响。信用卡欺诈是指故意使用伪造、作废的信用卡&#xff0c;冒用他人的信用卡骗取财物&#xff0c;或用本人信用卡进行恶意透支的行为&#xff0c;信用卡欺诈形式分为3种&#xff1a;…

开源协议的对比和商业上的安全使用

开源协议的对比和商业上的安全使用 开源组件是&#xff1a;“任何人都可以自由使用、更改和共享&#xff08;以修改或未修改的形式&#xff09;的软件”。当今企业依靠开源来加速开发、降低成本和推动创新。对开放源码的糟糕管理可能会使组织面临安全、法律和操作风险。 使用…

Python-VBA函数之旅-hash函数

目录 一、hash函数的定义&#xff1a; 二、hash函数的工作方式&#xff1a; ​三、hash函数的优缺点&#xff1a; 四、hash函数的常见应用场景&#xff1a; 1、hash函数&#xff1a; 1-1、Python&#xff1a; 1-2、VBA&#xff1a; 2、推荐阅读&#xff1a; 个人主页&…

VTC视频时序控制器原理以及Verilog实现

文章目录 一、前言二、视频时序控制原理三、Verilog实现3.1 代码3.2 仿真以及分析 一、前言 VTC&#xff08;Video Timing Controller&#xff09;是一种用于产生视频时序的控制器&#xff0c;在FPGA图像领域经常用到。Xilinx Vivado 也有专门用于生成视频时序的 IP&#xff0c…

【GlobalMapper精品教程】076:基于高程和影像数据创建电子沙盘(真实三维地形)

影像与数字高程模型叠加,可以构建三维真是地形。本文讲解在Globalmapper中基于高程和影像数据创建电子沙盘(真实三维地形)。 文章目录 一、加载数据二、创建三维网格三、三维叠加显示一、加载数据 本实验的数据(配套实验数据资料包中的data076.rar,订阅专栏,获取全文及数…

Java -- (part16)

一.多线程基础知识 1.进程:在内存中执行的应用程序 2.线程:进程中的一个最小的执行单元 3.并行:在同一时刻,有多个指令在多个CPU上同时执行 4.并发:在同一时刻,有多个指令在单个CPU上交替执行 5.CPU调度 a.分时调度 b.抢占式调度:Java程序 6.主线程:CPU和内存之间开辟的…

MyBatis 核心配置讲解(上)

大家好&#xff0c;我是王有志&#xff0c;一个分享硬核 Java 技术的互金摸鱼侠。 前两篇的文章中我们分别介绍了 MyBatis 和 MyBaits 的应用组成&#xff0c;到这里基础篇的内容就结束了。 从今天开始&#xff0c;我们正式进入 MyBatis 学习的第二阶段&#xff1a;MyBatis 的…