【问题标题】:Making Two Vectors Have The Same Number of Elements使两个向量具有相同数量的元素
【发布时间】:2014-02-10 14:26:25
【问题描述】:

标题说明了我遇到的问题。我有两个向量,t 代表时间,v 代表速度,我试图使它们具有相同的长度。这是我的脚本的一部分:

v= v(v<=P/F);

t = t(1:end - length(v));

我会解释我在做什么。我正在尝试删除大于 P/F 的 v 元素,这将改变向量 v 的长度;然后我想从向量 t 的末尾删除足够数量的元素,使 v 和 t 具有相同数量的元素。我觉得我已经接近正确了,但我只需要一点帮助

谢谢!

【问题讨论】:

  • 我想你的意思是t = t(1:length(v))
  • 插入不需要的峰值而不是删除然后压缩时间向量不是更有意义吗?物理上它不是最好的方式,你在做什么。

标签: matlab vector


【解决方案1】:

你就快到了,但你似乎迷失在了一个大脑迷宫中……它是这样完成的:

inds = v<=P/F;
v = v(inds);
t = t(inds);

【讨论】:

  • 所以inds代表满足条件P/F的元素个数;而 v(inds) 是 v 从 1 到 inds 的元素?
  • @Mack 'inds' 是一个向量,其中满足条件的为“1”,不满足条件的为“0”。它从“v”中选择满足您条件的所有元素。
  • @Mack:跳起来!使用真/假值向量进行索引称为逻辑索引。它基本上充当向量上的掩码;选择vt 的值,其中inds == true
猜你喜欢
  • 2018-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多