[已解决] 如何实现节点的移动?

[复制链接]
李子结果 发表于 2021-4-7 16:37:13
大家好,问题如下:
在3维的环境中,节点在垂直方向上移动,每隔10m发送一个包含自己坐标的信号,我该如何模拟这种移动性?我目前的解决方法是每隔10m就存储一个自身坐标,认为它移动了,后面用到的时候再去判断用的是哪个坐标。各位有什么更好的方法吗?

最佳答案


gywxd 发表于 2021-4-7 16:50:32
弄个矩阵存结点高度数据, 一个多个结点都行。
每个循环 整个矩阵加 10  相当于这些结点升高了10米
如果各个节点速度不一样
就弄成  结点号  高度, 速度     A(n*3)  n个结点,第一列 结点号,第二列 高度,第三列 速度
每个循环间隔时间T
A(:,2)=A( :,2)+A(:,3)*T
这样就ok了,无论多少结点,速度是否一样 都可以处理
然后判断 第二列,输出信号
回复此楼

4 条回复


gywxd 发表于 2021-4-7 16:50:32
弄个矩阵存结点高度数据, 一个多个结点都行。
每个循环 整个矩阵加 10  相当于这些结点升高了10米
如果各个节点速度不一样
就弄成  结点号  高度, 速度     A(n*3)  n个结点,第一列 结点号,第二列 高度,第三列 速度
每个循环间隔时间T
A(:,2)=A( :,2)+A(:,3)*T
这样就ok了,无论多少结点,速度是否一样 都可以处理
然后判断 第二列,输出信号
回复此楼

李子结果 发表于 前天 09:21
gywxd 发表于 2021-4-7 16:50
弄个矩阵存结点高度数据, 一个多个结点都行。
每个循环 整个矩阵加 10  相当于这些结点升高了10米
如果各 ...

你好,我现在又想到一个新问题:在仿真过程中,时间T是调用系统时钟得到,比如MATLAB中与时间相关的函数,还是说直接for T=1:100?

gywxd 发表于 前天 09:31
李子结果 发表于 2021-4-19 09:21
你好,我现在又想到一个新问题:在仿真过程中,时间T是调用系统时钟得到,比如MATLAB中与时间相关的函数 ...

看你的需要,仿真某种意义上是逻辑性的仿真,并不具备实时性,所以 用 for  还是用datetime 函数获取时间都无所谓。每次for 循环 你可以成1秒 也可以看成10秒,只要你的循环中计算部分的 间隔计算量和你的定义时间差一致就行。  而且获取时间函数运算的时候很难精确获取

李子结果 发表于 昨天 20:51
gywxd 发表于 2021-4-19 09:31
看你的需要,仿真某种意义上是逻辑性的仿真,并不具备实时性,所以 用 for  还是用datetime 函数获取时间 ...

好的,明白了,谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
热门教程
站长推荐
快速回复 返回顶部 返回列表