[QUOTE=tingway]
ZeroCrossings_test2.vi[/QUOTE]
無窮迴圈無法結束的原因不是你提的問題:

感謝rat您的回應
[QUOTE=tingway]
[/QUOTE]
紅圈的部分會大於等於3000嗎?如果不會就無窮迴圈了.

紅圈部分不一定能到達資料矩陣的大小減一(3001-1=3000)的值
稍微重新整理一下 你的要求為:
1. 記錄所有曲線與X軸相交之點
2. 將所有的點依升冪與降冪來分開
(3. 剛好Y=0的點直接紀錄 個人覺得這個是因為"剛好"無法判斷升降密所以直接全部記錄)
問題來了 使用Threshold 1D Array.vi時發現
1. 這個vi似乎只能用於升冪無法用於降冪
2. 第一點為0 第二點又接近0時產生錯誤判斷 (也就是你修改後FP所寫的"輸入矩陣位置1的值非零,所以increasing zeroes的第一格是錯的")
所以.... 簡而言之Threshold 1D Array.vi 這個vi俺不會用 只好硬幹出另個解法出來 僅供參考....
小弟程式能力很弱請鞭小力點 QQ
[QUOTE=tingway]紅圈部分不一定能到達資料矩陣的大小減一(3001-1=3000)的值
[/QUOTE]
用For loop替代While loop,就如rat大一樣.你要找Y=0的X值,還要將這點分為上升與下降,但是Y=0時X為整數時有許多問題:
0.01;0;0.02:"0"的兩旁都是正或都是負,要判升還是降?
0.01;0;0;-0.01:連續2個"0"以上,兩旁是1正1負或都是正或都是負,判的出正確升或降嗎?
還有用Threshold 1D Array Function 時,threshold y設定為0結果好像fractional index or x===start index???
[QUOTE=tingway]
[/QUOTE]
從Threshold 1D Array Function的Icom上來看,"threshold y"必須大於"start index"值的Y,如果沒有"fractional index or x"就會與"start index"相同.

下面程式給你參考:

DonWang40654.6793171296