2013年12月2日 星期一

數學函數

在xscript中,提供了大量的數學運算的函數,想辦法讓使用者可以完成各式各樣的數學運算。



我們在作數學運算時,常常需要用到取絕對值,這時候就可以使用absvalue這個函數,它的用法及說明如下

absvalue

說明:取絕對值。傳回無正負號的數值
語法:AbsValue(Number)
輸入:數值〈數值〉:欲取絕對值之數值
輸出:數值
範例:
  1. absolute_value = AbsValue(-3);   //傳回3  

例如我們如果要計算每一天過去三十天的平均漲跌幅時,我們就可以這麼寫:
value1=absvalue(close-open)/close[1];
value2=average(value1,30);
這時候不管當天是漲是跌,value2就成了過去三十天的平均漲跌幅了。

position

說明:將輸入的數值轉為正數,同絕對值ABSvalue
語法:Position(Number)
輸入:數值〈數值〉:計算數值
輸出:數值
範例:
  1. Value1 = Position(-3);   //傳回3  


pos

說明:將輸入的數值轉為正數,同絕對值ABSvalue
語法:Position(Number)
輸入:數值〈數值〉:計算數值
輸出:數值
範例:
  1. Value1 = Pos(-3);   //傳回3  


neg

說明:此函數將數值強制變成負值
語法:Neg(Number)
輸入:數值〈數值〉:計算數值
輸出:數值
範例:
  1. Value1 = Neg(12); //傳回-12   
  2. Value2 = Neg(-7); //傳回-7  

sign

說明:此函數用來判斷數值的正負號
如果是正,傳回1
如果是負,傳回-1
如果是零,傳回0
語法:Sign(Number)
輸入:數值〈數值〉:計算數值
輸出:數值
範例:
  1. Value1 = Sign(3); //傳回1  
  2. Value2 = Sign(-3.14); //傳回-1  
  3. Value3 = Sign(0); //傳回0  


小數點進位的方式

我們在運算時踫到小數點的時候,有三種處理方式,一種是四捨五入,一種是無條件進位,一種則是無條件捨去。為了處理這三種不同的進位方式,xscript分別用不同的函數來處理

1.無條件進位

用的是ceiling這個函數,其語法如下:

說明:用來計算無條件進入的數值
語法:Ceiling(Number)
輸入:數值〈數值〉:要計算無條件進入的數值
輸出:數值
範例:
  1. Value1 = Ceiling(8.05);  //傳回9  
  2. Value2 = Ceiling(-3.1415926); //傳回-4  



2.無條件捨去

用的是intportion這個函數,只要用這個函數,小數點之後的數值就去掉

說明:此函數取整數部分的數值
語法:IntPortion(Number)
輸入:數值〈數值〉:計算數值
輸出:數值
範例:
  1. Value1 = IntPortion(1.34);  //傳回整數部分1  
  2. Value2 = IntPortion(0.512); //傳回整數部分0  

或是floor這個函數

說明:此函數用來無條件捨去
語法:Floor(Number)
輸入:數值〈數值〉:計算數值
輸出:數值
範例:
  1. Value1 = Floor(8.75);         //捨去小數的0.75 傳回8  
  2. Value2 = Floor(3.14159263);  //捨去小數的0.1415926 傳回3  


3.四捨五入

用的是round這個函數

說明:此函數用來取四捨五入
參數輸入的要取數值,位數
語法:Round(Number,Length)
輸入:數值〈數值〉:計算數值
位數〈數值〉:取小數位數
輸出:數值
範例:
  1. Value1 = Round(8.05,2);        //傳回8  
  2. Value2 = Round(3.1415926,3);   //傳回3.142  
  3. Value3 = Round(3.1415926,2);   //傳回3.14  

mod

說明:此函數用來取餘數
參數輸入欲取的數值和除數
語法:Mod(Number,Divisor)
輸入:被除數〈數值〉:被除數
除數〈數值〉:除數
輸出:數值
範例:
  1. Value1 = Mod(10,3);   //傳回1 10/3=3餘1  
  2. Value2 = Mod(8,3);  //傳回2 8/3=2餘2  


log

說明:此函數用來取以e為底的自然對數值
語法:Log(Number)
輸入:數值〈數值〉:計算數值
輸出:數值
範例:
  1. Value1 = Log(10); //傳回2.302585  


power

說明:此函數計算數字乘冪的結果
語法:Power(base,exponent)
輸入:底數〈數值〉:底數
指數〈數值〉:指數
輸出:數值
範例:
  1. Value1 = Power(2,3); //傳回8 (2*2*2)  
  2. Value2 = Power(3,2); //傳回9  (3*3)  

square

說明:此函數用來取數值的平方
語法:Square(Number)
輸入:數值〈數值〉:計算數值
輸出:數值
範例:
  1. Value1 = Square(4); //傳回16  

squareroot

說明:此函數用來取數值的平方根
語法:SquareRoot(Number)
輸入:數值〈數值〉:要取平方根的數值
輸出:數值
範例:
  1. Value1 = SquareRoot(9); //傳回 3  







沒有留言:

張貼留言