使用Matlab编码将向量实现到矩阵

时间:2014-04-11 12:44:33

标签: matlab vector matrix plot subplot

嘿我在信号上使用FIR滤波器。我想让HF变量成为一个矩阵,其中包含变量hf中的L值。像这样:

HF = [hf1,hf2,hf3,hf4,hf5];

因此,我可以在子图中使用矩阵HF,我可以查看每个hf矢量的图。

正如你所看到的,我得到了一个写HF = [HF, hf];的小费,它应该将hf向量实现到矩阵HF。但我无法让它发挥作用。

以下是我正在使用的代码:

w0 = 9*pi/80;
for L = [5,10,50,100,1000]
   n = 1:L;
   dum = (sin(w0.*n))./(pi.*n);
   h = [fliplr(dum),w0/pi,dum];
   % stem(h);

   hfft = fft([h,zeros(1,(4096-length(h)))]);
   hf = log10(hfft.*conj(hfft)/(Fs*7)/2);

   HF = [HF,hf];
   %figure(7)
   %plot(hf(1:2048));
   %pause
end

r = 3;
c = 2;
Plotnb = 1;
for i=1:r
    for j=1:c
        subplot(r,c,Plotnb)
        plot(HF(:,Plotnb)); % Picks out the right column.
        Plotnb=Plotnb+1;
    end
end

% y2=conv(x,h);
% sound(y2,Fs);

任何提示都将不胜感激!

感谢您的帮助 丹尼尔

1 个答案:

答案 0 :(得分:0)

几乎就在那里,你只需要添加

HF = [];

在进入for循环之前。如果你不这样做,程序会在HF = [HF,hf];上失败,因为你试图将hf连接到尚不存在的东西。