新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 在LabVIEW下建立彈球模型

        在LabVIEW下建立彈球模型

        作者: 時間:2012-09-07 來源:網絡 收藏

        對物理對象進行建模仿真是目前來說非常流行的一種科學研究方法,一般來說,對于這種應用,可以用C語言或者Matlab來實現。作為一種編程語言,其實也能非常方便地實現模型的建立,特別是8.2Simulation Module更是使得仿真建模更加方便直觀,本文就將以實現一個Bouncing Ball)為例,跟大家介紹一下利用來建模的三種方式。


        1. Simulation Module

        Simulation Module這個模塊對于來講還算比較新,但是相信在以后的版本中會有更強大的功能,并且會更加完善和易用。利用這個模塊對彈性球建模的程序如下圖:


        點擊看大圖


        可以看到,整個模型一共有三個可調參數:彈性系數(即表示在與地面撞擊時小球速度變?yōu)樵俣鹊谋戎担跏妓俣纫约俺跏几叨取T?/SPAN>Simulation Loop中,首先對重力加速度g進行積分,得到速度值,再積分得到位置值。其中還判斷了位置是否過了0點(即是否與地面發(fā)生了撞擊),當過了0點時,則將速度乘上彈性系數,位置重置于0


        2. G Code

        不用Simulation Module,單單用LabVIEWG code,也能對這個簡單的物理模型進行仿真。下圖是用LabVIEW編寫的程序:


        點擊看大圖


        從圖中可以看到,我們用了For循環(huán)使得仿真的循環(huán)次數為200,每次的dt0.1,根據dt以及物理動力學公式,可以得到當前的速度以及位置等信息,再與上例一樣進行過0檢測,并進行相應的操作。可以看到,用LabVIEW編寫程序稍微煩瑣一點,主要是數學運算太多,使得整個Diagram過于占用面積。


        3. Mathscript

        Mathscript也是LabVIEW 8.2的一個新特性,目前來說,對于LabVIEW主張的是文本與圖形混合編程的方式,這樣可以兼顧兩種編程方式的優(yōu)勢,使得開發(fā)效率達到最高。下圖是用Mathcript編寫的仿真代碼:

        點擊看大圖


        整個Mathcript的代碼是類m代碼,即只要你在Matlab下能夠順利運行這些代碼,那么90%你就能直接貼到這個節(jié)點里運行。如果仔細研究下程序的話,可以看到它的運算方式與用G Code類似,但是由于用到了文本編程方式,使得代碼更有效率,這也是為什么用混合編程的最大原因。

        下面是用了這三種的結果比較圖:


        點擊看大圖


        可以看到,用Simulation Module的算法由于用到了專業(yè)的Rounge-Kutta計算方法(即Solver),因此在實際的仿真結果上可以確認為可信,那么其他兩種方法在減小dt的條件下也能使得其仿真效果接近Simulation Module

        總結一下,用LabVIEW建模是目前來說比較新的方法,但是由于LabVIEW擁有非常強大的數據采集功能,界面功能等優(yōu)勢,因此將這些與建模整合起來的話,就可以很方便地進行快速原型設計和硬件在環(huán)測試等高級應用。



        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 息烽县| 吴桥县| 松滋市| 宁城县| 长治市| 新野县| 札达县| 翼城县| 孝感市| 纳雍县| 额尔古纳市| 修文县| 巴青县| 石泉县| 弥渡县| 宜良县| 苍梧县| 五莲县| 鹿邑县| 花垣县| 襄樊市| 陵川县| 游戏| 罗江县| 凭祥市| 武夷山市| 连云港市| 板桥市| 广昌县| 宝鸡市| 望江县| 横山县| 奉化市| 永川市| 宽城| 永嘉县| 昌乐县| 麻栗坡县| 乌什县| 高碑店市| 宁波市|