関数 > ファイルの読み込みと書き込み > 例: PRN ファイルの操作
  
例: PRN ファイルの操作
.prn ファイルを作成する際に、PRN 関連の関数を使用して、PRN システム変数の効果を確認するさまざまな方法を紹介します。
1. 「数式の書式設定」タブの「結果」グループで、「表示精度」を 10 に変更します。
2. identity 関数を使用して行列を定義し、その 1 つ目の列を数値で埋めます。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
3. 行列 M を計算します。
クリックしてこの式をコピー
「表示精度」が 10 に設定されているので、PTC Mathcad ではすべての結果の数値を小数点以下 10 桁に制限して表示します。
PRNPRECISION < PRNCOLWIDTH
1. PRNPRECISIONPRNCOLWIDTH を評価してそのデフォルト値を表示します。
クリックしてこの式をコピー
クリックしてこの式をコピー
2. 関数 WRITEPRN を使用して行列 M を .prn ファイルに書き込みます。
クリックしてこの式をコピー
3. 関数 READPRN を使用して書き込んだファイルを読み取ります。
クリックしてこの式をコピー
PRNPRECISION が 4 に設定されているので、数値が最大で合計 4 桁の 0 でない数値に丸められて結果に表示されます。上位 6 個の数値には 4 桁を超える数値が含まれており、4 桁以内の 0 でない数値に丸められます。数値 66.66 には厳密に 4 桁が含まれているので、変更されません。数値 99.999 も 4 桁以内に丸められ、100 となります。
4. 1.prn ファイルを任意のテキストエディタで開いて、内容を表示します。列の境界を表示するハイライト色が追加され、列の幅を示すハットが追加されます。
データ成分の幅にかかわらず、各行列の列が対応するファイルの列に書き込まれます。
行 3 から 5 までのようにデータ幅が列の幅よりも大きい場合、隣の列のデータが右にずれて表示されます。これは視覚的な効果だけであり、行と列の構成には影響しません。
PRNPRECISION が 4 に設定されており、PRNCOLWIDTH が 8 に設定されているので、書き込まれたデータのうち合計 4 桁以下のものは列に適合し、右揃えで表示されます。小数点が列内に入ることに注意してください。
符号も列内に入ります。符号が負の場合、行 4 に示すように数値の左側に印刷されます。正の場合は印刷されず、行 3 と行 5 に示すように符号のプレースホルダーは空白のままとなります。
4 桁よりも大きい整数は、1 桁の整数と 3 桁の小数に e のべき乗を加えた工学記法に変換されます。行 3 から行 5 までのように、これらのエンティティのそれぞれが列の位置のいずれかに入ることに注意してください。
PRNPRECISION = PRNCOLWIDTH
1. PRNPRECISION を 8 に設定して行列 M を別の .prn ファイルに書き込みます。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
2. 関数 READPRN を使用して書き込んだ .prn ファイルを読み取ります。
クリックしてこの式をコピー
PRNPRECISION が 8 に設定されているので、数値が最大で合計 8 桁の数値に丸められて結果に表示されます。上位 6 個の数値には 8 桁を超える数値が含まれており、8 桁以内の数値に丸められます。数値 66.6699.999 は 8 桁よりも小さいので変更されません。
3. 2.prn ファイルを任意のテキストエディタで開いて、内容を表示します。
PRNPRECISIONPRNCOLWIDTH は 8 に設定されているので、書き込まれた合計 8 桁のデータは 8 つ分の位置がある列内には収まりません。これは、記号と小数点位置に更に 2 つ分が必要だからです。これにより、行 1 から 4 までと行 6 のデータが隣の列に 2 つ分だけ押し出されて見えます。
行 5 のデータには更に 7 つ分の位置が必要であり、これによってデータが右隣の列に同じだけ押し出されて見えます。
行 7 と行 8 のデータは 8 桁よりも小さいので、8 つ分の列に収まります。
PRNPRECISION > PRNCOLWIDTH
1. PRNCOLWIDTH を 4 に設定して行列 M を別の .prn ファイルに書き込みます。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
2. 関数 READPRN を使用して書き込んだ .prn ファイルを読み取ります。
クリックしてこの式をコピー
3. 3.prn ファイルを任意のテキストエディタで開いて、内容を表示します。
PRNPRECISION が 8 に設定されており、PRNCOLWIDTH が 4 に設定されているので、書き込まれた合計 8 桁のデータは 4 つ分の位置がある列内には収まりません。
行 1 から 4 までと行 6 に書き込まれたデータは 10 個分の位置を必要とするので、データが右隣の列に同じだけ押し出されて見えます。
行 5 のデータには更に 5 つ分の位置が必要であり、これによってデータが隣の列に同じだけ押し出されて見えます。各列がハイライトされ、要素が表示されます。最後の列のまわりには枠が描画されます。
文字列が連結され、WRITEPRN が付いたファイル名が作成されます。
1. 部品を説明する行列を定義します。
クリックしてこの式をコピー
2. 部品のシリアル番号を抽出します。
クリックしてこの式をコピー
3. concat 関数を使用してファイルの完全パスを連結します。
クリックしてこの式をコピー
4. WRITEPRN 関数を使用して、データを新規ファイルに書き込みます。
クリックしてこの式をコピー
5. 関数 READPRN を使用してファイルを読み取ります。
クリックしてこの式をコピー
6. 関数 READTEXT を使用して同じファイルを読み取ります。
クリックしてこの式をコピー
READTEXT 関数は、READPRN 関数とは異なるフォームで書き込まれたデータを返します。
最初の 4 行は WRITEPRN 関数によって生成されており、生の情報を含みます。
1 行目にはデータを書き込んだツールに関する情報が含まれます。
2 行目には日付と時刻の情報が含まれます。
3 行目は空白行です。
4 行目には元のデータ行列の次元が含まれます。
5 行目には元の行列のデータが含まれます。
返された行列のすべての空白要素には、NaN が使用されています。