移動cursor到最大值的方法與例外情形考慮

各位先進,小弟再度想請問一些正在思考的問題,雖然我嚐試了這個簡單的寫法如下圖Untitled 3.vi,不知道有沒有各位高手可以回答我幾個問題,另外可以提供我解決的方法呢?當然希望有任何先進可以提供我目前的方法以外的方法讓我多了解一些運用我也是很感激的。

問題如下:

1.請問Chart 是不是完全沒有辦法使用cursor呢?因為我只有在graph看到而已!還是有其他方法可以取代他呢?

2.假設問題一成立了,cursor只有在graph才可以使用的話,那要如何使用cursor移動到一個最大值的地方呢?

然而例外狀況就是,當我在一個100*100array裡,發現了兩個最大值是相等的,那請問此時cursor是移動到哪個點呢?

3.請問一下,free cursor 和single cursor 有區別嗎?目前還不了解 !也不知道應該看哪些資料可以得到了解!

以上這三個問題是我目前正在思考中的!希望有各位了解的先進不吝指教呢!

 

1.請問Chart 是不是完全沒有辦法使用cursor呢?因為我只有在graph看到而已!還是有其他方法可以取代他呢?

回覆:

問題一成立了. 至於其他方法你可以自己寫程式阿.

2.假設問題一成立了,cursor只有在graph才可以使用的話,那要如何使用cursor移動到一個最大值的地方呢?

回覆:

請參考http://labview360.com/forum/forum_posts.asp?TID=10240 範例 Cursor Position Example.vi

然而例外狀況就是,當我在一個100*100array裡,發現了兩個最大值是相等的,那請問此時cursor是移動到哪個點呢?

回覆:

要看程式如何設定判斷邏輯.通常顯示為第一個最大值.

3.請問一下,free cursor 和single cursor 有區別嗎?目前還不了解 !也不知道應該看哪些資料可以得到了解!

回覆:

在應用上會有不同.舉個例

free cursor : 游標會固定在設定值

single cursor : 游標會跟著值跑.

範例:Update

Cursor Position Example.vi

功能
1. 按最大值按鍵,游標及顯示XY於最大值位置
2. 輸入 X 值, 游標即時顯示於X位置Y值自動判斷顯示
3. 使用滑鼠移動游標, XY值即時顯示

HI,我研究了一下,發現如果有兩個以上個最大值,需要把所有最大值的位置標出來,然後傳送給cursor就可以了。

至於free 和 signal的差別在於,signal cursor會被限制在signal本身上面,free則不會。(你可以用waveform 看)

找MAX.vi

範例:Intensity Graph 版

Intensity Graph Cursor Position Example.vi

 

剛剛看完了您的寫法,讓我了解了一些新的觀念,在此很感謝您! 這個想法我一開始有考慮過,可是卡住了!因為我一值認為,假設有10個最大值,那我就要建立10個[email protected]@!然後找到相對應的位置顯示出來!不知道這樣是不是會增加程式複雜度!因為要建立10個property node...來指示10軸的定義!

不過另外你使用每個最大值的index去除上Y index的值 就會產生出x/y與x-y*x/y直這個方法我還在思考中到底是什麼意思? 乍看之下應該是商和於數分別為列 行 的index位置可是我在思考 到底 商是列還是y是列呢?? 有什麼方法可以區分嗎?還是我誤會您的意思了呢?

另外您在build array之後放一個transpose array目的何在呢?不放這個直接使用col做索引,是應該也可以達到相同的目的,相對的少使用了一個VI,雖然沒有什麼影響^^不過不知道我這樣說是否有錯誤呢?有的話請告知!感謝您!

[QUOTE=breakingdanc]

HI,我研究了一下,發現如果有兩個以上個最大值,需要把所有最大值的位置標出來,然後傳送給cursor就可以了。

至於free 和 signal的差別在於,signal cursor會被限制在signal本身上面,free則不會。(你可以用waveform 看)

找MAX.vi

[/QUOTE]

範例: Intensity Graph 版 Update

Intensity Graph Cursor Position Example Ver02.vi

 

8.2 版

Intensity Graph Cursor Position Example Lv82.vi

JD39911.7486342593

謝謝你提供的sample我看了一下,讓我更了解了event的運用!不過我另外一個最大的問題好像還沒有解決! 那就是使用graph intensity寫出可以連續執行接收檔案 並且保留先前的資料的方法,我想我會再發問一個新題目,當然我會一邊研究一邊看有沒有先進會提供我ㄧ些指點!可以的話,也希望JD先進來我新發問的題目給點幫助!先謝謝!

你提供的參考sample與自己設計的程式,至少我學到color tab.是可以讓Intensity變成彩色滴!之前我對property node與event都比較疏於練習,因此只要您使用到這方面的VI都可以使小弟進步! 在此再度感謝您了!

[QUOTE=JD]

範例: Intensity Graph 版 Update

Intensity Graph Cursor Position Example Ver02.vi

 

8.2 版

Intensity Graph Cursor Position Example Lv82.vi

[/QUOTE]chingyang39911.9747916667

HI,我的想法是把2D矩陣先轉成1D,然後找出最大值和index,然後再把1D的index轉成2D應該的index,最後再輸出給cursor。其中你問的怎麼看商和餘。我畫張圖你應該就知道了,這是DATA的源點(0,0)在左上方,跟用intensity graph的(0,0)在左下方不同。這邊有點怪,我也不知道位什麼會這樣定義,用起來很彆扭。


 

breakingdanc39912.0746296296

JD大大的color table好漂亮喔,我在labview範例找到兩個其他的color table表,一個是fire,一個是rianbow,看起來醜醜的,每次看JD大大的範例都有收穫。我把三個color table存成一個VI,跟大家分享。
color table.vi

Good!看完你的說明,豁然開朗! 我知道你的意思了 ,我一開始是知道你用reshape使2D轉成1D array這邊 我沒問題,我是卡在你將array分開成0 1 2排來看,現在看了你的圖解 我董了,你使用每一排的行數量當作除數 然後去除以索引到的值 ,因此得到的商 應該就是 0 1 2其中一排 然後於數 就是每某排中的從左數道右的位置吧!

很謝謝您 還用小畫家 畫圖給我看^^原諒我的愚蠢!

[QUOTE=breakingdanc]

HI,我的想法是把2D矩陣先轉成1D,然後找出最大值和index,然後再把1D的index轉成2D應該的index,最後再輸出給cursor。其中你問的怎麼看商和餘。我畫張圖你應該就知道了,這是DATA的源點(0,0)在左上方,跟用intensity graph的(0,0)在左下方不同。這邊有點怪,我也不知道位什麼會這樣定義,用起來很彆扭。


 

[/QUOTE]