m2w
メニュー情報
行列:ワークシートに変換
概要
ワークシートに行列データを変換
追加の情報
必要なOriginのバージョン:Origin8.0 SR0以降、Origin8.5.1 で更新
コマンドラインでの使用法
1. m2w;
2. m2w im:=[MBook1]MSheet1!Mat(1) ow:=[Book1]Sheet1!;
3. m2w method:=direct xy:=xcol ycol:=1 xlabel:=row1;
4. m2w method:=xyz option:=yconst;
5. m2w method:=xyz trim:=1;
6. m2w -r 1 ims:=[MBook1]MSheet2! method:=xyz multi:=all;
Xファンクションの実行オプション
スクリプトからXファンクションにアクセスする場合、追加のオプションスイッチについてのページを参照してください。
変数
表示 名
|
変数 名
|
I/O と データ型
|
デフォルト 値
|
説明
|
入力行列
|
im
|
入力
MatrixObject
|
<active>
|
ソース行列オブジェクトを指定します。
|
入力行列
|
ims
|
入力
MatrixLayer
|
<optional>
|
ソース行列シートを指定します。行列シート内の全オブジェクトを変換する場合、imの代わりにimsを使用する必要があります。
method:=xyz, multi:=1の時利用可能です。
|
手法
|
method
|
入力
int
|
direct
|
変換法を指定します。
オプションリスト:
- direct:形状のまま
- 直接変換
- xyz:XYZ列
- XYZ列のワークシートを作成します。
|
データフォーマット
|
xy
|
入力
int
|
xcol
|
これは、手法で形状のままが選択されている場合のみ利用できます。データを出力するワークシートでのデータ配置を指定します。
オプションリスト:
- xcol:列方向のX
- 同じX値に対応する行列値が列に配置され、異なるX値に対応する2つの行列値は異なる列に配置されます。X値変数にX値を出力することもできます。
- ycol:列方向のY
- 同じY値に対応する行列値が列に配置され、異なるY値に対応する2つの行列値は異なる列に配置されます。Y値変数にX値を出力することもできます。
- noxy:XとYがありません
- 行列のXとYの値は出力されません。
|
最初の列のY値
|
ycol
|
入力
int
|
0
|
これは、データフォーマットで列方向のXが選択されている場合のみ利用できます。出力ワークシートの最初の列に行列のY値を出力するかを指定します。
|
最初の列のX値
|
xcol
|
入力
int
|
0
|
これは、データフォーマットで列方向のYが選択されている場合のみ利用できます。出力ワークシートの最初の列に行列のX値を出力するかを指定します。
|
X値の位置
|
xlabel
|
入力
int
|
none
|
これは、データフォーマットで列方向のXが選択されている場合のみ利用できます。行列のX値を出力するかを指定し、出力する場合は、保存位置を指定します。
オプションリスト:
- none:なし
- 行列のX値を出力しません。
- row1:第1行
- 出力ワークシートの最初の行に行列のX値を出力します。
- syspara:システムパラメータ
- 出力ワークシートのシステムパラメータ行に行列のX値を出力します。以下のシステムパラメータ変数を参照してください。
- userpara:ユーザ定義パラメータ
- 出力ワークシートのユーザ定義パラメータ行に行列のX値を出力します。以下のユーザ定義パラメータ変数を参照してください。
|
Y値の位置
|
ylabel
|
入力
int
|
none
|
これは、データフォーマットで列方向のYが選択されている場合のみ利用できます。行列のY値を出力するかを指定し、出力する場合は、保存位置を指定します。
オプションリスト:
- none:なし
- 行列のY値を出力しません。
- row1:第1行
- 出力ワークシートの最初の行に行列のY値を出力します。
- syspara:システムパラメータ
- 出力ワークシートのシステムパラメータ行に行列のY値を出力します。以下のシステムパラメータ変数を参照してください。
- userpara:ユーザ定義パラメータ
- 出力ワークシートのユーザ定義パラメータ行に行列のY値を出力します。以下のユーザ定義パラメータ変数を参照してください。
|
システムパラメータ
|
sysparam
|
入力
int
|
p1
|
X値またはY値でシステムパラメータが選択されている場合にのみ使用できます。行列のX/Y値を保存するためのシステムパラメータラベル行を指定します。
オプションリスト:
- p1: パラメータ1
- パラメータ1ラベル行です。
- p2: パラメータ2
- パラメータ2ラベル行です。
- p3: パラメータ3
- パラメータ3ラベル行です。
- p4: パラメータ4
- パラメータ4ラベル行です。
- p5: パラメータ5
- パラメータ5ラベル行です。
- p6: パラメータ6
- パラメータ6ラベル行です。
- p7: パラメータ7
- パラメータ7ラベル行です。
- p8: パラメータ8
- パラメータ8ラベル行です。
- p9: パラメータ9
- パラメータ9ラベル行です。
- p10: パラメータ10
- パラメータ10ラベル行です。
|
ユーザ定義パラメータ
|
userdef
|
入力
string
|
UserDefined
|
X値またはY値でユーザ定義パラメータが選択されている場合にのみ使用できます。行列のX/Y値を保存するためのユーザ定義パラメータラベル行を指定します。
|
変換
|
multi
|
入力
int
|
0
|
行列シート内に複数の行列オブジェクトがある場合、単一オブジェクトのみ変換するか全て変換するか指定できます。
method:=xyzの時利用できます。
オプションリスト:
- 0=single:単一オブジェクトのみ
- 第1行列オブジェクトのみ変換します。
- 1=all:すべてのオブジェクト
- 指定した行列シート内のすべてのオブジェクトを変換します。
Note: この2つのオプションは、入力変数が異なります。
|
オプション
|
option
|
入力
int
|
xconst
|
これは、手法でXYZ列が選択されている場合のみ利用できます。ワークシートの値をどのようにソートするか指定します。
オプションリスト:
- xconst:X一定でYを変化
- ターゲットワークシートの値を、ソース行列のX値を昇順で並べ替え、次にY値を昇順で並べ替えます。
- yconst:Y一定でXを変化
- ターゲットワークシートの値を、ソース行列のY値を昇順で並べ替え、次にX値を昇順で並べ替えます。
|
欠損値の削除
|
trim
|
入力
int
|
0
|
このチェックボックスは、手法がXYZ列の場合にのみ利用できます。チェックを付けると、行列内の欠損値がスキップされ、ワークシート上では含めません。チェックを外すと、欠損値も結果ワークシートに表示されます。
|
出力ワークシート
|
ow
|
出力
Worksheet
|
[<new>]<new>
|
出力ワークシートを指定します。
このシンタックスを参照してください。
|
説明
行列には1つのZ値のデータセットが表示されます。これには次のような特徴があります。
- 線形の等間隔なのX値でマッピングされた番号付きの列。
- 線形の等間隔なのY値でマッピングされた番号付きの行。
デフォルトでは、行ヘッダには列および行番号が表示されます(左図)。右図のようにXおよびYの値を表示するには、メニューから表示:X/Yを表示を選択します。
行列をワークシートに変換するには、2つの方法があります。: 1つは直接変換で、もう1つはXYZ列を持つワークシートを作成する方法です。
直接変換:
1.XとYなし
行列のセル値のみを変換します。
2.列方向のX
行列値がXマッピング値によってワークシート列に並び替え:同じX値に対応する行列値が同じ列に配置され、異なるX値に対応する2つの行列値は異なる列に配置されます。
この方法では、行列のXY値をワークシートの1列目および1行目に出力するか、またはワークシートラベルに出力するどうかを指定できます。次のサンプルは、直接変換を使用し、目的のワークシートの最初の行にX値を加え、最初の列にY値を加えます。
3.列方向のY:
行列値がYマッピング値によってワークシート列に並び替え:同じY値に対応する行列値が同じ列に配置され、異なるY値に対応する2つの行列値は異なる列に配置されます。
この方法では、行列のXY値をワークシートの1列目および1行目に出力するか、またはワークシートラベルに出力するどうかを指定できます。次のサンプルは、直接変換を使用し、目的のワークシートのパラメータ 1行にY値を加え、最初の列にX値を加えます。
XYZ列のワークシートを作成:
この手法ではX、Y、Z 列のあるワークシートを作成します。行列のセルの値はワークシート内のZデータに変換されます。ワークシートの対応するXY列の値は行列のXとYのマッピング情報によって設定されます。そして、オプション変数を使って変換したワークシートを並び替える方法を指定できます。
1.X一定でYを変化: ターゲットワークシートの値を、ソース行列のX値を昇順で並べ替え、次にY値を昇順で並べ替えます。
2. Y一定でXを変化: ターゲットワークシートの値を、ソース行列のY値を昇順で並べ替え、次にX値を昇順で並べ替えます。
サンプル
/*
このサンプルでは、行列データをXYZワークシート列に変換する方法を示します。
サンプルデータ:exe_path\Samples\Matrix Conversion and Gridding\Direct.dat
1.新規作成した行列にデータをロードします。
2.行列をXYZワークシートデータに変換します。
*/
// サンプルファイル名を取得
fn$ = system.path.program$ + "Samples\Matrix Conversion and Gridding\Direct.dat";
// 行列ウィンドウを作成
win -t matrix origin;
// アクティブ行列にデータをインポート
impASC fn$;
// X一定でYを変化オプションで行列をXYZワークシートに変換
m2w m:=1;
関連するXファンクション
w2m, r2m, wexpand2m
|