Matlab:如何使[1 3 5]成为[1 nan 3 nan 5]

Sen*_*gul 3 arrays matlab vector nan

如果有一个numbers如下所示的数组.我怎样才能转换这个数组,使其numbers变为realNumbers如下所示,其中1:10不存在的任何数字numbers用a填充nan.realNumbers是我想要的结果,并且在计算之前不存在并且仅numbers存在.这是在Matlab代码中.

numbers = [1 3 5 6 10];
realNumbers = [1 nan 3 nan 5 6 nan nan nan 10];
Run Code Online (Sandbox Code Playgroud)

Lui*_*ndo 6

另一种方式,使用非常通用的accumarray功能:

numbers = [1 3 5 6 10];
realNumbers = accumarray(numbers(:), numbers(:), [], @(x)x(1), NaN).';
Run Code Online (Sandbox Code Playgroud)