• Tidak ada hasil yang ditemukan

LabVIEW による基数変換参考プログラム

N/A
N/A
Protected

Academic year: 2024

Membagikan "LabVIEW による基数変換参考プログラム"

Copied!
9
0
0

Teks penuh

(1)

LabVIEW による基数変換参考プログラム

(最終改訂 2019/01/14)

書庫ファイル内容

LV_r_conv.zipには本稿(拡張子.pdf)、本稿掲載図および VIブロックダイアグラムキャプチャ画像

(フォルダ Figures:拡張子.png)、LabVIEW による 2 種類の基数変換参考プログラム(LV_r_conv

およびLV_r_prec)のソースファイル(拡張子.vi)、実行ファイル(拡張子.exe)、設定ファイル(拡張

子.ini)のLabVIEW2017版(情報科学研究教育センター(以下「センター」と表記)での実行にはラ ンタイムエンジン不要)および LabVIEW2013 版(ランタイムエンジンのダウンロードに National

Instruments社(以下「NI」と表記)のアカウント登録が不要)がそれぞれフォルダLV2017およびフ

ォルダLV2013内のプログラムと同名のサブフォルダに格納されている。実行ファイルは同じ場所に設

定ファイル(NIの数式文字列評価VIを使用しているLV_r_precでは実行時ライブラリlvanlys.dllを 含むdataフォルダも)を置いて開く(p. 9備考参照)。

LV_r_conv

10進2進変換について教科書では「10進から2進への変換は 2で割った余りを求め、2進から 10 進への変換は2の冪を加える」と書かれることが多いがこれはあくまでも人間が日常表現の枠内で行う 方法である。例えば10進の整数25は2進では (11001)2、”1”に対応する位の冪16、8、1はそれぞれ (10000)2、(01000)2、(00001)2でこれらを(コンピュータの内部表現で)加えた結果は元の (11001)2の ままであって決して10進の桁の値である“2”と“5"は出てこない。

正数Aを基数Ms(2以上の整数)で表現した各桁の値をsk0≦ sk ≦Ms -1、重みMs^k )とす るとき整数部k≧0の項が有限個(ただしいくらでも大きなAに対していくらでも多くの項が必要にな る)であるのに対し小数部k≦-1の項は一般には可付番ではない無限である。Aを基数Mtで表現した 各桁の値をtk 0≦ tk ≦Mt -1、重みMt^k )として、{ sk }を{ tk }に変換するアルゴリズムが存在す れば有限かつ普遍的な箇所から開始される筈で、実際、有限な{ sk }に対し{ tk }は小数点位置から以下の 通り求められる。Mtの乗除の演算は基数Msで表現したAの整数部小数部をそれぞれ整数型配列で表 し(各要素に基数 Ms の1 桁sk を格納)多倍長計算の要領で実行すればよい(Figures フォルダ中の multiply_BD.png、divide_BD.png参照)。

整数部(k≧0):

i) 基数Msで表現した整数部をMtで割る。余りとして最下位桁t0が求まる。

ii) i)の商をMtで割り、余りとして次の桁t1が求まる。

iii) 以下、前の商を新たな被除数として繰り返しMtで割った余りとして、下位から順次各桁が求まる。

商が0になれば終了(基数は2以上であり必ず有限回で終了しこれより上位の桁はすべて0)。 小数部(k≦-1):

i) 基数Msで表現した小数部にMtを掛ける。積の整数部として最上位桁t -1が求まる。

ii) i)の積の小数部にMtを掛け、積の整数部として次の桁t -2が求まる。

iii) 以下、前の積の小数部を新たな被乗数として繰り返しMtを掛け、積の整数部として、上位から順

次各桁が求まる。一般には無限に続く。

LV_r_convは変換元の基数で表した数を10進数字に英字を加えた拡張数字の文字列で入力し(基数

は62以下に制限されるが桁数の制限は無い)変換先の基数による表現を整数部小数部それぞれ1桁ず つ小数部については必要な桁まで(当該桁未満は切捨てられる。指定桁数を一括で求める”auto”ONで は指定桁の次の位での丸め指定ができる)求め変換過程を確認するデモVIである。フロントパネルの

