根据matlab / octave中的其他数字列表获取数字

时间:2013-06-16 18:20:02

标签: matlab octave

当我在matlab / octave中输入(1:4:16)时 我得到 1,5,9,13 作为答案

有没有办法可以取代丢失的号码?

so instead of getting 1,5,9,13 
I get 2,3,4,6,7,8,10,11,12,14,15,16

1 个答案:

答案 0 :(得分:2)

你可以使用这个功能:

function num = getTheMissingNumbers( from, jump, to )

num = from:to;
num = setdiff( num, from:jump:to );

您可以调用此功能

>> getTheMissingNumbers( 1, 4, 16 )

获取您想要的数字。


如果您进一步假设getThemissingNumbers的输入始终以1开头,您可以使用

更有效地实现它
function num = getTheMissingNumbers( jump, to )

num = 1:to;
num(1:jump:to) = []; % remove the elements in ind
根据{{​​3}}的评论

已编辑