arrays - 通过在元素之间包含零来对向量进行上采样

标签 arrays matlab for-loop octave

我正在尝试制作一个上采样代码,所以我想在一个向量中插入一个零向量,如下所示:

z=[0 0]%Zeros Vector
x=[1 2 3 4]%Vector to Upsample
y=[1 0 0 2 0 0 3 0 0 4 0 0]%Vector Upsampled

我有这个代码:

fs=20;
N=50;
T=1/fs;
n=0:1:N-1;
L=3;
M=2;
x = exp(-0.5*n*T).*sin(2*pi*n*T);
A=zeros(1,L);
disp(A);
for i = 1:M:length(x)
  x(:,i)=A;

 end
 disp(x);

但是我遇到了这个错误:

A(I,J,...) = X: dimensions mismatch

知道我该怎么做吗?

最佳答案

忘记循环。使用以下解决方案:

out = zeros(1,length(x)*L);
out(:,1:L:end) = x

关于arrays - 通过在元素之间包含零来对向量进行上采样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39027430/

相关文章:

javascript - 为什么 for 循环不从数组中删除每个奇数(使用 splice 方法)?

c++ - 调试 char[4][4] 的 DEQUE

matlab从关联矩阵绘制图形

excel - 如何在 VBA 中自动化我的手动选择过程

matlab - 如果我们为它赋值(MATLAB),如何取回清除命令?

matlab - 如何使用 bwareaopen 删除小对象?

r - 将for循环值存储在R中的变量中

c - 如果我通过指针给了数组值,为什么我无法使用数组引用更改数组中的值?

c - 强制 C 编译器不内联数组中的条目

php - 从 php 数组中复制一个元素