フィルターのクリア

Need help for these two commands

4 ビュー (過去 30 日間)
moonman
moonman 2011 年 9 月 22 日
These are two lines
dif = length(sig) - length(ADSR);
x = cat(2, ADSR, zeros(1,dif));
What is purpose of zeros(1,dif) Plz explain

採用された回答

Wayne King
Wayne King 2011 年 9 月 22 日
It is appending (padding) zeros on the end of ADSR so that the total length of x is the length of the signal, sig:
length(ADSR)+ (length(sig)-length(ADSR))

その他の回答 (2 件)

Fangjun Jiang
Fangjun Jiang 2011 年 9 月 22 日
It creates a 1 by dif matrix and all its value is zero.
cat(2, ADSR, zeros(1,dif)) is the same as [ADSR, zeros(1,dif)]
I want to give a caution on using function length().
LENGTH(X) returns the length of vector X. It is equivalent
to MAX(SIZE(X)) for non-empty arrays and 0 for empty ones.

Walter Roberson
Walter Roberson 2011 年 9 月 22 日
The code is constructing a vector that pads ADSR with 0s to be the same length as sig is.
Another way of doing this would be:
x = zeros(size(sig));
x(1:length(ADSR)) = ADSR;

カテゴリ

Help Center および File ExchangeHilbert and Walsh-Hadamard Transforms についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by