halcon-tuple元組計算


在HDevelop中

算數 

a:=[-10,100,130]
t:=[-0.5,0.5,1]

tuple_abs (a, Abs)
*計算一個元組的絕對值
*[10, 100, 130]

tuple_acos (t, ACos)
*計算一個元組的反余弦
*參數1:輸入元組。  限制:-1<=t<=1
*[2.0944, 1.0472, 0.0]

tuple_add (a, t, Sum)
*兩個元組相加
*[-10.5, 100.5, 131]

tuple_asin (t, ASin)
*計算一個元組的反余弦
*參數1:輸入元組。  限制:-1<=t<=1
*[-0.523599, 0.523599, 1.5708]

tuple_atan (a, ATan)
*計算一個元組的反正切
*[-1.47113, 1.5608, 1.5631]

 

y:=[10,-10,10,5,0,10]
x:=[10,10,20,0,5,-10]
a:=[10.5,-10.5,0,3.0]
b:=[3.1415, 0,1.5708, 0.785]


tuple_atan2 (y, x, ATan)
*計算一個元組四個象限的反正切
*參數1:輸入y值的元組
*參數2:輸入x值的元組
*參數3:返回元組的反正切--單位:弧度
*說明:tanA=y/x, 則 A=arctany/x
*[0.785398, -0.785398, 0.5235]


tuple_ceil (a, Ceil)
*計算一個元組的上限函數--大於或等於元素的最小整數
*上限函數始終作為浮點數返回
*[11.0, -10.0, 0.0, 3.0]

tuple_cos (b, Cos)
*計算一個元組的余弦
*參數1:單位:弧度
*[-1.0, 1.0, -3.67321e-006, 0.707388]

 tuple_cumul (y, Cumul)
*計算一個元組的累計和
 *[10, 0, 10, 15, 15, 25]
y:=[1,2,10,5,0,10]
x:=[10,10,20,0,5,-10]
a:=[10.5,-10.5,0,3.0]
b:=[3.1415, 0,1.5708, 0.785]
c:=[2,1,-2,3,5,-10]

tuple_deg (b, Deg)
*將一個元組從弧度轉換為角度

tuple_div (x, c, Quot)
*將兩個元組相除
*[5, 10, -10, 0, 1, 1]


tuple_exp (y, Exp)
*計算以e為底的指數【eⁿ】
*參數1:指數
*[2.71828, 7.38906, 22026.5, 148.413, 1.0, 22026.5]

tuple_fabs (a, Abs)
*計算一個元組(例如浮點數)的絕對值
*[10.5, 10.5, 0.0, 3.0]

tuple_floor (a, Floor)
*返回小於等於元素的整數---地板函數
*[10.0, -11.0, 0.0, 3.0]

 

y:=[1,2,10,5,0,10]
c:=[2,1,-2,3,5,-10]

tuple_ldexp (y, c, Ldexp)
*計算兩個元組的返回長雙精度指數函數
*[4.0, 4.0, 2.5, 40.0, 0.0, 0.00976563]
*計算公式:看下面

b:=[2,1,20,3,5,10]

