正弦波データを正規化するための位相シフトすべての最小ピークが x 軸に沿って配置されるように、正弦波データを位相シフトしようとしています。 このコードを試してみましたが、「 'Matrix' のアクセスまたは評価では、リストまたは数値である必要があります。Matrix/*####*/(sineCol < < Get Values)"
どんな助けでも大歓迎です。
// データを読み込む
dt = 現在のデータ テーブル();
// 正弦波データの列を指定
sineCol = dt << column("PITCH");
// sineCol を行列に変換します
sineMat = Matrix(sineCol << Get Values);
// 最小ピークのインデックスを計算します
minIndex = Loc Min(sineMat);
// データをシフトするポイント数を計算します
shiftPoints = N 行 (sineMat) - minIndex;
// データをシフトする
shiftSineCol = J(N 行 (sineMat), 1, .);
For(i = 1, i <= N Rows(sineMat), i++,
shiftSineCol[i] = If(i <= shiftPoints, sineMat[shiftPoints-i+1], sineMat[N Rows(sineMat)-i+shiftPoints+1]);
);
// シフトされたデータのテーブルを作成します
newTable = New Table("PITCH Shifted", Add Rows(N Rows(dt)));
newTable["PITCH Shifted"] = shiftSineCol;
newTable["TIME"] = dt:column("TIME");
// テーブルを保存
newTable << Save("PITCH Shifted.jmp");
基本的なデータ分析とモデリングRe: 正弦波データを正規化するための位相シフトsineCol への参照が正しくありません
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
sineCol = dt << Column("name");
show(sineCol);
sineCol2 = Column(dt, "name");
show(sineCol2);
連続列からマトリックスに値を取得するいくつかのオプションの方法を次に示します
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
sineMat1 = Column(dt, "height") << get values;
sineMat2 = dt[0, "height"];
show(sineMat1, sineMat2);Re: 正弦波データを正規化するための位相シフトこんにちは、ありがとうございます。私はスクリプト作成の経験があまりありません。これらの更新された行をスクリプトに挿入した場所を説明していただけますか。 sineMat1 と sineMat2 の違いは何ですか。
ありがとう
Re: 正弦波データを正規化するための位相シフトこれを使用できるように、スクリプトに十分に慣れて、それが何をするかを理解できるようにすることを強くお勧めします(印刷を使用してスクリプトをデバッグし、データテーブルから列を参照し、その列から値を取得します)。 sineMat1 と sineMat2 は同じですが、データテーブルから値を取得する方法が異なります。
sineCol と sineMat に使用されるコードを、対応するデータテーブルと列の名前に置き換えます。以下は、Big Class と高さ列を使用した例です。
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
sineCol = Column(dt, "height");
sineMat = Column(dt, "height") << get values;
Re: 正弦波データを正規化するための位相シフトありがとうございます。これは私の専門分野ではありませんが、博士号取得のためにデータを視覚化する方法を見つけようとしています。 このエラーがあり、修正しようとしましたが、修正できないようです。
何かアドバイスはありますか?
'Assign' へのアクセスまたは評価における無効な添え字 (数値または数値のリストである必要があります){395}、newTable["PITCH Shifted"] = /*###*/shiftedSineCol/*###*/
Re: 正弦波データを正規化するための位相シフト列を作成しようとしているときに、新しいテーブルを作成した後の構文が間違っているようですか? JMP Scripting Index (JMP のヘルプ メニューにあります) を確認することをお勧めします。スクリプト ガイド (jmp.com) . 両方とも、.jsl 構文の良い例を (場合によっては) 持っています。
スクリプト インデックス:

データ テーブル (jmp.com)
Re: 正弦波データを正規化するための位相シフトJMP Proをお持ちですか? もしそうなら、機能データ エクスプローラー役に立つかもしれません。 多くのデータ処理関数を提供し、循環データを分析するためにスプライン基底関数を適合させます。 それほどコーディングする必要はないかもしれません。