小编Mat*_*244的帖子

改进MATLAB矩阵构造代码:或者,为初学者编写代码矢量化

我写了一个程序,以构建一个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 matrix vectorization wavelet

6
推荐指数
2
解决办法
839
查看次数

在MATLAB中重新采样音频

我有一个已导入MATLAB的wav文件,其采样率为44.1 kHz.我正在尝试将此音频文件重新采样为22.05 kHz,然后将其恢复为44.1 kHz.但是,我对如何在MATLAB中使用resample函数感到困惑,如果这甚至是我应该用来执行此操作的函数.任何帮助将不胜感激.谢谢!

audio matlab signal-processing resampling

4
推荐指数
1
解决办法
1万
查看次数