我写了一个程序,以构建一个3波段小波变换矩阵的一部分.但是,考虑到矩阵的大小为3 ^ 9 X 3 ^ 10,MATLAB完成构建需要一段时间.因此,我想知道是否有办法改进我用来使其运行得更快的代码.我在运行代码时使用n = 10.
B=zeros(3^(n-1),3^n);
v=[-0.117377016134830 0.54433105395181 -0.0187057473531300 -0.699119564792890 -0.136082763487960 0.426954037816980 ];
for j=1:3^(n-1)-1
for k=1:3^n;
if k>6+3*(j-1) || k<=3*(j-1)
B(j,k)=0;
else
B(j,k)=v(k-3*(j-1));
end
end
end
j=3^(n-1);
for k=1:3^n
if k<=3
B(j,k)=v(k+3);
elseif k<=3^n-3
B(j,k)=0;
else
B(j,k)=v(k-3*(j-1));
end
end
W=B;
Run Code Online (Sandbox Code Playgroud) 我有一个已导入MATLAB的wav文件,其采样率为44.1 kHz.我正在尝试将此音频文件重新采样为22.05 kHz,然后将其恢复为44.1 kHz.但是,我对如何在MATLAB中使用resample函数感到困惑,如果这甚至是我应该用来执行此操作的函数.任何帮助将不胜感激.谢谢!