这是一个文件: http://www.ee.columbia.edu/~dpwe/e6820/matlab/stft.m
和行:
else
win = w;
w = length(w);
end
如果代码中不再使用w
,为什么length(w)
已分配w
?
答案 0 :(得分:4)
stft.m的第三个输入可以是包含窗口大小的标量,也可以是窗口本身。在内部,窗口表示为win
,窗口大小表示为w
。
因此,如果窗口本身已传递给函数,则可以直接从输入中读取win
,并且w
必须替换为其长度才能保持一致。
无需更新w
的长度,因为代码中不再使用w
。但是,它有助于调试,因为变量被赋予一致的值,并且如果将来以涉及窗口大小w
的方式改进算法,它便于扩展代码。
简而言之:目前不需要该行,但从长远来看,可以提高代码的可维护性。