tuple_log (b, Log)
*自然對數
*自然對數是以常數e為底數的對數,記作lnN(N>0

 

 

y:=[1,2,10,5,0,10]
b:=[2,1,20,3,5,10]
x:=[3.5,6,8.9,4,1.1,6.5]
c:=[2.8,1.4,20.3,3.5,5.9,10.0]

tuple_log10 (b, Log)
*底為10的對數
*[0.30103, 0.0, 1.30103, 0.477121, 0.69897, 1.0]

tuple_max2 (y, b, Max2)
*對應位置的最大值
*[2, 2, 20, 5, 5, 10]

tuple_min2 (y, b, Min2)
*對應位置的最小值
*[1, 1, 10, 3, 0, 10]

tuple_mod (y, b, Mod)
*功能:整型數相除的余數
*[1, 0, 10, 2, 0, 0]

tuple_fmod (x, c, Fmod)
*浮點數相除的余數
*[0.7, 0.4, 8.9, 0.5, 1.1, 6.5]

tuple_mult (b, x, Prod)
*兩個元組相乘
*[7.0, 6, 178.0, 12, 5.5, 65.0]

tuple_neg (y, Neg)
*取反---乘-1

 

y:=[1,2,10,5,0,10]
b:=[2,1,20,3,5,10]
x:=[3.5,6,8.9,4,1.1,6.5]
c:=[2.8,1.4,20.3,3.5,5.9,10.0]

tuple_pow (b, y, Pow)
*冥函數
*參數1:底
*參數2:指數
*[2.0, 1.0, 1.024e+013, 243.0, 1.0, 1e+010]

指數為常數的函數稱為冪函數。例如函數y=x0 、y=x1、y=x2、y=x-1等都是冪函數

y:=[1,2,10,5,0,10]
b:=[2,1,20,3,5,10]
x:=[3.5,6,8.9,4,1.1,6.5]
c:=[2.8,1.4,20.3,3.5,5.9,10.0]
a:=[90,180,45,0,30,270]
a1:=[1.5708, 3.14159, 0.785398, 0.0, 0.523599, 4.71239]
d:=[1,-2,10,-5,0,10]

tuple_rad (a, Rad)
*角度轉換為弧度
*[1.5708, 3.14159, 0.785398, 0.0, 0.523599, 4.71239]

tuple_sgn (d, Sgn)
*計算一個元組的正負
*[1, -1, 1, -1, 0, 1]

tuple_sin (a1, Sin)
*正弦-->sin函數
*參數1:單位:弧度
*[1.0, 2.65359e-006, 0.707107, 0.0, 0.5, -1.0]

tuple_sqrt (b, Sqrt)
*平方根(二次方根)
*[1.41421, 1.0, 4.47214, 1.73205, 2.23607, 3.16228]

tuple_sub (x, y, Diff)
*相減
*[2.5, 4, -1.1, -1, 1.1, -3.5]
d:=[1,-2,10,-5,0,10]
tuple_tan (d, Tan)
*計算一個元組的正切

位操作

a:=[3,2,1]
b:=[4,2,3]
tuple_band (a, b, BAnd)
*位與-->對應位都是1才是1
*[0, 2, 1]

tuple_bor (a, b, BOr)
*按位或-->對應位有1就是1
*[7, 2, 3]

tuple_bnot (a, BNot)
*逐位取邏輯非
*[-4, -3, -2]

tuple_bxor (a, b, BXor)
*異或-->如果a、b兩個值不相同,則異或結果為1。如果a、b兩個值相同,異或結果為0
*[7, 0, 2]

tuple_lsh (a, b, Lsh)
*逐位左移
*參數1:待移位的元組
*參數2:移位次數
*如果沒有發生溢出,此操作相當於乘以2^b
*如果a為負值,結果取決於硬件
*如果移位為負數或大於32,則結果未定義
*[48, 8, 8]

tuple_rsh (a, b, Rsh)
*逐位右移
*相當於除以2^b
*如果a為負值,結果取決於硬件
*如果移位為負數或大於32,則結果未定義
*[0, 0, 0]

比較

a:=[3,2,1]
b:=[4,2,3]
c:=[4,3,3]

tuple_equal (a, b, Equal)
*兩個元組是否相同
*0--不同    1--相同

tuple_greater (b, c, Greater)
*一個元組是否大於另一個元組
*按順序比較
*0--b不大於c     1--b大於c

tuple_greater_equal (b, c, Greatereq)
*一個元組是否大於等於另一個
*0--b<c     1--b>=c

tuple_less (b, c, Less)
*一個元組是否小於另一個元組
0--b不小於c     1--b小於c

tuple_less_equal (b, c, Lesseq)
*一個元組是否小於等於另一個
*0--b>c     1--b<=c

tuple_not_equal (b, c, Nequal)
*兩個元組是不是不等
* 0--相等    1--不等

轉換

a:=[65,97,49]
b:=[4.5,-2.9,3.4567]
c:='6814031a'
d:='12345678'
e:=['A', 'a', '1']

tuple_chr (a, Chr)
*根據ASCII碼將整型元組轉換為字符
*參數1:ASCII嗎
*['A', 'a', '1']

tuple_chrt (a, Chrt)
*根據ASCII碼將整型元組轉換為字符串
*'Aa1'

tuple_int (b, Int)
*一個元組轉換為一個整型元組
*小數部分直接拋棄,不四舍五入
*[4, -2, 3]


tuple_is_number (c, IsNumber)
*檢測一個字符串元組是否表示數字
* 1--數字字符串   0--非數字字符串

tuple_number (d, Number)
*將一個字符串元組轉換為一個數值
*如果d不是數字字符串,就返回原字符串
*12345678

tuple_ord (e, Ord)
*將長度為1的字符串的元組轉換為它們相應的ASCII碼元組
*[65, 97, 49]
a:=[-65,97.8,49,0]
f:='liming'
b:=[-65,97.8,49.2,0]
c:=-123456.8763
d:=254
e:=0xff

tuple_ords (f, Ords)
*將一個字符串的元組轉換為它們ASCII碼的元組
*[65, 97, 49]

tuple_real (a, Real)
*轉換為浮點數
*[-65.0, 97.8, 49.0, 0.0]

tuple_round (b, Round)
*轉換為整型數--四舍五入
*[-65, 98, 49, 0]

tuple_string (f, '-10.3s', String)
*轉換為字符串
*參數1:輸入
*參數2:格式
*       數值時:
*       '10.2f'   總長度10位,小數點2位   f表示浮點數
*       '-10.2f'   -表示左對齊  否則右對齊
*       '.7f'     總長度不限,小數點7位
*       '+10.3f'   +表示前面加上+-*       'x'        轉化為小寫16進制
*       'X'        轉化為大寫16進制
*       '.8d'       轉化為十進制,總長度8位 
*       字符串時:
*        '10s'     轉換為總長度10位的字符串
*        '-10s'    -表示左對齊  否則右對齊
*        '-10.3s'   總長度10位,截取前3個字符   'lim       '

創建

a:=[1,2,3]
b:=[10,20,30]

tuple_concat (a, b, Concat)
*合並
*[1, 2, 3, 10, 20, 30]

tuple_gen_const (5, 0, Newtuple)
*創建一個特殊長度的元組和初始化它的元素
*參數1:新元組長度
*參數2:用於初始化元組元素的常量
*參數3:新元組
*[0, 0, 0, 0, 0]

tuple_rand (6, Rand)
*返回0到1之間的隨機數元組
*參數1:要生成的元組的長度
*參數2:隨機數的元組
*[0.693658, 0.168389, 0.895945, 0.365523, 0.332642, 0.601562]

元素順序 

a:=[1,2,3]
b:=[10,20,30]
c:=[500,200,400]


tuple_inverse (b, Inverted)
*將一個元組反置(反轉)
*[30, 20, 10]

tuple_sort (c, Sorted)
*按升序排序
*[200, 400, 500]

tuple_sort_index (c, Indices)
*先按升序排序,返回排序后的元素在原元組中的索引(從0開始)
*[1, 2, 0]

特征

a:=[1,2,3]
b:=[10.2,20,30.4,80,90,60,50]
c:=[500,200,400]


tuple_deviation (a, Deviation)
*返回元組元素的標准差
*1.0

tuple_length (a, Length)
*返回元組元素數目
*3

tuple_max (c, Max)
*返回元組的最大元素
*500

tuple_min (a, Min)
*返回元組的最小元素
*1

tuple_mean (a, Mean)
*返回元組的平均值
*2.0

tuple_median (b, Median)
*返回一個元組元素的中值
*50  

tuple_sum (a, Sum)
*返回所有元素的和
*6
  
  

 

邏輯運算 

a:=[1,2,3,0,4]
b:=[2,1,4,5,0]
c:=[5,0,3,0,0]


tuple_and (a, b, And)
*數值與--對應位數值都不等於0才是1
*[1, 1, 1, 0, 0]
  
tuple_not (a, Not)
*數值非---非0返回0,0返回1
*參數1:只能包含整數
*如果輸入元組為空,則會引發異常
*[0, 0, 0, 1, 0]
  
tuple_or (a, c, Or)
*數值或--對應位有非0返回1,都是0返回0
*[1, 1, 1, 0, 1]

tuple_xor (a, c, Xor)
*數值異或
*對應位一個是0一個不是0時其結果是1,否則結果為0
*【相同是0,不同是1】
*[0, 1, 0, 0, 1]

選擇

a:=[3,'liming',5,6,1,2,3,'liming',0]
b:=[3,'liming']
c:=[7,1]

tuple_find (a, b, Indices)
*返回參數2在參數1中出現的索引
*如果沒有返回-1
*如果其中一個或兩個輸入元組都為空,則運算符返回一個空元組
*允許混合字符串和數字
*[0, 6]


tuple_first_n (a, 5, Selected)
*選擇前面的元素,直到索引n[包含索引n的元素]
*參數2:索引n
*索引從0開始,總共返回索引+1個元素
*如果參數1為空,則會引發異常
*[3, 'liming', 5, 6, 1, 2]

tuple_last_n (a, 3, Selected1)
*選擇從索引“n”開始到元組末尾的所有元素,包含索引n的元素
*元組元素的索引從0開始,如果Tuple為空,則會引發異常
*[6, 1, 2, 3, 'liming', 0]

tuple_remove (a, c, Reduced)
*移出索引n的元素
*參數2:需要移除的索引
*元組元素的索引從0開始,即第一個元組元素的索引為0。將忽略超出范圍的重復項和索引
*如果元組為空,則運算符返回一個空元組
*[3, 5, 6, 1, 2, 3, 0]

tuple_select (a, c, Selected2)
*返回指定索引的元素
*參數2:需要返回的索引
*元組元素的索引從0開始
*如果Tuple為空,則會引發異常
*['liming', 'liming']

tuple_select_range (a, 3, 5, Selected3)
*返回指定索引區域的元素
*參數2:起始索引
*參數3:終止索引
*參數2和參數3的元素都包含;如果索引相等,則只選擇一個元素
*如果Leftindex和Rightindex是空元組,則運算符返回空元組。如果這些參數或元組中只有一個是空元組,則會引發異常
*[6, 1, 2]


d:=[4,30,5,6,1,2,3,20,0]
tuple_select_rank (d,4, Selected4)
*先升序排序,再返回排序后指定索引的元素
*參數2:索引
*4

e:=['abc','liming','mKbc','5842']
f:=[1,2,0,3]
tuple_str_bit_select (e, 1, Selected5)
*返回指定索引的字符
*參數2:索引
*['b', 'i', 'K', '8']

g:=[0,0,1,1,1,2,0,1]
tuple_uniq (g, Uniq)
*連續相同元素只取一個
*允許在輸入元組中混合字符串和數字
*[0, 1, 2, 0, 1]

 

字符串運算符

a:=['abc,mkb/jkb','tangu,liming/qwe']
b:=[',','/']

tuple_split (a, b, Substrings)
*分割字符串
*參數2:分隔符
*      如果就一個,那么所有元素都用這個分隔符
*      如果參數2與參數1元素個數相同,那么一一對應使用分隔符
*['abc', 'mkb/jkb', 'tangu,liming', 'qwe']

c:=[3,5]
tuple_str_first_n (a, c, Substring)
*從起始字符開始截取到指定索引位置(包含索引)
*參數2:索引
*['abc,', 'tangu,']

tuple_str_last_n (a, c, Substring1)
*從指定索引到末尾進行截取
*參數2:索引
*[',mkb/jkb', ',liming/qwe']

c1:=[',','/']
a1:=['ab/c,mk,b/jkb','tan/gu,liming/q,we']
tuple_strchr (a1, c1, Position)
*返回指定字符的索引--找到左邊第一個匹配的字符就停止
*參數2:指定字符
*[4, 3]


tuple_strrchr(a1, c1, Position1)
*返回指定字符的索引--找到右邊第一個匹配的字符就停止
*[7, 13]

a2:=['liming李明','tangu塘沽']
tuple_strlen (a2, Length)
*返回字符串的長度
*一個漢子算一個字符
*[8, 7]

a3:=['lim塘沽ing塘沽sgfe','ta李明ngu李明sdfghj']
c2:=['塘沽','李明']
tuple_strrstr (a3, c2, Position2)
*返回指定字符串的索引--找到右邊第一個匹配的字符串就停止
*參數2:指定字符串
*[8, 7]


tuple_strstr(a3, c2, Position3)
*返回指定字符串的索引--找到左邊第一個匹配的字符串就停止
*參數2:指定字符串
*[3, 2]

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM