retime,syn​chronizeで引​数にregularを​使うとエラーが出ます​。

4 visualizzazioni (ultimi 30 giorni)
Mig
Mig il 15 Gen 2023
Modificato: Atsushi Ueno il 17 Gen 2023
上のURLのページの[例]サンプルレートの指定 を試みています。
以下のコードを実行しようとすると次のようにエラーが出ます。
TT2=retime(TT1,'regular','linear','SampleRate',100)
エラー: timetable/retime (line 121)
'regular' は、同期のターゲット時間ベクトルの有効な指定ではありません。
synchronizeを使用するときも、引数にregularを使うと同じエラーが出ます。
解決策を教えていただけますと幸いです。

Risposte (1)

Atsushi Ueno
Atsushi Ueno il 16 Gen 2023
Modificato: Atsushi Ueno il 17 Gen 2023
詳細な経緯は不明ですが、以前のretime関数には 'regular' (一定間隔の意味) を含む構文がありませんでした。
左: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)
TT1 = 5×1 timetable
Time Intensity __________ _________ 0.011 sec 100 0.02 sec 98.7 0.034 sec 95.2 0.0403 sec 101.4 0.0499 sec 99.1
TT2 = retime(TT1,duration(0,0,0,10:10:50,'Format','mm:ss.SSS')','linear') % ,'Format','mm:ss.SSS'は不要
TT2 = 5×1 timetable
Time Intensity _________ _________ 00:00.010 100.14 00:00.020 98.7 00:00.030 96.2 00:00.040 101.1 00:00.050 99.076
  2 Commenti
Mig
Mig il 17 Gen 2023
教えていただいた方法で解決できました。本当にありがとうございます!!
Atsushi Ueno
Atsushi Ueno il 17 Gen 2023
リサンプルした結果である「出力 timetable の時間間隔」は
この内最後の「サンプルレート (数値[Hz])」は当初「名前と値のペアの引数 'SamplingRate' 」として導入されました。しかし「名前と値のペアの引数」は、TT2 = retime(___,Name,Value) の様に他の引数パターンと自由に組み合わせる事が出来ます。一方「時間ベクトル」には自由な時間間隔を入力する事が出来ます。当時はに「時間ベクトル」と「名前と値のペアの引数」を重複して入力できていたのではないかと想定します。しかしそれではユーザから見て分かり難い仕様です。その為か「名前と値のペアの引数 'SamplingRate' 」は非推奨⇒廃止の流れを辿り、新たに導入された'SampleRate'は「名前と値のペアの引数」ではなく、キーワード'regular'と組み合わせる形の「通常の引数(正式な呼び方がわからない)」になったのではないかと想定します。

Accedi per commentare.

Categorie

Scopri di più su timetable in Help Center e File Exchange

Prodotti


Release

R2017b

Community Treasure Hunt

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

Start Hunting!