实验仪器参数关系表达与传递
實驗儀器參數關系表達與傳遞
原理性描述:
在不同實驗儀器之間,實現信號的傳遞,其實都可以轉化為信號參數的傳遞。因此,各個實驗參數的同步與刷新是表述儀器邏輯關系的關鍵。儀器需要傳遞的參數可以是string、double、list、bitmap以及自定義的類等等。在這些關系,除了自定義的類、枚舉這類信息屬于儀器自有特殊類型外(定義在儀器類庫中,而不是指公共庫),其他參數都具有通用的數據類型,而特殊類型也可以通過公共類型參數進行簡介表達,通用數據類型的傳遞可以通過C#泛型和反射完成接口對接。
由于能量守恒,實驗中的任意一個信號不會憑空產生或消失,那么所有的信號都會有起源和終止位置。而我們要研究的信號都是有傳遞方向的,仿真就是把一個儀器狀態的變化引起其他儀器狀態變化的過程用計算機表現出來。這種邏輯關系在數學上可以對應于“有向圖”,引號表明有區別,因為數學研究的有向圖是針對圖的路徑、權重、拓撲關系,對于圖的有向性表達的含義在物理上可以對應到信號傳遞的方向性上,我們把數學研究的有向圖算法當作骨骼,物理信號傳遞當作血肉,圖中的每一個節點都當成一個輸入與輸出。
?
信號傳遞示意圖
上圖中,這樣的關系有些類似于神經網絡結構,只是神經網絡是通過訓練得到參數關系,而我們的節點是直接以物理模型得到參數關系。每一個節點都是一個輸入輸出模型,對應實際實驗儀器,黑色的線表示儀器之間的參數傳遞關系,箭頭表示傳遞方向。信號的傳遞可以是單向、雙向、環形回路;實驗中也會有多個信號源;儀器構成的圖,可以是連同圖,也可以不連通。為了提高參數刷新效率,我們不需要建立一個實驗所有參數的完備集合,每個儀器只要獲取到自身完備參數集合即可,即不相關參數不獲取。
算法設計思路:
如果儀器的某一個參數由其他儀器獲得,則該儀器在使用時,必須在此儀器內部進行該參數的定義,內部定義的這個參數相當于代理參數,由此參數進行實際運算。儀器與場景之間定義的參數接口,目的就是要從源儀器獲得數據,用來更新目標儀器的代理參數值,而源儀器需要公開自身對其他儀器的影響參數。我們可以想象在兩個節點之間,它們的連接邊線就相當于打開一個數據通道,源儀器把參數加入通道,目標儀器從通道中獲取參數并加工成新參數,并將加工后的結果按要求進行繼續傳遞。
在算法設計時,首先查出所有的源儀器,然后循環源儀器的目標儀器列表,并將源儀器公開參數列表刷新給目標儀器。需要注意的是源儀器的目標儀器列表是一個動態列表,比如電路中電流的流動方向可看作有向性信號,那么源和目標就取決于儀器的電路連接;光路中光的傳播也是有向性信號,源和目標取決于光路的擺放;熱力學中的熱量傳播也是有向性信號,源和目標取決于溫度的高低。此外,比如溫度計,只能作為目標儀器測量溫度,要確定的就是測量的是哪個儀器的溫度。根據這些物理規律,我們基本上可以確定儀器之間的參數傳遞方向。
當然為了模型更加通用,我們可以把源儀器和目標儀器抽象成觸發和被觸發對象,并且要求傳遞的參數必須滿足一定的觸發條件,只有滿足觸發條件,儀器參數才可以從源傳遞到目標儀器。在仿真實驗中,這種觸發條件,通常是儀器的坐標位置關系、連接關系、計時器設置。為了簡化算法,我們只考慮坐標位置關系和連接關系兩種情況:一、坐標位置關系,兩個儀器滿足特定的位置坐標時,觸發刷新條件。例如,物品放置到載物臺上,溫度計放置到待測液體中,光學元件放置到光路中等等。 這其中包括:包含關系、并列關系、串聯關系;二、連接關系,兩個儀器通過一定方式連接起來,表明這兩個儀器具有特定的連接關系。這種連接可以是用戶用鼠標交互建立的連接,也可以是通過配置文件設定建立的連接。連接關系應用最多的是電路導線,此外,還有一些未被等效為電路的儀器,但是也需要連線才能確定狀態的儀器,例如熱敏實驗中的電爐、連一根線就直接傳遞信號的示波器等等。
轉載于:https://www.cnblogs.com/iamai/p/4800611.html
總結
以上是生活随笔為你收集整理的实验仪器参数关系表达与传递的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在ubuntu系统荣品开发配套JDK安装
- 下一篇: DataSnap 用TStream 传递