从变量创建向量范围

阿拉里奇

我有两个向量,它们保存“起点”和“终点”的位置(作为逻辑),我希望将它们结合起来以创建第三个向量Final

Starts = [0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0];
Ends =   [0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0];

最终向量如下所示:

Final =  [0 0 0 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 0];

目前,我可以使用for循环来完成此操作,如下所示:

Start_Locations = find(Starts);
End_Locations = find(Ends);
Final = zeros(20,1);

for x=1:length(Start_Locations)

    Final(Start_Locations(x):End_Locations(x),1) = 1;

end

我想知道是否有没有for循环的方法来完成同样的事情例如,我可以使用以下“硬编码”语句完成上面概述的内容:

Final([4:8,11:19],1) = 1;

具体来说,有没有一种方法可以将Start_LocationsandEnd_Locations向量组合在一起,使我可以有一条语句,例如:

Final(Combined_Start_and_End_Locations,1) = 1;

完成我对上述for循环所做的工作我正在尝试学习for尽可能多地避免循环,并且非常感谢能Final如上所述创建向量而无需借助循环的任何解决方案

特罗格多

这样的问题通常可以使用diff解决cumsum它们本质上是离散的导数和积分函数。

对于您的问题,我相信

Final = cumsum([Starts 0]-[0 Ends]);
Final = Final(1:end-1);

达到预期的效果。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从变量创建命名向量

来自分类Dev

如何创建变量类型的向量?

来自分类Dev

向量是成员变量的基于范围的for循环

来自分类Dev

犰狳创建带有冒号范围的向量

来自分类Dev

dplyr总结:从命名向量创建变量

来自分类Dev

创建以R中的向量值命名的变量

来自分类Dev

创建匿名函数时的变量范围

来自分类Dev

如何从R中的向量创建一组范围?

来自分类Dev

从存储在另一个向量中的一个向量创建变量向量

来自分类Dev

为数据框的每个列(变量)创建单独的向量

来自分类Dev

根据初始变量和函数创建向量序列

来自分类Dev

从字符向量创建带有标识符的变量

来自分类Dev

根据初始变量和函数创建向量序列

来自分类Dev

从长表为每个变量创建一个向量

来自分类Dev

MATLAB 为列向量元素创建变量名称

来自分类Dev

创建一个动态变量,对向量执行逻辑测试并返回向量

来自分类Dev

extract()如何在当前范围内创建变量?

来自分类Dev

在指令范围内创建一个新变量

来自分类Dev

Java-创建包范围或全局变量的最佳实践

来自分类Dev

在循环内的AngularJs中创建动态范围变量

来自分类Dev

根据日期范围使用分类变量创建新列

来自分类Dev

通过在范围末尾添加数字来创建多个变量

来自分类Dev

根据日期范围创建新的类别变量列

来自分类Dev

Python使用范围内的名称创建变量

来自分类Dev

Java-创建包范围或全局变量的最佳实践

来自分类Dev

从函数内部创建时,DOJO中的变量范围

来自分类Dev

AngularJS:创建没有范围变量的下拉列表?

来自分类Dev

动态创建的数据未插入全局范围Arraylist数据变量

来自分类Dev

向量超出范围

Related 相关文章

热门标签

归档