我是Matlab的新手。我试着取每两个连续元素的平均值,并将其放在这两个连续的元素之间。例如如果我有一个向量如下:
a=[1 2 5 4 3 6]
最后我需要b样:
b=[1 1.5 2 3.5 5 4.5 4 3.5 3 4.5 6]
它可以通过循环来完成,但我试图通过matlab函数来完成,这可能吗?
"暴力方式":
b = zeros( 1, 2*numel(a)-1 );
b(1:2:end) = a; % take care of the original values
b(2:2:end) = 0.5*( a(1:end-1) + a(2:end) ); % the mean
使用interp1
:
b = interp1( 1:2:(2*numel(a)-1), a, 1:(2*numel(a)-1), 'linear' )