gpt4 book ai didi

matlab - 在 MATLAB 中添加包围向量中 1 的其他值的附加值

转载 作者:行者123 更新时间:2023-12-02 05:27:45 25 4
gpt4 key购买 nike

给定 MATLAB 中由零和一组成的向量,其中零代表时间上的事件,我想在现有向量之前和之后添加额外的向量,以捕获额外的变化。

示例:我想将 [0;0;1;0;0] 转换为 [0;1*;1;1*; 0] 其中 1* 是新添加的。

最佳答案

假设 A 是输入列向量 -

%// Find all neighbouring indices with a window of [-1 1] 
%// around the positions/indices of the existing ones
neigh_idx = bsxfun(@plus,find(A),[-1 1])

%// Select the valid indices and set them in A to be ones as well
A(neigh_idx(neigh_idx>=1 & neigh_idx<=numel(A))) = 1

或者使用imdilate来自图像处理工具箱,其向量内核为ones,长度为3 -

A = imdilate(A,[1;1;1])

关于matlab - 在 MATLAB 中添加包围向量中 1 的其他值的附加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28544662/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com