retime,synchronizeで引数にregularを使うとエラーが出ます。
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
上のURLのページの[例]サンプルレートの指定 を試みています。
以下のコードを実行しようとすると次のようにエラーが出ます。
TT2=retime(TT1,'regular','linear','SampleRate',100)
エラー: timetable/retime (line 121)
'regular' は、同期のターゲット時間ベクトルの有効な指定ではありません。
synchronizeを使用するときも、引数にregularを使うと同じエラーが出ます。
解決策を教えていただけますと幸いです。
0 Kommentare
Antworten (1)
Atsushi Ueno
am 16 Jan. 2023
Bearbeitet: Atsushi Ueno
am 17 Jan. 2023
左:R2017aのドキュメンテーション、右:R2022bのドキュメンテーションをキャプチャしたもの
>解決策を教えていただけますと幸いです。
R2017b以前のMATLABにおけるretime関数では、引数 'regular' と'TimeStep' または 'SampleRate' の組み合わせを使えないので、代わりに引数 newTimes を使う構文を使えます。この場合、一定周期でも自分で datetime 関数や duration 関数を用いて時刻列ベクトルデータを作成しなければならないのでちょっと面倒です。
Intensity = [100 98.7 95.2 101.4 99.1]';
Time = milliseconds([11 20 34 40.3 49.9])';
TT1 = timetable(Time,Intensity)
TT2 = retime(TT1,duration(0,0,0,10:10:50,'Format','mm:ss.SSS')','linear') % ,'Format','mm:ss.SSS'は不要
2 Kommentare
Atsushi Ueno
am 17 Jan. 2023
リサンプルした結果である「出力 timetable の時間間隔」は
- 「タイム ステップ(言葉)」
- 「時間ベクトル」に加え、
- 「タイム ステップ(数値[1/s])」
- 「サンプルレート (数値[Hz])」 を指定できる様になりましたが、
この内最後の「サンプルレート (数値[Hz])」は当初「名前と値のペアの引数 'SamplingRate' 」として導入されました。しかし「名前と値のペアの引数」は、TT2 = retime(___,Name,Value) の様に他の引数パターンと自由に組み合わせる事が出来ます。一方「時間ベクトル」には自由な時間間隔を入力する事が出来ます。当時はに「時間ベクトル」と「名前と値のペアの引数」を重複して入力できていたのではないかと想定します。しかしそれではユーザから見て分かり難い仕様です。その為か「名前と値のペアの引数 'SamplingRate' 」は非推奨⇒廃止の流れを辿り、新たに導入された'SampleRate'は「名前と値のペアの引数」ではなく、キーワード'regular'と組み合わせる形の「通常の引数(正式な呼び方がわからない)」になったのではないかと想定します。
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!