Creo Flow Analysis > Creo Flow Analysis 入門 > Creo Flow Analysis 的介面 > 運算式編輯器 > 函數
  
函數
「運算式編輯器」(Expression Editor) 中的下列函數可讓您對向量與純量進行數學與邏輯運算:
運算子
向量與純量通用,例如加和減
僅限純量,例如平方根與對數
僅限向量,例如點積與叉積
邏輯函數
三角函數與雙曲函數
其他函數
運算子
運算子可對向量與純量進行數學運算。在下表中,a、b、c 是純量,U,V,W 是向量。
運算式運算子
功能
範例
運算子:純量與/或向量
a = b+c 或 V = U+W
a = b-c 或 V = U-W
*
兩個純量相乘或純量與向量相乘
a = b*c 或 V = a*U (但不是 V = U * W)
運算子:僅限純量
/
a = b/c
exp(scalar)
以 e 為底數的指數函數
a= exp(b) 可將 e 升至 b 次冪:a= eb
ln(scalar)
e 的自然對數函數
a= ln(b) 會傳回 b 的自然對數
sqrt(scalar)
平方根函數
a = sqrt(b)
^
指數函數
a= b^c 會將 b 升至 c 次冪:a= bc
運算子:僅限向量
&
向量點積
a = V&U (a = |V| |U| cos (angle))
^
向量叉積
V=U^W (|V| = |U| |W| x sin (angle) ),右手定則適用。
len(vector)
傳回向量 V 的長度
a = len(V)
normalize(vector)
傳回正規化單位向量 V/|V|
V = normalize(U)
rotate(vector,angle, direction,center)
根據旋轉角度、RHR、旋轉軸及選用旋轉中心傳回旋轉向量。(如果未定義中心,預設為 0,0,0)
Vrot = rotate(V,alpha,U,W),其中 V 是要旋轉的向量,alpha 是以弧度為單位的角度,U 是旋轉軸。右手定則適用。W 是定義為向量的選用中心點。
邏輯函數
邏輯函數可讓您包含邏輯語句。
運算式運算子
功能
範例
true
邏輯真
false
邏輯假
<
小於
>
大於
==
邏輯比較相等
a = (b==3) ? 1 : 2
邏輯或
邏輯與
!
邏輯非
!< 不小於
a = expression ? b : c
如果運算式為 true,則 a = b;
如果運算式為 false,則 a = c
a = (b>3) ? 1 : 2 ==> ( 如果 b 大於 3,則 a = 1;否則 a = 2)
三角函數與雙曲函數
三角函數與雙曲函數可讓您在數學語句中包含對應函數。
超越式
功能
三角函數
sin(radians)
正弦函數
cos(radians)
餘弦函數
cot(radians)
餘切函數
tan(radians)
正切函數
asin ()
反正弦函數,會傳回以 rad 為單位的值
acos ()
反餘弦函數,會傳回以 rad 為單位的值
acot()
反餘切函數,會傳回以 rad 為單位的值
atan ()
反正切函數,會傳回以 rad 為單位的值
atan2(y,x)
兩個變數的反正切函數,(-pi, pi),會傳回以 rad 為單位的值
雙曲函數
sinh ()
雙曲正弦函數
cosh ()
雙曲餘弦函數
coth()
雙曲餘切函數
tanh ()
雙曲正切函數
asinh()
反雙曲正弦函數
acosh()
反雙曲餘弦函數
acoth()
反雙曲餘切函數
atanh()
反雙曲正切函數
其他函數
運算式運算子
功能
範例
abs(x)
絕對值函數
max(x,y)
最大函數
a = max(b,c) ==> 如果 b >c,則 a= b;如果 c>=b,則 a=c
min(x,y)
最小函數
a = min(b,c) ==> 如果 b <c,則 a= b;如果 c<=b,則 a=c
mod(x,y)
模數函數
a = mod(c,b) ==> a = c 除以 b 的餘數
sgn(x)
傳回指示正負號的標誌 (-1、0 或 1)
a= sgn(b) ==> 如果 b<0,則 a = -1;如果 b=0 ,則 a = 0;如果 b>0,則 a = 1
step(x)
階梯函數會根據相對於零的值傳回 0 或 1
a= step(b) ==> 如果 b<0,則 a = 0;如果 b>=0,則 a = 1
表格函數可讓您包含位於與專案檔案 (*.spro) 相同之目錄中之外部表格檔案中的資料。
表格運算式
功能
table(filename,x)
從 1-D 表內插
table(filename, x ,y)
從 2-D 表內插
範例
使用表格:
# 從表格擷取資訊
p = table("inlet_pressure.txt",time)
密度 = table("R134a_density.txt",temp,pre)
表格格式:1-D (filename,x) - 可讓您存取位於與專案檔案 (*.spro) 相同之目錄中的 1-D 資料表。
均勻分布的 1-D 表格式
<?xml version="1.0" encoding="ISO-8859-1"?>
<table size="n" min="xmin" max="xmax" outside="flat | extrapolation">
# comments (x assumed to have uniform distribution)
v1
v2
...
vn
</table/>
非均勻分布的 1-D 表格式
<?xml version="1.0" encoding="ISO-8859-1"?>
<table size="n" outside="flat | extrapolation">
# You can add comments by putting the hashmark “#” in front .. but do not insert comments before the xml line (line 1)
x1 v1
x2 v2
xn vn
</table/>
在此格式中,表格標籤下的 outside = “flat” or outside = "extrapolation" 可決定當 x, y 輸入超出範圍時您確定值的方式。
表格格式:2-D (filename,x) - 可讓您存取位於與專案檔案 (*.spro) 相同之目錄中的 2-D 資料表。
均勻分布的 2-D 表格式
<?xml version="1.0" encoding="ISO-8859-1"?>
<table size="nx my" min="xmin ymin" max="xmax ymax" outside="flat | extrapolation">
# comment
# values table (x and y assumed to have uniform distribution
v(x1,y1) v(x2,y1) … v(xn,y1)
v(x1,y2) v(x2,y2) … v(xn,y2)
...
v(x1,ym) v(x2,ym) … v(xn,ym)
</table>
非均勻分布的 2-D 表格式
<?xml version="1.0" encoding="ISO-8859-1"?>
<table size="nx my" outside ="flat | extrapolation">
# x and y variable ranges
x1 x2 … xn
y1 y2 … ym
# values table
v(x1,y1) v(x2,y1) … v(xn,y1)
v(x1,y2) v(x2,y2) … v(xn,y2)
...
v(x1,ym) v(x2,ym) … v(xn,ym)
</table>
在此格式中,表格標籤下的 outside = “flat” or outside = "extrapolation" 指定當 x, y 輸入超出範圍時用來確定值的方式。
 
* 欲新增註解,請在文字前加上雜湊標記 "#"。請勿在 xml 行或第 1 行之前插入註解。
運算式編輯器