CalcLoop Plusを使って、ループ変数を変化させながら、数式を連続して計算することが出来ます。
- 数式フィールドに次の数式をドラッグ&ドロップします。
%nograph
x=<100e-6:500e-6:20e-6>@
a=60/sqrt(5)@
a2=0.67*pi*x*(0.8+35E-6/x)@
b={400e-6,600e-6}@
y=a*ln(4.0*b/a2)
ここで、%nographは数式ヘッダーの1つで、数式の結果をグラフに出力しない場合(結果は数値出力のみ)に使用します。また、xはループ変数で、その変化の範囲を「=<最小値:最大値:ステップ値>」で指定します。「={,}」でパラメータを指定します。
- 「実行」ボタンをクリックします。
- 計算結果(数値)が「リスト」ペインに出力されます。
1.000000e-04 50.67577 61.55554
1.200000e-04 47.18039 58.06016
1.400000e-04 44.08830 54.96807
1.600000e-04 41.31600 52.19577
1.800000e-04 38.80349 49.68326
2.000000e-04 36.50623 47.38600
2.200000e-04 34.39024 45.27001
2.400000e-04 32.42898 43.30875
2.600000e-04 30.60135 41.48112
: : :
第1列がXデータで、ループ変数xの値が出力されます。第2列と第3列がYデータで、パラメータの指定数分、変数yの値が出力されます。
今度は先程の数式の計算結果をグラフ化してみます。
- 1の数式から、%nographヘッダーを削除し、以下の様に、グラフ関連のヘッダーを追加します。
%nographヘッダーがあると、グラフ関連のヘッダーは無視されます。%rangelogヘッダーはグラフの座標軸を対数軸に設定します。(第1パラメータに座標軸の種類、第2パラメータに範囲(最小値、最大値)を指定します。第2パラメータが無ければ、範囲が自動設定されます。)%axislabelヘッダーでは軸ラベル(x、y、y2軸)、%labelではデータラベルを指定します。
%rangelog x (5e-5:0.001)
%rangelog y
%axislabel title "Line width and Impedance"
%axislabel x "width [m]"
%axislabel y "Z0 [Ω]"
%label b=400um b=600um
x=<100e-6:500e-6:20e-6>@
a=60/sqrt(5)@
a2=0.67*pi*x*(0.8+35E-6/x)@
b={400e-6,600e-6}@
y=a*ln(4.0*b/a2)
- 「実行」ボタンをクリックします。
- 計算結果のグラフが「グラフ」ペインに出力されます。「リスト」ペインには同時に計算結果がテキストで出力されます。
- 凡例表示をオフにするために、グラフを選択した後、「オブジェクト」メニューから「凡例を隠す」を選びます。また、ウィンドウ下部のツールボタンから「ラインツール」を選択し、矢印を作成し、データラベルを適当な位置に移動します。
初期状態での凡例表示の有無は、環境設定パネルの設定で決まります。また、線の種類は環境設定パネルで設定します。
ファイル読込み関数を数式に組み入れることで、実験等で得られた生データに対して、各種の計算処理を加える事ができます。
- 次の読込み用データを、ウィンドウ右上のfread関数入力データフィールドにドラッグ&ドロップします。
3 0.30
4 0.41
5 0.48
6 0.53
7 0.60
10 0.78
20 1.14
30 1.08
40 1.11
50 1.36
60 1.53
70 1.60
80 1.90
100 1.73
ドラッグ&ドロップ以外に、「ファイル指定」ボタンから特定のファイルを指定する方法や、%externalヘッダーを使用して特定のファイルを指定する方法により、ファイル読込み関数の入力データを割り当てることが出来ます。
- 数式フィールドに次の数式をドラッグ&ドロップします。
%format d f
%symbol l s
%symboltype 0 1
%linetype 6 0
%rangelog x (1:200)
%rangelog y (0.2:3)
%label calc. meas.
%axislabel title "Test Graph"
%axislabel x "F. [Kg]"
%axislabel y "Disp. [m]"
x=fread(0)@
a=0.2227@
b=0.4704@
z=a*x^b@
y={z,fread(1)}
ファイル読込み関数freadの引数にはデータの列番号を指定します。fread関数はループ変数を制御出来ますので注)(データ行数分のループを生成します)、ループ変数の範囲指定「=<::>」は不要です。この例では入力データの第1列をループ変数xに、第2列を変数yに代入しています。
注)ファイル読込み関数には、シーケンシャルにデータを読込むfread関数と、ランダムにデータを読込むfread2関数があります。ループ変数を制御出来るのはfread関数のみです。
この例では、入力データと共に、計算から求めた理論値をグラフ上にプロットします。そのため、変数yにはパラメータ指定「={,}」を使って、理論値(変数z)と入力データからの値(fread(1))を代入しています。
%symbolヘッダーでシンボルとラインの組み合わせを指定します。またシンボルの種類、ラインの種類を夫々%symboltypeヘッダーと%linetypeヘッダーで指定します。
- 「実行」ボタンをクリックします。
- 計算結果のグラフが「グラフ」ペインに出力されます。「リスト」ペインには同時に計算結果がテキストで出力されます。
- 前の例と同様に、凡例表示をオフにし、矢印を追加します。また、「ウィンドウ」メニューの「フォントパネルを表示」を選択して、タイトルのフォントを変更します。
ファイル読込み関数を使って、文字列データの読込みも可能です。(但しグラフ出力する場合は、必ず読込まれた文字列データを、ループ変数xに割り当てます。)この例では、読込んだ文字列をx軸ラベルとする棒グラフを作成します。
- 次の読込み用データを、ウィンドウ右上のfread関数入力データフィールドにドラッグ&ドロップします。
中国 10794 13784
米国 16934 7911
サウジアラビア 540 4325
アラブ首長国連邦 704 3672
豪州 1453 3248
韓国 5849 3178
インドネシア 858 2807
台湾 5131 2365
ドイツ 2376 2146
タイ 2665 1964
- 数式フィールドに次の数式をドラッグ&ドロップします。
%xstrings a
%format s f
%symbol s
%rangelin y (0:20:10)
%axislabel title "主要国別我が国の輸出額 2006"
%axislabel y "単位:兆円"
%label 輸出 輸入
x=fread(0)@
z={fread(1), fread(2)}@
y=z/1000
x軸ラベルを文字列で表示するためには、%xstringsヘッダーが必要です。%xstringsヘッダーのパラメータはx軸ラベルの表示タイプ(「a」は交互に表示位置を上下に変えるタイプ)です。%formatヘッダーはリスト出力時のフォーマット指定です。「s」は文字列、「f」は実数です。(他に「d」は整数、「y」は整数の3桁区切り、「e」は指数付実数。)
棒グラフを作成するためには、環境設定パネルの「x文字列のグラフ生成時、棒を使用」にチェックを入れます。また、「データ値を付加」にチェックを入れると、棒グラフの近傍にyデータの値がプロットされます。
- 「実行」ボタンをクリックします。
- 計算結果のグラフが「グラフ」ペインに出力されます。
- 「リスト」ペインには同時に計算結果がテキストで出力されます。
中国 米国 サウジアラビア アラブ首長国連邦 豪州 韓国 インドネシア 台湾 ドイツ タイ
|
10.79400 16.93400 0.54000 0.70400 1.45300 5.84900 0.85800 5.13100 2.37600 2.66500
|
13.78400 7.91100 4.32500 3.67200 3.24800 3.17800 2.80700 2.36500 2.14600 1.96400
|
|