retime,synchronizeで引数にregularを使うとエラーが出ます。
5 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
Kategorien
Mehr zu timetable finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!