MATLAB简化回路

MATLAB简化回路,matlab,for-loop,Matlab,For Loop,好的,所以我正在努力解决这个问题。下面的代码适用于我需要它的方式,但是,我相信它可以更短、更简单。我知道我可能会使用for循环来缩短它,我只是不知道怎么做,有人能给我指出正确的方向吗。谢谢: 如果代码不清楚我想做什么。我试着用卷积函数以外的另一种方法将不同的信号和房间脉冲响应卷积在一起 您可以尝试使用单元阵列。这些是所有类型数据的通用容器: fn = {'a.wav','b.wav','c.wav'} for i=1:length(fn) h{i} = wavread(fn{i})

好的,所以我正在努力解决这个问题。下面的代码适用于我需要它的方式,但是,我相信它可以更短、更简单。我知道我可能会使用for循环来缩短它,我只是不知道怎么做,有人能给我指出正确的方向吗。谢谢:

如果代码不清楚我想做什么。我试着用卷积函数以外的另一种方法将不同的信号和房间脉冲响应卷积在一起


您可以尝试使用单元阵列。这些是所有类型数据的通用容器:

fn = {'a.wav','b.wav','c.wav'}

for i=1:length(fn)
  h{i} = wavread(fn{i})

  hrir_L{i} = h{i}(:,1);
  hrir_R{i} = h{i}(:,2);

  ....

end

谢谢,真是一种享受。不完全熟悉MATLAB,但这对我有很大帮助。非常感谢。欢迎来到StackOverflow:与其永远被难看的复制/粘贴代码所困扰,不如提出一个问题。。。
fn = {'a.wav','b.wav','c.wav'}

for i=1:length(fn)
  h{i} = wavread(fn{i})

  hrir_L{i} = h{i}(:,1);
  hrir_R{i} = h{i}(:,2);

  ....

end