1

ここにファイルがあります: http://www.ee.columbia.edu/~dpwe/e6820/matlab/stft.m

そして行:

else
  win = w;
  w = length(w);
end

コードで使用されなくなった場合、なぜw割り当てられたのですか?length(w)w

4

1 に答える 1

4

stft.m への 3 番目の入力は、ウィンドウ サイズを含むスカラーまたはウィンドウ自体のいずれかです。内部的には、ウィンドウは として表されwin、ウィンドウ サイズは として表されますw

したがって、ウィンドウ自体が関数に渡された場合、win入力から直接読み取ることができ、w一貫性を保つためにその長さに置き換える必要があります。

はコードで使用されなくなったため、長さで置き換えるw必要はありません。wただし、変数には一貫した値が割り当てられるため、デバッグが容易になり、将来、ウィンドウ サイズを含む方法でアルゴリズムが改善された場合にコードの拡張が容易になりますw

要するに、この行は現在必要ありませんが、長期的にはコードの保守性を向上させます。

于 2012-08-27T13:35:27.000 に答える