Matlab 最大值未被识别

Matlab 最大值未被识别,matlab,Matlab,我正在尝试组合两个音频信号,但如果不使用min操作符,则无法组合。我需要音频曲目同时播放,这是一个解决方案,我目前有,但有一个问题。它只在最短音轨的持续时间内播放,这是我迄今为止的代码: mLength = min([length(s1), length(s2)]); s1 = s1(1:mLength); s2 = s2(1:mLength); s3 = s1 + s2; s1可能长6秒,s2可能长10秒。把它们结合起来,我会得到一条持续6秒的音轨 我基本上需要将min更改为max。执行此

我正在尝试组合两个音频信号,但如果不使用
min
操作符,则无法组合。我需要音频曲目同时播放,这是一个解决方案,我目前有,但有一个问题。它只在最短音轨的持续时间内播放,这是我迄今为止的代码:

mLength = min([length(s1), length(s2)]);

s1 = s1(1:mLength);
s2 = s2(1:mLength);
s3 = s1 + s2;
s1
可能长6秒,
s2
可能长10秒。把它们结合起来,我会得到一条持续6秒的音轨

我基本上需要将
min
更改为
max
。执行此操作时,它会给出错误
索引超过矩阵维数。

有人知道我怎么做吗?这是一个需要花很长时间才能解决的小问题,谢谢

这里有一个简单的方法:

mLength = max(length(s1), length(s2));
s1(mLength+1,:) = 0;
s2(mLength+1,:) = 0;
s3 = s1(1:mLength,:) + s2(1:mLength,:);

这将在最大位置加1指定一个零。这对最长信号的影响只是附加了一个零。在最短的一个上,它会根据需要自动填充零。既然两个信号的长度相同,就可以将它们相加,忽略最后一个额外的零。

为快速回复和简单响应干杯。恐怕您的解决方案会让我尝试沿着不明确的维度扩展数组。有什么想法吗?哦,它们是立体的,对吗?等等minute@Paji.R现在请看为什么这不能成为编辑?@excaza道歉,但它丢失了,我觉得重新格式化更容易。从今天早上开始,我就一直在做这件事。我强烈建议你花点时间再次阅读这一部分。这不是你第一次无视SO的指导方针,继续这样做可能会导致停职或禁令。