全球FlexSim系统仿真中文论坛

标题: Flexsim常用数学函数简介 [打印本页]

作者: zorsite    时间: 2017-5-31 02:14
标题: Flexsim常用数学函数简介
本帖最后由 zorsite 于 2017-5-31 03:15 编辑
# D* ?% X- c1 K* t- L5 m' y$ _: ~
ceil5 u0 [# `$ _# v3 D
(num num)
天花板,向上取整。
Example
double myval =ceil(2.3); // Sets myval to 3. 2 K, b" L: p8 \! L8 \5 ~" Q1 a, g7 K
double myval = ceil(3.8); // Sets myval to 4.
2 s6 I8 g" {0 {( B) h$ O& edouble myval = ceil(-2.3); // Sets myval to -2. 6 j& v% x0 F- w, x- d
double myval = ceil(-3.8); // Sets myval to -3. 9 Z! `( H5 a1 @& X- P& e0 P6 d$ D

: |9 `$ \' G7 m
floor) R+ L8 Q+ J- d
(num num)
地板,向下取整。
Example
double myval = floor(2.3); // Sets myvalto 2. 9 O! v% O9 p; s& b
double myval = floor(3.8); // Sets myval to 3. - W7 _3 N8 e7 p% w& K
double myval = floor(-2.3); // Sets myval to -3.
5 ]* V# L1 N9 S# z2 ]) S/ idouble myval = floor(-3.8); // Sets myval to -4. + X% t7 _3 D. j& r# s

5 w0 A( C/ I2 h& S# X! b! ^- I( E
round
4 H1 S: J2 r9 m1 V(num value[, num precision])
根据指定的小数位数进行四舍五入。
Example
int mynum1 = round(3.6269);/ q; ]5 e3 Q! ^
int mynum2 = round(3.6269,2);
9 h$ c* ]3 R4 \; m$ r1 N, {- D* I) g6 h1 t+ h% j
mynum1 will be 4, and mynum2 will be 3.63.
# N  Q5 N" g) @1 A3 G8 Z2 \* I7 A' b/ Q# b& z& V9 K3 X& R
trunc
1 R& j9 Z6 s# |. S. D(num value)
去除小数部分取整。Truncation
Example
trunc(2.478), returns 2
: h  N/ A& x+ F& z+ \# \6 g* m, x( B8 q6 B5 j' n/ o( T" H
trunc(2.95), returns 2

' ]: @2 S  n1 w, k1 \7 w! s( {
frac
+ }# }9 }& {% r$ r5 d$ {* b(num value)
取小数点之后的部分。
Example
frac(3.124) returns 0.124' z0 A" x5 _# ]3 H' \
frac(-16.12) returns -0.12
5 f% k0 D7 [' B  {& e6 m$ Kfrac(12) returns 0.0
% n+ Z: U2 A$ b. [2 Q3 k8 Q  d4 o2 g  E5 m- A8 X" k/ |, x
sign
2 b1 J* ^: N* n8 [$ u(num value)
决断正负零,正数返回1,负数返回-10返回0
Example
sign(-1)
) m7 [5 A3 w) V" i5 k8 ^0 {: {4 J5 r3 J. O: f: {6 g# z# R
fabs
! l0 M. V& f- L0 V  @(num value)
绝对值。
Example
if(fabs(x1 - x2) > 5)
% n. B" h# S' g+ m! b9 q! m: K+ Y/ }' @
factorial
0 t. F1 O0 `8 {+ A& }& o- J(num value)
阶乘。
Example
factorial(5) ' c. L& B* ~( ^6 @

; g* N# z3 u' C& g+ G/ sThis calculates the factorial of 5, which is 1*2*3*4*5 = 120
; K: j0 }4 O  m9 A
+ k% O1 x$ M3 V9 i4 {
fmod
7 ^& z- b  t2 X, ?(num value1, numvalue2)
取余。
Description
Remainder of value1/value2. fmod returnsthe floating-point remainder of value1 / value2. If the value of b is 0.0, fmodreturns a quiet NaN.8 Q# s7 _7 T4 i
This command is great for getting a repeating set ofnumbers because no matter what value1 is, so long as value2 is unchanged, fmodwill return a set of numbers that keeps repeating itself.
Example
fmod(10,3) This returns the remainder of 10/3, which is 1.0
( C; \* q% C8 Z0 N$ t& r
% o; @) O. q& R- |$ gif(fmod(current.stats.output,10) == 0)
4 B! N, g7 I- T" G+ Q
: z* u# R8 q5 s! Q. CIf this condition was in the OnExit of an object in the model, it would be truewith every 10th flowitem that exits, starting with the 10th flowitem. / [5 p" Q6 `( {- C- ^5 E
& r- ^5 y/ t6 k+ z( y& d5 G+ |. a
pow
$ r) w# H; _% i7 p. G* `2 Z2 H(num num1, numnum2)
乘方。
Example
double myval = pow(2,3); Sets myval to 8.
; p; K* H( J1 N/ ~5 Y0 U3 R4 U, [
! u+ M1 R5 Y' h7 T3 }2 D
sqr( M" R7 [) R0 s& S2 l5 u* q
(num value)
平方Square of value.
Example
sqr(2) 9 \9 I* }9 s% s$ E, b

0 B/ ^1 u8 ?" F/ U
sqrt' D, l, K& g$ x! ^% k2 v
(num value)
平方根Square root of value
Example
sqrt(10) This expression will return 3.16

' r, X( _6 `: a  b9 i. {* X# s9 |# s# ]  W( a' c1 ?2 J* J( b

) b, T- ~$ J$ ]- V
比如,我们要计算托盘上有多少层货物。
1 q5 b& w* R0 m默认情况下,pallet上面每层可以放置4个box。也就是说,1,2,3,4个box都算1层,5,6,7,8个box都算是2层。
- q' P* C+ W. Z此时可以用ceil函数向上取整,ceil(content(pallet)/4)即可得到正确的层数。
[attach]3751[/attach]' m1 T, {& @  z7 J% J5 l

作者: 我很强壮    时间: 2017-6-1 08:41
这个真的很有用~谢谢加老师、
作者: lulu-luka    时间: 2017-6-2 12:01
Mark~谢谢加老师的分享
作者: 壮志凌云1988    时间: 2018-1-23 20:11
受教了




欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/) Powered by Discuz! X3.3