(2)

レイアウトは図1に示す通り、変換元基数、変換先基数の表現を上下、整数部、小数部を左右にそれぞ れの制御器・表示器の背景色を分けて配置している。仕様は以下の通りである。

図1 LV_r_conv起動時のフロントパネル(停止状態で開く)

英大文字A~Zを値10~35、英小文字a~zを値36~61を表す10進数字の拡張として用い62以下 の基数に対応する。

押しボタンSW ”case-sensitive” がOFF(起動時既定)では大文字と小文字を区別しない。この場合、

基数の上限は36となり小文字で入力した「数字」も出力では大文字に変換される。

押しボタンSW “show table” ON(起動時既定はOFF)で当該基数の拡張数字表を表示する(p. 4図 3参照)。

押しボタンSW ”SET” のクリックで変換元と変換先の基数が設定される(p. 3図2参照)。変換元の 基数では現れない文字が使われている場合は「Invalid “digit”」と警告し、”SET”ボタンは非表示となる。

配列表現と変換先拡張数字文字列の背景色を整数部、小数部で区別する(起動時既定はそれぞれ黄緑 と明るいマゼンタ)。

基数に関る制御器・表示器の背景色(既に前項で色分けされた表示器についてはキャプション背景色)

を変換元、変換先で区別する(起動時既定はそれぞれ黄と藤色)。

実行ファイルは停止状態で開き、必要であれば停止中にカラーボックスで前2項の色を指定する。

商、積の配列の指標値はそれぞれ被除数、被乗数の配列の指標値に連動させ、配列指標、水平スクロ ールバーを表示しない。

変換先小数部の配列は循環確認のため指標を数値制御器”shift”の値ずらして同じものを2個上下に表 示し、対応する要素が押しボタンSW の設定(起動時既定は一致)の一致またはMt -1の補数の関係 にある要素をその下のブール配列でカラーボックスで指定した色(起動時既定は一致が黄緑、補数がマ ゼンタ)で表示する(LabVIEWでは配列要素のプロパティを要素個別に設定することはできないため 数値配列とは別にブール配列を使用)。上下の数値配列の指標値は配列表示器の水平スクロールバーで はなく循環開始位置、循環節長を設定する数値スライドで操作する(配列左のボックスは配列付属の指 標ボックスではなく数値スライド併設の数値ボックスである)。

押しボタンSW ”auto”がON(起動時既定はOFF)では押しボタンSW ”run”、数値制御器(キャプ ション”fraction digits”:起動時既定 100)、垂直スライド SW ”rounded”(起動時既定 OFF)を表示 し、”run”のクリックで整数部全桁と指定した桁数の小数部を一括で求める(変換元基数で表現された 配列等は非表示:p.3註1参照)。結果が指定桁数よりも短い有限小数となる場合、下位の0は表示しな い。”rounded” ONでは、指定桁数の次の位の桁の値が変換先基数の1/2以上のとき切上げる。切上げ は整数部にも伝播するため小数部から求める(Figuresフォルダ中のauto_BD.png参照。例えば1.999 を10進から10進、”fraction digits”2、”rounded”ONで”run”をクリックした結果は2.00となる)。

(3)

註1:フロントパネルの更新はLabVIEWでは特に重い処理で、制御器・表示器の表示・非表示とサイ ズの変更は五月雨式になる。このため、本VIでは切替の処理をサブVIで行い、サブVIの実行前後に パネルアップデート延期(Defer Panel Updates)プロパティを切替えて表示を一度に更新している

(Figuresフォルダ中のvisible_BD.png、LV_r_conv_BDT.png参照)。

押しボタンSW ”auto”がOFFのとき、押しボタンSW ”DIVIDE by xx”(”SET”のクリックでxxに 変換先の基数が設定される:OFF時は整数部の色、ON時は変換先基数の色)のクリックで変換先の整 数部が1桁ずつ得られる。終了すると無効化され変換先の拡張数字文字列が表示される。

押しボタンSW ”auto”がOFFのとき、押しボタンSW ”MULTIPLY by xx”(”SET”のクリックでxx に変換先の基数が設定される:OFF時は小数部の色、ON時は変換先基数の色)のクリックで変換先の 小数部が1桁ずつ得られる。有限小数の場合、終了すると無効化される。

押しボタンSW ”PASTE”、”COPY”(OFF時はグレー、ON時はそれぞれ変換元基数、変換先基数の 色)のクリックでそれぞれクリップボードの拡張数字文字列を変換元数値に貼り付け、変換先数値の拡 張数字文字列をクリップボードにコピーが行われる。

コピー・ペーストによる逆変換の便宜のため、クリックで変換元、変換先の基数を交換する押しボタ ンSW “swap radix”を設けている(p.4図4参照)。

変換元の小数部が ”.1”(変換元基数の逆数)でかつ変換先では無限小数となる場合、循環開始位置

(註2参照)と循環節長を変換先小数部配列の指標制御に使用する数値スライド”index”、”shift”の値に 設定する押しボタンSWを表示する。”index”、”shift”の値がそれぞれ循環開始位置、循環節長に等しい ときスライドノブの色がシアンになる(p.4図3参照)。LabVIEWの配列指標は0から始まり、開始位 置0は小数第1位からの循環を意味する。

註2:基数MtでMsの逆数を表すとき、① MtとMsの最大公約数が1(互いに素)のときは、小数第 1位から循環する無限小数となる。② MtとMsが互いに素でない場合には、Mtを素因数分解した素数 と指数をそれぞれ p1~pn、e1~enとするとき、Msは同じp1~pnに対し指数d1~dnで分解できるかま たはp1~pn 以外の素数の積が残る。前者の場合g 位で終る有限小数、後者の場合g+1位から循環す る無限小数となる。ここでgは(di +ei -1)/ei の整数部ui(1≦in)の最大値である(Figuresフォ ルダ中のrepeating_BDT.png参照)。

”SET”ボタンをクリックした状態では基数と変換元の数が設定され、p. 1のアルゴリズムの最初のス

テップ i) が終了している。図2に起動時既定(10進から16進への変換:変換元の数は整数部が32b 符号付整数の最大値、小数部が2進20桁(16進5桁)で循環する1/25)のまま実行ボタン(⇨)と”SET”

ボタンをクリックした状態のフロントパネル下部を示す。

整数部では16の除算(2147483647÷16=134217727...15)により1の位F、小数部では16の乗 算(0.04×16=0+0.64)により小数第1位0がそれぞれ最初の桁として得られている。

図2 起動後実行ボタン(⇨)と”SET”ボタンをクリックして最初の桁を表示

(4)

素数の逆数1/7が10進6桁で循環する様に素数pの逆数はpの倍数でない基数に対して小数第1位 から循環し(p.3註2の①)循環節長はp -1の約数(p =7の例では、10進で6、2進で3、6進で2、

8進で1)である。合成数mの逆数の循環節長はmを素因数分解した素数と指数をそれぞれp1~pn

d1dnとするとき{pi ^(di -1)}(pi -1)の乗積の約数となる。したがって変換元小数部の桁数が長い数の 変換先の循環開始位置、循環節長の計算は膨大な整数演算となりLabVIEWで求めることは現実的では なく、本VIでは循環開始位置、循環節長の算出を変換元小数部が1桁でその値が1の数に限っている。

正整数qの逆数1/qが基数Mtで2k桁で循環し、Mtk ≡ -1 (mod q )すなわち非負整数AによりMtk

=qA+(q-1)と表せる場合には、

Mt2k ={qA+(q-1)}Mt k = qAMt k + qMt k -{qA+(q-1)} = q {AMt k + (Mt k -1-A) }+1

よって、2k桁の循環節で後半Mt k -1-Aは前半AMt k -1の補数、即ち各桁がMt -1の補数となる。

図3は合成数28の逆数の10進表現の循環開始位置と循環節長を求めた例で小数第3位から循環節長 6で循環することを示している(図左)。循環節後半428は前半571999の補数(571+428=999)、 すなわち各桁が前半の各桁の9の補数である(図右)。

図3 28の逆数の10進表現の循環開始位置と循環節長(左)、循環節前半後半の補数関係(右)

図4は、起動時既定の数と基数に対し”auto” ONで既定のパラメータ(小数部100桁、”rounded” OFF)

で求めた結果を"COPY"、"PASTE"のクリックで貼り付け、”swap radix”、”SET”をクリック後、逆変 換で130桁求めた例である(log1016≒1.204であり16進1桁はほぼ10進1.2桁に相当する)。

図4 “auto”ONでの変換・逆変換の実行例

(5)

LV_r_prec

Ms^Ns≦Mt^Ntであるとき、基数MsのNs桁で表せる整数は基数MtのNt桁で正確に表現でき、

これを元の基数MsのNs桁の同じ値に戻すことができるが、浮動小数点数の場合は相対精度(註1参 照)が変動するため単純ではない。たとえば102は(余裕をもって)26よりも大きいが、仮数2進6桁

(6b)の小数を仮数10進2桁(2D)の小数に変換して逆変換するとき、区間[1/10, 1/2)、[1/100, 1/16) 等では変換先(逆変換で変換元の基数桁数に戻す中間結果)の 2D の方が 6bよりも相対精度が低いた め変換逆変換の過程で正しく丸め処理を行っても (0.110101)2×2-3 [=0.103515625] ⇒ (0.10)10×100

⇒ (0.110011)2×2-3 [=0.099609375]の様に最下位桁の差が1に収まらない例も生じ(p. 7図6参照)、 元の値と一致するものは80%台に止まる(p. 7図7参照)。

註1:同じ有効数字10進3桁であっても9.99と1.00とでは「3桁」の価値が異なることは日常実感す ることである。0でない値に対して絶対値を最下位桁1単位(最近接値へ正しく丸められた値では1/2 単位であるが値の素性が単純切捨である可能性も含めて1単位とする)で割った値の常用対数を10 進 相当相対精度と定義するとき10進3桁では2~2.9996と変動する。

浮動小数点数の基数変換を p. 1 のアルゴリズム通り正確に行うことは指数絶対値が大きい場合にコ ストがかかるためコンピュータ内部の2進10進変換では指数・対数関数のテーブルが使用される。

LV_r_precは、区間(0, 1)の数を変換元、変換先の基数・桁数を指定してp. 1のアルゴリズム通りに 変換を行い逆変換による復元結果と比較し、基数が異なることの意味と正規化による小数点移動を実感 するデモVIである。図5はLV_r_precの2つのモードの連携を示す実行例(起動時既定画面ではない)

で、仕様は以下の通りである。ここでは基数Mの正規化された仮数の範囲を整数部が含まれた[1, M ) ではなく語義通りの”fraction”(最初に浮動小数点演算回路を実装した商用機IBM704が仮数を称した)

である[1/M ,1)とする。

図5 LV_r_prec実行画面の例(シミュレーションモード不一致サンプルを手入力モードで閲覧表示)

LV_r_convと揃え変換元基数Ms、変換先基数Mtの上限は62、変換元桁数Ns、変換先桁数Ntの数 値ボックスへの入力値は制限されない(p. 8図8参照:増減ボタンの操作では128が上限)。

押しボタンSW ”rounded”(起動時既定ON)で変換・逆変換時の丸め処理の有無を指定する。

変換元の値を設定して区間(0,1)の小数の変換・逆変換結果を確認する手入力モードと分布(区間(0,

1)の一様分布または変換元で正規化された区間(1/Ms ,1)の対数分布:註2参照)とサンプル数(100、

256、512)を指定して統計結果を表示するシミュレーションモードをメニューリングで選択する。

註2:生成される乱数のDBL型データは53bと有限なため、変換元基数Msが2の倍数のとき小数部

配列要素は先行する0を除き53桁(4の倍数、8の倍数等の場合は更に早く)から先はp.1アルゴリズ ムの「積の整数部」が0となり、またMsが2の倍数ではなく無限小数となる場合も桁の間の相関が高 くなる。このため「前の積の小数部」に(0,1)の一様乱数を入れてリフレッシュする必要があるが、リ

(6)

フレッシュが遅いと桁の相関が高くなり早過ぎると所期の分布から外れる。本VIでは先行する0を飛 ばしてint(47/log2Ms)桁毎にリフレッシュしている(Figuresフォルダ中のgenerate_BDF.png参照)。

押しボタンSW ”swap parameters”のクリックでMsとMt、NsとNtの値をそれぞれ交換する。手 入力モードでは変換元と変換先の小数部の値も交換する。

変換元(ラベル”source”)、逆変換による復元結果(ラベル”restored”)を上下に並べ(配列指標は連 動)、差が最下位桁±1以内に復元された場合に復元結果の左上にLEDを点灯表示(exact:緑、+1:

マゼンタ、-1:青。消灯時はキャプションなし)する。【手入力モード】

変換元の値を設定するメニューリング配列(表示項目は拡張数字ではなく1~Ms -1の数値)の範囲 外指標の要素に入力した場合、次のループで削除する(LabVIEWでは配列サイズを固定できないため 入力そのものを禁止できない)。【手入力モード】

変換元の値が1に近く “rounded” ONで変換先の値が1に切り上がる(当然復元結果も切り上がる)

ときは変換先(ラベル”target”)の左上(復元結果の左下)にあふれ表示LED(ラベル”int OF”)が点 灯し、押しボタンSW ”swap parameters”を無効化・グレーアウトする。【手入力モード】

変換元最下位桁の値を1変化させる押しボタンSW(表示 ”+ increment” および ”- decrement”: 増減の結果整数部にあふれるまたは負になる場合は当該ボタンを無効化・グレーアウト)のクリックで 変換元の最小変化に対する変換先と復元結果の変化の様子を確認できる。【手入力モード】

文字列制御器(ラベル”formula”)に入力した数式文字列を評価し区間[0,1)に強制した絶対値を押し

ボタン SW ”ENTER”のクリックで変換元の値に設定する。押しボタン SW ”normalize”(起動時既定

ON)がONのときは頭打ちではなく[1/Ms ,1)に正規化した仮数(”normalize”ボタンの右にMsの指数 値が表示される)を格納する。非数は0、∞は1に強制し、1はあふれるため全要素をMs -1とする。

起動時既定は”pi(1)”の10進正規化値(0.314159265…)が設定された状態である。【手入力モード】

変換元のDBL相当値を数値表示器(キャプション”DBL value”)に表示する。【手入力モード】

設定桁数(制御器のキャプション”digits”)はp. 1のアルゴリズムで実際に処理される桁数(註参照)

で、数値表示器(キャプション”source leading 0”、”target leading 0”)に表示される変換元、変換先の 先行する0の桁数を必要な仮数桁数に加える。【手入力モード】

註:シミュレーションモードでは正味である仮数桁数を設定する。設定桁数の意味がモードで異なるが、

正規化小数点移動と実際の基数変換アルゴリズム処理の関係を明確にするためこの仕様としている。

変換元の設定値は、シミュレーションモードから移行した直後、Ms を変更したとき、押しボタン

SW ”CLR”をクリックしたときに0となる。【手入力モード】

シミュレーションモードで不一致サンプルのデータをクラスタ配列に格納しているとき(後述)、配 列内容と2個の押しボタンSW(表示”⇨increment & RCL”および”⇩RCL”)を表示し、ボタンのクリッ クで変換元小数部に転送し(変換元、変換先の桁数には仮数桁数に正規化シフト桁数を加えた値が設定 される)変換過程を確認できる。クラスタの要素はサンプルの DBL 値(変換元データ生成時にリフレ ッシュ処理をしており、リフレッシュの影響を受けない精度で表示)、変換元・変換先の基数、仮数桁 数、正規化シフト桁数、変換元の配列表現である(p.5図5参照)。【手入力モード】

設定桁数(制御器のキャプション”digits (net)”)は正味の仮数桁数を意味し、実際に処理される桁数 はこれに正規化による小数点移動桁数を加えた桁数である。【シミュレーションモード】

復元結果が変換元の値と許容誤差内で一致するサンプル数をタンクとメーターで表示し、2D ブール 配列(サイズはシミュレーションサンプル数に応じて10×10、16×16、16×32)で一覧表示する。【シ ミュレーションモード】

タンクのスライド色を一致サンプル 0%の青から 100%の赤まで一致率により変化させる(リニア補 間では中間色が暗くなるため指数を0.2としている。Figuresフォルダ中のcolor_BD.png参照)。【シミ ュレーションモード】

許容誤差(”none” / ”1 LSD”:起動時既定は”none”)の設定により、ブール配列LED点灯色とメータ ー背景色を変える(”none”:緑、”1 LSD”:黄)。【シミュレーションモード】

停止押しボタンSW(表示 ” ▍▍ PAUSE”)ONで表示を固定し、許容誤差の設定を変えて同じ母集団

(7)

の復元サンプル数の変化を確認できる。【シミュレーションモード】

”rounded”がONで停止状態のとき、押しボタンSW ”store inequality”(全て正しく復元されていれ

ば無効化・グレーアウト)を表示し、クリックで不一致サンプルのデータをクラスタ配列に格納(蓄積 ではなく上書き)する。【シミュレーションモード】

停止状態は押しボタンSWのトグル動作の他、許容誤差以外の設定を変更したとき解除される。【シ ミュレーションモード】

選択した分布範囲の10進相当相対精度のグラフ(Figuresフォルダ中のprec_BDT.png 参照)を表 示する。プロット色等はプロット凡例を右クリックして変更でき(既定の色はLV_r_convの既定に合せ て変換元が黄、変換先が藤色)、グラフパレットをクリックしてズーム操作等も可能である。グラフパ ネル上で右クリックし表示項目でカーソル凡例をクリックし、カーソルを作成して値を読取ることもで きる(図7参照)。【シミュレーションモード】

正規化小数点移動桁数のサンプル平均を選択した分布での期待値(一様分布では基数-1 の逆数、対 数分布では変換前後の基数の大小関係による:Figuresフォルダ中のshift_BDT.png参照。押しボタン SW“?show expected mean shift”を押している間表示される)との大小関係により背景色を変えて

(>:マゼンタ、=:緑、<:シアン)表示する。【シミュレーションモード】

102 > 26であっても浮動小数点数では6b⇒2D⇒6b で最下位桁±1以内に復元できない例としてp.5 に挙げた (0.110101)2×2-3 ⇒ (0.10)10×100 ⇒ (0.110011)2×2-3の過程を確認するLV_r_prec手入力 モードの実行例を図6に示す。Ms = 2、Mt = 10、Ns = 9(先行する0の桁数3を仮数精度の6に加え て処理桁数を設定する)、Nt = 2(先行する0は無い)の設定で数式文字列 ”0.1”を、”normalize”OFF で”ENTER”をクリックして変換元に(0.110011)2×2-3を設定後、”+ increment”を2回クリックした変 換元の値(0.110101)2×2-3に対し復元値が(0.110011)2×2-3 から変化しないことが分る。

図6 仮数精度6b⇒2D⇒6bの変換・逆変換で最下位桁2単位の差を生じる例

図7 LV_r_precシミュレーションモードの実行例(仮数精度6b⇒2D⇒6b):相対精度変動の様子

6b⇒2D⇒6bでは復元率が100%にならない理由を示すLV_r_precシミュレーションモードの実行例

を図7に示す。Ms = 2、Mt = 10、Ns (net) = 6(シミュレーションモードでは設定桁数に正規化小数点

(8)

移動桁数を加えたものが実際の処理桁数になる)、Nt (net) = 2の設定で区間(0, 1)の一様分布サンプル で復元結果が一致するものは、この例では100サンプル中81である。当然ながら区間(1/2, 1)の対数分 布では全て元の値に復元される。分布を切替えて 10 進相当相対精度のグラフの変化に見る通り、区間 (1/2, 1) では全範囲で2Dの精度(藤色)が6bの精度(黄)を一定値(log10(100/64)≒0.19)上回るの に対し、区間 (0, 1) では大きく下回る部分のあることが分る。

DBLの精度は10進16桁相当(53 log10 2≒15.95)とされるが、既定の設定16D⇒53b⇒16D、パラ メータ交換した53b⇒16D⇒53bの何れも区間(0, 1)の一様分布サンプルでは復元率100%にならない。

