



摘 ?要:文章采用MATLAB GUI軟件平臺完成戰斗部殺傷威力計算系統設計,該系統使用方便,只需輸入相關參數,便可計算出初速、終點速度、殺傷威力半徑、在某距離上的靜態密度、速度隨距離衰減曲線、動能隨距離衰減曲線。結果可在系統界面顯示或輸出。該系統可以使不會計算戰斗部殺傷威力和不會使用MATLAB編程的人員直接得到需要的結果。大大縮短了計算周期,滿足人們的使用。通過多次設計驗證,該系統高效可靠,為戰斗部威力分析提供了直觀的輸出。
關鍵詞:戰斗部殺傷威力計算系統;MATLAB GUI;威力計算
中圖分類號:TP311 ? ? 文獻標識碼:A文章編號:2096-4706(2021)13-0107-04
Calculation System of Warhead Killing Power Based on MATLAB GUI
YANG Yuting
(Anhui Fangyuan Electromechanical Co., Ltd., Bengbu ?233010, China)
Absrtact: The paper Uses MATLAB GUI software platform to design the warhead killing power calculation system, the system is easy to use, just input the relevant parameters, it can calculate the initial velocity, terminal velocity, killing power radius, static density at a certain distance, velocity-distance attenuation curve and kinetic energy-distance attenuation curve. The system interface can display or output the results. The system allows people who can not calculate warhead killing power and who can not program using MATLAB to get the desired results directly, and greatly shorten the calculation cycle, meet the use of people. Many designs prove that the system is highly efficient and reliable, and provides an intuitive output for the warhead power analysis.
Keywords: warhead killing power calculation system; MATLAB GUI; power calculation
0 ?引 ?言
破片對有生目標如人員、飛機和車輛等的殺傷破壞作用是殺傷戰斗部的主要戰技指標,通過合理設計殺傷戰斗部的破片特性以達到所需要的戰技指標。當前殺傷爆破戰斗部的設計依然是以分析與綜合經驗數據作為設計中的借鑒與依據。通過威力計算、MATLAB仿真得到設計結果。通過MATLAB GUI可以將MATLAB程序在GUI界面直觀地顯示出來,使用者可使用該界面直接得出結果。
1 ?開發軟件MATLAB GUI簡介
MATLAB GUI為圖形用戶界面(Graphical User Interface,GUI)是指采用圖形方式顯示的計算機操作用戶界面,是MATLAB用戶可視化交互式的工具,是人和計算機進行信息交流的工具。運用GUI生成的操作界面用戶可以不用瀏覽煩冗的代碼而進行操作。GUI不僅深受用戶的喜愛也是工程人員運用MATLAB進行可視化操作的捷徑,工程人員只需要拖動相應的工具,編寫回調函數即可。MATLAB GUI可以將文件編譯成獨立的可執行程序exe文件用戶不需要安裝MATLAB軟件,只需安裝相應版本組件運行環境文件MCRinstaller.exe,即運行程序。MATLAB具有強大的計算及優化能力,但是操作門檻比較高,借助可視化工具GUI可以降低使用難度,在解決問題的過程中為用戶提供現有任務和解決方案之間的用戶行為交互及數據傳輸。
GUI擁有很多按鈕,包括:靜態文本(Static Text)、可編輯文本(Edit Text)、坐標軸(Axes)、按鈕(PushButton)等。通過這些按鈕,可以設計出不同的GUI界面[1,2]。
在一個GUI界面內部的傳遞數據為。每一個控件的回調函數頭:function myc_Callback(hObject, eventdata, handles)。第一個參數是hObject,是跟這個callback所關聯的控件的handles,在它自己的callback下,可以用代號-> hObject來調用它。即控件自己的回調函數調用自己的屬性,只用hObject.屬性名就可以了(中間一點)。第二個參數是MATLAB的保留參數。第三個handles是這個GUI界面的代號,可以通過它獲取這個界面的所有信息。所以在控件A自己的回調函數中,要獲取或者設置別的控件的屬性,就用handles。別的控件Tag,屬性handles hObject都是結構體。handles格式是一個存放數據的缸。控件的handles是小缸,它的名字叫作hObject;GUI界面的handle是一個大缸,并且這個缸名字也叫作handles;大缸里存放了所有的小缸和所有用戶數據,你只需handles.控件A的tag,就可以存取控件A的信息。把自己計算出或者別的什么數據放到這個缸里,可以在任何地方。
2 ?威力計算系統功能介紹
通過輸入戰斗部參數,使用者便可計算出初速、迎風面積、速度衰減系數、存速、終點速度、破片拋射角、極限拋射角、最大殺傷距離、球面角度、破片靜態密度、速度隨距離衰減曲線、動能隨距離衰減曲線。用戶可根據自己需求設計需要的輸出結果。界面顯示非常直觀。該計算系統不需要每計算一個戰斗部編一次程序。所有戰斗部計算均可使用該系統。
3 ?系統設計參數選擇
該系統的輸入參數和輸出結果如表1所示。不同戰斗部參數選擇可參考表2、表3、表4和表5。在計算過程中,基于MATLAB軟件平臺,進行編程計算[3]。
4 ?用戶界面設計及顯示效果
Matlab-GUI可實現對程序代碼進行封裝的作用,通過進行可視化圖形GUI界面設計,為使用者提供一個簡單便捷的操作平臺,更加人性化,更加簡潔。借助MATLAB GUI來設計并完成用戶界面的搭建與應用。
首先在GUI里繪制靜態文本框、可編輯文本框及按鈕,在靜態文本框里輸入表1的變量,隨后在GUI中設計好控件分布和排列,控件大小及文字大小均可由用戶根據需要設置。最終在MATLAB編輯器中編寫功能函數,回調函數,數據傳遞,邏輯調配等[4]。該系統已經編寫好戰斗部威力計算程序。用戶只需在對應的可編輯文本框里輸入該用戶所需要計算的戰斗部參數,點擊“運行”按鈕,即可得到計算結果。
程序設計簡介[5]:
對每一個可編輯文本創建如下的回調函數:
if(isempty(input))
set(hObject,’String’,’0’)
end
運行按鈕的回調函數:
輸入:輸入變量=str2double(get(handles.edit,’String’));
輸出:set(handles.edit,’String’,num2str(v0));
(注:需對所有變量進行上述編程)
在輸入與輸出之間加入戰斗部威力計算的公式。
戰斗部威力計算的公式為:
破片初速計算用哥尼公式:
(1)
式(1)中,V0為破片初速;k為速度修正系數;β為裝藥質量和殼體質量比;為炸藥格尼常數。
破片存速公式為:
(2)
式(2)中,α為速度衰減系數,mf為破片質量,V0為破片初始速度,x為破片飛行距離,CD為氣動阻力系數,S為迎風面積,ρa為當地空氣密度。
假設毀傷某目標所需的破片動能為E,則破片的終點速度Vr為:
(3)
將式(1)、(2)式聯合可得破片最大殺傷距離X1:
(4)
假設殺傷目標所需的分布密度要求為ρ,破片的最大殺傷距離X2為:
(5)
其中n為破片總數,,α為極限拋射角,θe為破片拋射角。
破片拋射角由Shapiro導出式計算,對于等直徑戰斗部殼體,其拋射角為:
(6)
其中D為炸藥爆速,θf為彈軸和引爆點-破片線之間的角度。
因此,含能戰斗部的威力半徑X為:
X=min(X1,X2) ? ? ? ? ? ? ? ? ? ? ? ? ? ? (7)
球面角度:
q=2π(?2-?1) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(8)
在R米距離上的靜態密度為:
ρ=n/qR2 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (9)
上述過程為該計算系統的編程方法。
以某一戰斗部為例,在圖1中可編輯文本框中輸入該戰斗部的破片總質量、藥質量、破片數、一枚破片的質量、炸藥格尼常數、炸藥爆速、速度修正系數、氣動阻力系數、當地空氣密度、破片形狀系數、破壞動能、彈軸與破片間的夾角1、彈軸與破片間的夾角2、距離、等效人行靶破片數。點擊運行便可得到初速、終點速度、X1、X2、在R米距離上,每平方米破片數如圖2所示,同時生成速度隨距離衰減曲線、動能隨距離衰減曲線,如圖3、圖4所示。
5 ?結 ?論
采用 MATLAB GUI作為軟件開發工具進行可視化界面設計,完成了戰斗部殺傷威力計算的設計。通過MATLAB GUI可以使用戶輸入相關參數即可進行計算。GUI使編程人性化,易于操作,不必再debug再運行。就像電腦自帶的計算器那樣。運行既生成計算器的那個界面,輸入只需要用鼠標點擊上面的按鈕就可以了。該系統操作簡單,誤差較小,穩定程度高,實現速度較快。大大縮短了用公式計算威力或MATLAB編程計算威力的時間,提高設計效率,而且更加直觀,并能保證較高的計算精度。該計算系統設計對于其他計算系統的設計編程提供了參考意義,可使用該編程方法進行各類GUI的實現。
參考文獻:
[1] 余勝威,吳婷,羅建橋.MATLAB GUI 設計入門與實戰 [M].北京:清華大學出版社,2016.
[2] 王廣,邢林芳.MATLAB GUI 程序設計 [M].北京:清華大學出版社,2018.
[3] 張國偉.終點效應及其應用技術 [M].北京:國防工業出版社,2006.
[4] 王樹山.終點效應學:第2版 [M].北京:科學出版社,2019.
[5] 羅華飛.MATLAB GUI 設計學習手記:第3版 [M].北京:北京航空航天大學出版社,2014.
作者簡介:楊玉婷(1993.10—),女,漢族,山西大同人,設計師,本科,主要研究方向:仿真與計算。