test = rand(10,2);
if test(3,1) > 0; new_column = test(3:7,2); end
% Setup
x = rand(10,1);
y = rand(10,1);
xx = logical(x);
z = 5;
% One-liner
w = zeros(sum((xx==1)),z); step = 1; for ii = 1:length(xx), if xx(ii) == 1, w(step,:) = y(ii:(ii+z-1)); step = step+1; end,end,
1条答案
按热度按时间3ks5zfa01#
假设我对这个问题的理解是正确的:
但是,如果xx==1的索引值大于(z+1),则不会得到z个观测值,这将导致错误。你需要进一步明确你想要做什么。
为什么必须在命令行中执行此操作,有什么特殊的原因吗?