stft関数のexampleが正しく動作しない

stft で示されている下記のコードが実行できません。
hann(256)なら実行できるが、hann(256,'periodic')が実行できません。
fs = 10e3;
t = 0:1/fs:2;
x = vco(sin(2*pi*t),[0.1 0.4]*fs,fs);
[s,f,t] = stft(x,fs,Window=kaiser(256,5),OverlapLength=220,FFTLength=512);
次を使用中のエラー: hann
入力引数が多すぎます。
エラー: signal.internal.stft.stftParser (行 19)
defaultWin = hann(defaultNwin,'periodic');
エラー: stft (行 181)
[data,opts] = signal.internal.stft.stftParser('stft',x,varargin{:});

2 Comments

Hernia Baby
Hernia Baby on 21 Feb 2025
MATLABのバージョンはいくつでしょうか?
立
on 21 Feb 2025
2024aです

Sign in to comment.

 Accepted Answer

takemoto
takemoto on 21 Feb 2025
Moved: Kojiro Saito on 2 Mar 2025

1 vote

わりとよくあるケースとして、同名の自作関数がパス上に存在することはありませんか?自作のhann.mが、複数の入力引数を許さない場合にはその様なエラーが出そうです。コマンドウィンドウで、
>>which -all hann
と入力して、複数のhann.mが存在するか確認してみてはどうでしょうか。

1 Comment

立
on 21 Feb 2025
Moved: Kojiro Saito on 2 Mar 2025
正しくその通りでした!
Fieldtripの同名関数(hann)と競合していました。
ありがとうございます。

Sign in to comment.

More Answers (0)

Products

Release

R2024a

Tags

Asked:

立
on 21 Feb 2025

Moved:

on 2 Mar 2025

Community Treasure Hunt

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

Start Hunting!