labview從一維陣列中查詢特定的陣列,返回該數值在陣列中所在的位置,希望能給個程式圖

2021-05-05 23:58:09 字數 3315 閱讀 7675

1樓:嚇棟棟

我這有一個簡單的例子,當在陣列中找到第一個和給定數值相同的數時,返回其在陣列中的位置。

若沒找到,返回-1.

當從0開始搜尋時,和「搜尋一維陣列」的功能是一樣的。

2樓:匿名使用者

將陣列按照被搜尋陣列的個數來分成若干個子陣列,然後迴圈比較就好了!

labview中怎麼給陣列特定位置元素直接賦值

3樓:糖糖寳寳

labview中並沒有明確的賦值的概念,和傳統的文字程式語言的思路不一樣,是資料流驅動的程式設計,在一般的文字程式語言裡,定義二維陣列變數的時候只是開闢了一塊記憶體空間,裡面是空的,所以要有賦值的過程,而labview中記憶體不需要手動分配,其後臺有自動管理記憶體的機制,出現新的二維陣列的時候,不需要變數定義,直接分配記憶體空間,然後就把資料存進去了。

如果硬要說有什麼「賦值」的話,labview中有幾種常見的類似於「賦值」的操作:

1.在二維陣列控制元件的前面板裡直接填入數值

這個最簡單,不用多說想必你也明白,手動填數。

2.建立單一元素的陣列

需要用到初始化陣列,見下圖

如果要建立一個3列5行的全是0的元素的二維陣列,方法如下圖

3.修改陣列中中的某一個或某一部分元素

鑑於labview有自動分配記憶體的管理機制,如果你取出陣列子集,插入新的陣列子集,每次操作都會將需要操作的陣列在記憶體裡複製一份,對於大陣列而言非常的耗費記憶體。

labview為了解決這種問題,有個元素同址操作的結構,見下圖

在結構的邊框上右鍵單擊在選單中可以新增對應的模組,如下圖

新增的時候都是成對新增,用這種結構可以避免只更改陣列內部分元素的時候記憶體裡複製陣列的現象。

4樓:

速度慢是因為使用了全域性變數,建議儘量不要使用全域性變數,如果必須要用,可以用functional global(功能全域性變數), 另外在使用陣列元素替換時,可以使用快取重用結構(lv8.5或以後版本),這樣可以減少記憶體的使用以及資料複製的時間。

5樓:匿名使用者

一、替換陣列子集 (需要記憶體)

二、程式設計》結構》元素同址操作結構》新增陣列替換子集(相同記憶體操作)

labview怎樣找出一維陣列中的最大數並輸出對應的行號或列號

6樓:墨汁諾

在程式框圖 程式設計->陣列->陣列最大值與最小值 函式,把陣列連上直接輸出陣列中的最大、最小值以及它們的索引值。

dim x as integer, y as integer, px as integer, py as integer

dim jz() as integer

dim i as integer, t as integer

x = val(inputbox("輸入行數", "計算矩陣"))

y = val(inputbox("輸入列數", "計算矩陣"))

redim jz(0 to x - 1, 0 to y - 1)

'輸入資料

for i = 0 to x - 1 step 1

for t = 0 to y - 1 step 1

jz(i, t) = val(inputbox("輸入行數為" & cstr(i + 1) & ",列數為" & cstr(t + 1) & "的元素", "輸入矩陣的元素"))

next t

next i

'比較資料

px = 0: py = 0

for i = 0 to x - 1 step 1

for t = 0 to y - 1 step 1

if jz(i, t) > jz(px, py) then

px = i: py = t

end if

next t

next i

'輸出結果

for i = 0 to x - 1 step 1

for t = 0 to y - 1 step 1

print cstr(jz(i, t)) & " ";

next t

print

next i

print

print "矩陣最大的元素的值為:" & cstr(jz(px, py))

print "它所在的行號為:" & cstr(px + 1) & " 列號為:" & cstr(py + 1)

7樓:匿名使用者

先求出最大值 這會吧

然後陣列函式有個叫 索引陣列 的把最大值給第二輸入口,就可以輸出索引5

8樓:匿名使用者

用「陣列最大值和最小值」函式,見下圖

labview 將一維陣列中相同的元素合併為一個

9樓:匿名使用者

陣列索引啊,查詢相同的資料得到位置,然後重新組合陣列,labview陣列那部分函式很全的,你仔細看看就明白了!

10樓:

如下圖, 詳情參考附件.

labview中怎樣從陣列中取數

11樓:糖糖寳寳

索引行和索引列都是輸入控制元件,如果只有一個數的話,都設定成0就行。

如果想索引對應行和列的資料,填入相應數值就行。

12樓:

使用索引陣列這個函式,在函式->陣列裡面,指定好行號和列號就行了。左面連上陣列,右面用數值顯示控制元件顯示出來

13樓:匿名使用者

找後臺程式中 陣列(array) 控制元件, 按ctrl+h檢視控制元件說明。

裡面全是你要用到的控制元件

labview怎麼找出陣列裡面相同的資料和他的個數

14樓:匿名使用者

用一個迴圈索引出陣列所有元素,同時和你本身的資料進行比較是否相等,若相等則相等的個數加一,若不等則什麼也不做。謝謝!

15樓:匿名使用者

這個圖中的是openg裡的查詢陣列中的指定元素的個數,然後呢。你可以將你的陣列中的元素做成一個for索引引入到查詢的元素中。不索引連線到查詢陣列中。

當然可以將索引陣列先過濾重複的陣列,這樣就能知道每一個元素的重複數及所在位置了。

16樓:匿名使用者

使用「初始化陣列」

建立一個n維陣列,其中的每個元素都被初始化為元素的值。

可使用定位工具調整函式的大小,增加輸出陣列的維數。連線板顯示了該多型函式的預設資料型別。

二維陣列中a是什麼意思二維陣列中ai是什麼意思

在c語言中規定,陣列名代表的是陣列首元素地址。如有定義int a 10 100 a表示二維陣列的陣列名。a也是這個陣列的首地址。因此,在二維陣列中 a i 表示的是第i 1行0列元素的地址,即a i 0 的地址。而a i表示的是第i 1行的首地址。a是個地址,就是這個陣列的首地址,也是這個陣列的變數...

C 函式呼叫二維陣列,C語言一維陣列轉二維陣列

n如果是變數的話,陣列編譯時都通不過吧。陣列分配時必須知道大小。函式應該這樣宣告function char array 10 10 或省略第一維的大小function char array 10 function char array n n 這樣是錯誤的,陣列的索引必須是個常量表示式。如果需要必須...

php怎麼使二維陣列變一維陣列同時去掉相同元素

php陣列去除重複du項有個內建函式array unique 但是zhiphp的array unique函式只適用dao於一維陣列,對多維專陣列並不適用,不過你可以在二維陣列中屬的值,用array unique 即可。比如 array array array 1,1,2 array 2,3,4,3 ...