RP Fiber Power 光纖激光器及激光器設計軟件一腳本語言22結果的圖形輸出

22 結果的圖形輸出

RP Fiber Power具有大量的特性,可以產生圖形輸出。本文檔并沒有解釋所有特性,但在線幫助系統提供了更多詳細信息。在下面的例子中,我們考慮了一個顯示光功率分布和沿光纖的上態粒子數的圖,假設已經定義了摻鐿放大器的參數:

diagram 1:

"Powers along the Fiber"

x: 0, L_f

"position (m)", @x

y: 0, 2

"power (W)", @y

y2: 0, 100

frame

f: P(pump, x),

  color=lightred, width = 3, "pump"

f: P(signal_fw, x),

  color=lightblue, width = 3, "signal,forward"

f: P(signal_bw, x),

  color=magenta, width = 3, "signal,backward"

f: 100 * n(x), yscale = 2, style = dotted,"excitation"

一些評論:

1. 腳本文件可以通過使用“diagram 1:”之類的命令對每個圖形定義集進行標題來定義多個圖表。(如果圖號被省略或替換為“?“,將選擇下一個可用的圖表編號。)

其他選項可以用逗號附加。使用position = (100, 100),可以確定屏幕上圖表窗口的水平和垂直位置(從左上角開始的距離,單位為屏幕大小的1/1000)。同樣,對于size = (500, 300),可以確定圖形區域相對于屏幕尺寸的水平和垂直大小。使用size_px = (500, 300),可以以像素為單位確定尺寸。用for j := 1 to 3(例如)可以生成圖表的多個版本。用transparent可以生成透明的圖形,這僅在之后將圖形保存到PNG或GIF文件時才相關。

2.默認情況下,將顯示所有定義的圖表;如果不需要,可以使用類似于diagram shown: 1, 3的命令來定義應顯示哪些圖表。

在圖號之后,可以在圓括號中插入一個條件,這樣只有滿足該條件時才會顯示圖。例子:

diagramshown: 2 (test2 > 0), 4 (test4 > 0)

也可以定義一個表達式,該表達式決定是否顯示所有圖表。例子:

diagramshown: (j: j <= 5) { show diagrams 1 to 5 }

3.沒有進一步說明的第一個文本字符串被視為圖表的標題。其他文本字符串將作為副標題(字體較小)。

4.命令x:和y:定義坐標軸的范圍,frame將坐標系的常規類型從默認的兩個軸設置更改為在圖表周圍有一種框架。坐標范圍后定義的字符串具有選項@x和@y,指示這些字符串應沿坐標軸放置。

5.  y2:命令定義第二個y軸。僅當同時使用frame命令時才顯示。最后一個圖形中的選項yscale=2選擇第二個y軸進行垂直縮放。

同樣,可以使用x2:獲得第二個x軸,并且使用選項xscale=2,可以根據該軸水平縮放圖形。

6.  命令f:定義函數圖。它基本上只需要一個參數:依賴于水平坐標x的數學表達式,其結果定義垂直位置。使用逗號,可以附加更多選項。上面演示的選項:color定義圖形的顏色(其中一些預定義值為black、blue、green、cyan、red、magenta、brown、 lightgray、darkgray、lightblue、lightgreen、lightcyan、lightred、lightmagenta、yellow、orange、violet、white),width線條寬度(按圖表大小縮放;您可能需要至少3個值查看效果),style線條樣式(solid、dashed、fdashed、dotted、dotdashed),文本字符串作為標簽顯示在圖表中。還可以使用選項step=50,使表達式僅每50個像素計算一次(以節省時間)。

命令f:還支持選項init expr,其中expr代表一個數學表達式,該表達式在繪制圖形之前進行計算。類似地,finish expr將在繪制圖形后計算表達式。例子:

f: P(signal_fw, x), init set_P_in(signal_fw,0.1e-3)

f: P(signal_fw, x), init set_P_in(signal_fw,0.2e-3)

此外,還可以使用循環來繪制多個圖形:

f: P(signal_fw, x),

  init set_P_in(signal_fw, P_s_in),

  ["P_s_in = ",P_s_in:d3:"W"],

  color = color_I(P_s_in / (10 mW)),

  for P_s_in := 1 mW to 10 mW step 1 mW

在后一個示例中,還可以獲得與不同曲線對應的圖例說明和顏色。

7. 請注意,在讀取腳本時,圖形不是立即準備好的,而是整個腳本成功讀取后(即,沒有遇到語法錯誤)。

8. 當在繪制圖表時必須更改某些設置(例如,為了沿水平軸改變泵浦功率),使用復合表達式表示垂直坐標。例如,

f: (set_P_in(pump, x); P_out(signal_fw))

有一個表達式,首先根據水平位置設置泵浦功率,然后計算并返回信號輸出功率。這種復合表達式可以有任意數量的子表達式,用分號分隔,并包含在括號中或在begin和end中。因此人們也可以寫

f: begin

    set_P_in(pump, x);

    P_out(signal_fw);

  end

9. 有時人們不喜歡畫一個完整的圖,只喜歡在圖中顯示一些點。例如:

! for x := 3 to 4 step 0.1 do

   point(x + I * P(signal, x), "o")

將在幾個位置顯示空心圓圈,指定為實數部分(水平坐標)x和一些功率作為虛數部分的復數。其他可能的標記包括實心圓圈("O")、矩形("r")、三角形("t")、倒三角形("n")、菱形("h")、交叉("x")、星形("*")、單像素點("p")或較粗點("P")。

10.  k命令生成參數化曲線:定義一個參數在一定范圍內運行,用相應的表達式計算x和y坐標。例子:

k: t := 0 to 2 pi step pi / 100,

  4 * cos(t), 2 * sin(5 * t),

  color = blue, width = 3, marker ="x"

11. cp命令允許用戶生成顏色圖,其中坐標系中的每個點都獲得從x和y坐標計算出的顏色。用戶必須指定一個從x和y計算RGB顏色值的數學表達式。例如,

colorscale(r) :=

  if r >= 0

  then red

else blue

cp: colorscale(sin(x) * cos(y))

首先定義一個將實值轉換為顏色的函數,cp命令使用它來指示該函數參數是正的還是負的。可以使用更復雜的函數,如rgb()函數,來定義連續的顏色標尺。還有用于強度和復振幅顏色標尺的color_I(r)和color_A(z%)函數。在線幫助提供了更多詳細信息。

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP