结合离散值来确定位移的绝对值

4视图(30天)
我有一个速度数据集(存储在700 x 1双),我想要的总位移(我不想总位移。总位移,任何负面位移我会翻转它积极的值)。通常,我会再次使用cumtrapz获得位移,但是任何积极或消极的位移会彼此抵消。我不希望这样。
我知道速度曲线下的面积应该产生的总位移。最好的办法是什么代码,这样消极的区域被看作是积极的区域?请注意,我没有点是零(1 + 0.7,点2可能是-0.5,但它并没有一个离散点数据,显示0)。我不能简单地使y输出所有的绝对值,因为积分+ 0.7 + 0.5之间收益率不同面积比+ 0.7和-0.5。任何帮助将不胜感激。

接受的答案

约翰D 'Errico
约翰D 'Errico 2021年8月16日
编辑:约翰D 'Errico 2021年8月16日
  1. 找到任何连续两个点速度变化的迹象。
  2. 这样的一对,用(线性)之间的插值来定位时间的速度是零。
  3. 插入新的点0。
  4. 现在所有速度的绝对值在新扩展速度向量。
  5. 使用trapz或cumtrapz(根据需要)整合速度。
“大”问题分解成小的可以控制的。解决每一个,然后把它放在一起。一大问题被定义为任何问题对你来说太困难很容易解决。
4评论
约翰D 'Errico
约翰D 'Errico 2021年8月17日
编辑:约翰D 'Errico 2021年8月17日
我承认使用可能不明显。:),但是一旦你看到它,它应该是有意义的。
另一行代码,可能不是完全明显是插值一步。来自一条线段连接两个已知点,你知道线段穿过y = = 0。然后找到位置的轴段必须穿过轴。像我一样,画在纸上,写相应的方程,然后做一些代数。这个公式瀑布。事实上,这个公式适用于任何直线上的两个端点,只要线不水平。他们不需要在两端的轴,然后端点之间的交点不段。
我想我可以推导出公式,给出两点(x1, y1), (x2, y2)。这条线的方程可以追溯到一些古代的代数课上我必须:
信谊(x1, y1 x2 y2 x y
lineeq = (y - y1) = = (y2 - y1) / (x2-x1) * (x - x1)
lineeq =
xsol =解决(潜艇(lineeq, y, 0), x,“returnconditions”,真正的)
xsol =结构体字段:
x(1×1符号):参数:[1×0 sym]条件:[1×1 sym]
xsol.x
ans =
xsol.conditions
ans =
在这个解决方案中,我们看到我给的公式,以及要求y1 ~ = y2,否则线是水平的,从来没有穿过轴。

登录置评。

更多的答案(0)

类别

找到更多的在数值积分和微分帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!