我需要在n elemetns为1的向量中设置m值,并且它们之间的距离应该相似。
例如,假设一个包含25个元素的向量,我们希望将7个元素设置为1.这些元素之间的距离应尽可能相同或相似。 对于此示例,它可能如下所示: 0-0-1-0-0-1-0-0-0-1-0-0-1-0-0-0-1-0-0-1-0-0-0-1-0 有时在两者之间需要有2个零和一些3个零。
我找不到任何可以解决我的问题的东西,而且我没有想法,有人可以帮助我吗?
谢谢!
答案 0 :(得分:0)
你的要求有点含糊不清,但这些内容应该可以解决问题:
% parameters
n = 25;
m = 7;
% initialize row vector
v = zeros(1, n);
% create index of elements to set equal to 1. Include first and last
% elements, plus equally spaced elements in between.
I = 1 : (n-1)/(m-1) : n;
I = round(I);
% check that this algorithm works for these values of n and m. For
% example, m must be <= n
if length(unique(I)) ~= m
error('Does not work for these values of n and m');
end
% set the appropriate vector elements to 1
v(I) = 1;