ただし、相対精度グラフに見る通り変換先相対精度が変換元相対精度を下回る最大値がlog10 2未満で

ある16D⇒53b⇒16Dでは許容誤差1 LSDで100%復元されるのに対し、変換先基数の相対精度の変動

が大きい53b⇒16D⇒53bでは6b⇒2D⇒6bと同様、許容誤差1 LSDでも100%は復元できない。

グラフ表示の起動時既定ではグラフ上部に右からプロット凡例(クリックでプロット色等を指定)、

グラフパレット(クリックでズームインアウト、非表示部分への移動等を操作)、Xスクロールバー(ズ ーム、非表示部分への領域移動時に機能)を表示している。p.7図7のグラフ右下のカーソルは、次の 操作で表示したものである。グラフパネル上で右クリックし「表示項目」→「カーソル凡例」を選んで 表示したカーソル凡例を右クリックし「カーソルを作成」→「複数プロット」を選択、カーソル凡例左 端のカーソルフォーマットメニューを右クリックし「監視」→「すべてのプロット」を指定、「属性」

→「色」で緑を指定。カーソル位置の変更はカーソル凡例枠外のカーソル移動ボタンをクリックするか またはカーソルを(ズーム操作、領域移動を行った場合はグラフパレット左端のカーソルアイコンをク リック後)グラフ上でドラグする。

図8 (0.0000128)10の16進循環節長の確認

LV_r_prec の処理桁数に制限は無いが、手入力画面で表示する配列要素の数はメニューリング配列、

数値配列でそれぞれ26、41に制限し、これを超える場合は水平スクロールバーを表示する。処理時間 はNs ×Nt(シミュレーションモードではこれにサンプル数を掛けた値)に比例するため、Ns、Ntが 共に大きな値での実行は、特にシミュレーションモードでは実際的ではない。図 8 は LV_r_prec の手 入力モードで(0.0000128)10の16進循環節長15625(註参照)を確認する例である。

註:16≡1 (mod 5)より1/5の16進循環節長は1で、5-n(n≧1)の16進循環節長が5n-1となることは 数学的帰納法で容易に示される(10-n の16進循環節長も等しい)。LV_r_conv.zipに同梱の0000128.txt は (0.0000128)10(5-7)をLV_r_conv ”auto” ON、”rounded” OFFで16進15635桁まで求めた結果(16 進文字列)をクリップボードにコピーして保存したもの(最後の10桁は最初の10桁と同じ)である。

(9)

備考

ランタイムエンジンについて

LabVIEW の実行ファイル(スタンドアロンアプリケーション)を開くには当該バージョンの

LabVIEW本体またはランタイムエンジンが必要で、数式評価VIを使用しているLV_r_precでは当該

バージョンの実行時ライブラリlvanlys.dllも必要になる。センターのPCにはLabVIEW2017がイン ストールされており、LV2017フォルダ中の実行ファイルをそのまま開くことができるがLV2013フォ ルダ中の実行ファイルは開けない。

個人所有PCでLabVIEW2017版実行ファイルを開くにはバーチャルカフェテリア(本学の学生は特

別な利用申請無しに利用可能)にログインするかまたは以下のページでNIユーザアカウントを登録し てダウンロードしたLabVIEW2017ランタイムエンジンをインストールする。

ダウンロードページ:http://www.ni.com/download/labview-run-time-engine-2017-sp1/7191/en/

ファイル名:LVRTE2017SP1_f3Patchstd.exe、ファイルサイズ:363.29 MiB

NIユーザアカウントの登録に抵抗のある人は次の場所からLabVIEW2013ランタイムエンジンをダ ウンロード(登録不要)、インストールしてLV2013フォルダ中の実行ファイルを開く。

http://ftp.ni.com/support/softlib/labview/labview_runtime/2013/Windows/LVRTE2013std.exe ファイル名:LVRTE2013std.exe、ファイルサイズ:257 MiB

フォント指定について

LabVIEW では、フォントを VI の作成時に明示的に指定することもできるが、通常実行ファイルを

作成する場合には(指定フォントがインストールされていない環境では表示できなくなるため)OS 既 定のフォントを使用しており、作成時のフォントと実行時のフォントが異なる場合、文字列が枠に収ま らない、配列が斜めにずれるなどのレイアウトの乱れを生じる。以下の4行が書かれた同梱の設定ファ イル(VIと同じファイル名で拡張子が.ini)を実行ファイルと同じ場所に置いて開くこと。

LV2017版設定ファイル

[VIファイル名(拡張子無し)]

appFont="メイリオ" 17 dialogFont="メイリオ" 17 systemFont="メイリオ" 17

LV2013版設定ファイル

[VIファイル名(拡張子無し)]

appFont="MS UI Gothic" 12 dialogFont="MS UI Gothic" 12 systemFont="MS UI Gothic" 12

数式文字列について

LV_r_prec の文字列制御器に数式文字列として入力して数式評価VI で解釈できる関数は、例えば次

のURLにリストがある。

http://www.mathmachines.net/Construction/SSSP/LabVIEWFormulaStrings.pdf

Referensi

Dokumen terkait

と思ったのかについて検討してみる。 エンは実習参加当時,将来日本で就職すべきか, 帰国するか,あるいは第三国に留学するか,非常 に迷っていた。 (1) 64 R: 行く前は,どんなことを勉強したいと 思ったのかな? 65 エン: 勉強といえば,あれはほんとに迷い ました。日本にママ就職するか,帰国するのか迷 いましたので。やっぱり,日本の方が給料が

日本人支援者との協働による言語少数派の親の教育参加 「母語・日本語・教科相互育成学習モデル」の実践から 小田珠生∗ 概要 本研究では,言語生態学(岡崎,2007)の視点に立ち,日本において言語少数派生徒の親の母語によ る子どもの教育を継続させるためには,日本人支援者が彼らとどのような協働関係を築くことが必要か

• 発話の種類において、学習項⽬を教授するために必要な⾔語とその使⽤のみならず、クラス運営に 必要な⾔語とその使⽤について習得している必要がある。 • 答え合わせのやりとりの中の⼀定の対話パターン「I-I-R-I-R-F-A」の繰り返しにおいて、「I-R- F」を含む対話らしさがあり、児童の答え(Rのあとの教師によるFやAは,評価となり,児童の発

高度好塩性菌のエネルギー変換に関する熱力学的解析 食塩濃度10%を超える環境で良好に生育する微生物は,高度 好塩性菌と呼ばれている.高度好塩性菌,特にアーキアでは, 細胞外の極度に高い塩濃度から生じる浸透圧を解消するために, 細胞内にも著量の塩を蓄積している.これにより,細胞内外の 酵素ほとんど全てが高塩環境に曝されることになり,酵素レベ

(①期待は大きいと思う,②期待は大きくないと思う, の2水準)と「Q5 経営陣の電子商取引に関する取り組 み状況の満足度」(①満足していると思う,②どちらとも 言えない,③関心がない・不満だと思う,の3水準)に ついてχ2乗検定を行ったところ,漸近有意確率(両側) は 0.002 で有意と出て,仮説は支持された.経営陣の電

演習 演習問題をこな フィードバック: し、内容について 適時、演習の内容 理解できる。 について解説。.. リレーションシップの設 定 リレーションシップの設 定の構造を理解する。リ レーションシップに関す

様々な関数の利⽤、 (予習)様々な 90 主体 性 クエリのフィールド 関数について予 計画 プロパティの設定な 習しておく。 ⼒ どについて理解でき る。 (予習)普通のク 90 主体 エリとアクション 性 クエリの構造の違 計画 いをより理解する ⼒ ために復習してお く。.. 演習 アクションクエリ フィードバック: の作成についての 適時、演習の内容

一尺V係数規準による数値的検討一 森裕 岡山理科大学総合,情報学部社会情報学科 (1998年10月5日受理) 1.はじめに 主成分分析や因子分析を用いて,少ない次元でデータの隠された特徴までを測りとれる ような指標を作ることを考える。妥当性の高い指標を得ようとすると,調査にはできるだ