三體問題的仿真與實現(xiàn)畢業(yè)論文_第1頁
三體問題的仿真與實現(xiàn)畢業(yè)論文_第2頁
三體問題的仿真與實現(xiàn)畢業(yè)論文_第3頁
三體問題的仿真與實現(xiàn)畢業(yè)論文_第4頁
三體問題的仿真與實現(xiàn)畢業(yè)論文_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、. . . . 1 前 言1.1 論文的背景在太陽系的天體都可以近似看做球形,并且與他們之間的距離相比,他們的的大小就可以忽略不計,因而他們能被看做質(zhì)點。因此,可以用現(xiàn)代動力天文學的基礎(chǔ)理論來研究這個問題。這部分的天體力學以牛頓的萬有引力理論開始。從1687年的數(shù)學原理出版之時開始,證實牛頓的理論是否能夠獨立的提供一個完整的關(guān)于天體如何在太空中運動的認識是非常重要的。沿著這個思路進行研究,我們需要根據(jù)牛頓的萬有引力定律來確定彼此吸引的n體之間的相對運動。牛頓曾經(jīng)用幾何學原理解決了只存在相互引力作用的兩個球的運動這一兩體問題。在1710年,Johann Bernoulli證明,在兩體問

2、題中,一個粒子相對于另外一個粒子的運動可以被描述為一個圓錐曲線。在1734年,Daniel Bernoulli因為他關(guān)于分析處理兩體問題的研究獲得了法國科學院獎。在1744年,這個問題被Euler完全的解決了。同時對多維問題的研究也已經(jīng)在進行中。在需要關(guān)于月球運動知識的驅(qū)動下,研究人員研究了太陽,地球和月亮構(gòu)成的三體系統(tǒng),并且月球理論很快就成為了早期研究的問題。在經(jīng)典力學,量子力學和天文學中,三體問題是一個出名的,還沒有解決的問題,它被Whittaker描述為在所有動力學問題中最出名的問題,Hilbert認為它是一個完美數(shù)學問題的標準。天體物理中的三體問題可以簡單的被描述為:三個天體

3、在他們之間的相互之間的萬有引力作用下,給出各個天體的初始條件,包括三個天體的質(zhì)量、初始位置和初始速度,確定它們的后續(xù)運動,包括位置和速度隨時間的變化。像許多數(shù)學問題一樣,簡單的問題聲明后面往往覆蓋了問題解決方法的復(fù)雜性。雖然一體和兩體的問題能夠以封閉的形式通過初等函數(shù)方式來解決,但是三體問題是一個復(fù)雜的線性問題,沒有相似的解決方法存在。探究三體問題的方式大抵能夠分為三類:第一類是分析方法,其基本原理是把天體的坐標和速度展開為時間或其它小參數(shù)的級數(shù)形式的近似解析表達式,討論天體的坐標和軌道要素隨時間的變化規(guī)律;第二類是定性方法,選用微分方程的定性理論來研究很長一段時間三體運動的宏觀運動規(guī)律和全局

4、性質(zhì);第三類是數(shù)值方法,這是直接依據(jù)微分方程的計算方式得出天體在特定時刻的詳細位置和速度。這三類方法各有利弊。因為求解三體問題的困難在于它的不確定性和不可預(yù)測性,可以考慮計算機在迭代計算中的優(yōu)勢,選擇第三類方法,基于受力分析和經(jīng)典力學,求其數(shù)值解。1.2 論文相關(guān)的國外動態(tài)與研究價值從三體問題被提出的300年間,人們只發(fā)現(xiàn)3族周期性特解。在十八和十九世紀,幾乎所有著名的數(shù)學家們都曾試圖解決這個問題,但是問題的進展不大。截止到目前為止,三體問題特解的族數(shù)被擴充到了16族。與此同時,在失敗的嘗試中,微分方程的理論不斷地發(fā)展成為數(shù)學的一門更成熟的分支。作為一個能被簡單描述的問題,除了其在的吸引力,三

5、體問題與太陽系統(tǒng)穩(wěn)定性有著密切的聯(lián)系,這使得對三體系統(tǒng)的研究成為潛在的解決太陽系統(tǒng)穩(wěn)定性問題的解決方案。多年來,人們對這個問題進行了大量的研究,從1750年到20世紀初,關(guān)于這個問題有800多篇援引了許多杰出的數(shù)學家和天文學家成果的論文發(fā)表。因此,除了解決一個重要的難題,更重要的是在解決問題的過程當中產(chǎn)生了好幾種嶄新的數(shù)學思想。這些數(shù)學理論的進步已經(jīng)深入到不同的領(lǐng)域,包括近代動力學問題的理論。三體問題的研究加深了人們對天體運動的認識,激勵了天體力學和數(shù)學物理的進一步成長,尤其是對人們研究太空火箭軌道和雙星演變很有幫助。1.3 本文的研究容本文決定通過計算機的數(shù)值運算,利用經(jīng)典力學中的牛頓三大定

6、律和萬有引力定律迭代求解天體運動中的三體問題。同時,本文利用MATLAB的GUI功能,設(shè)計出簡潔友好的界面,并且通過動畫的方法將天體的位置和速度在空間直角坐標系上實時的表示出來,作出了天體物理實驗用計算機模擬來進行的嘗試。1.4 本文的創(chuàng)新之處首先:通過理論與實踐相結(jié)合的方式生動的展示了原本靜態(tài)的文字概念。其次:通過MATLAB的GUI界面,可以讓用戶在不必了解程序部實現(xiàn)的情況下,給出三個天體的初始條件,包括三個天體的質(zhì)量、初始位置和初始速度,就可以知道隨著時間的推移其宏觀的位置和速度以與運動的宏觀規(guī)律和全局性質(zhì)。同時,還可以在不同的觀察角度了解它們的運動過程。2 模型假設(shè)1) 忽略相對論效應(yīng)

7、的影響;2) 不考慮其它天體對系統(tǒng)的作用,所處宇宙空間是各向同性的;3) 忽略宇宙空間粒子、潮汐力的影響;4) 假設(shè)運動過程中沒有能量損失;5) 將天體視為質(zhì)點,不考慮它們在運動的過程中彼此之間的相互碰撞;3 模型建立3.1 具體時刻的狀態(tài)因為三個天體的位置和速度是隨時間變化的,現(xiàn)在取很短的時間間隔t,假定這段時間間隔系統(tǒng)參數(shù)沒有變化,則可以考慮從系統(tǒng)每一時刻的狀態(tài)計算后下一時刻的狀態(tài)。在每一時刻,每一個天體都有各自的位置與速度,三個天體總共有六個未知量,每兩個天體之間應(yīng)用萬有引力定律和牛頓第二定律可以列出兩個方程,總共六個方程,這六個方程組成的方程組足可以求解這六個未知量。如果分割的時間間隔

8、無限小,則可以求出精確解,但是在現(xiàn)實中這是沒法完成的。因此,我們可以將時間分成許多小部分,用計算機迭代求解,得到隨時間變化的系統(tǒng)的各個參量和系統(tǒng)的末狀態(tài)。3.2 受力分析如圖3-1所示,每個天體都受到其他兩個天體的萬有引力作用。為方便計算,將天體1對天體2的作用,天體2對天體3的作用,天體3對天體1的作用分別按直角坐標系分解為f12x,f12y,f12z,f23x,f23y,f23z,f31x,f31y,f31z。由于f12=f21,f23=f32,f31=f13,可以用式子右邊等效表示左邊。在萬有引力f12、f23、f31作用下,天體1、天體2、天體3的加速度分別為,。圖3-1 三體問題受力

9、分析3.3 運動規(guī)律與迭代方程一、 萬有引力定律二、 牛頓第二定律三、 速度迭代四、 位置迭代 求解時還須將加速度a,速度迭代方程,位置迭代方程按直角坐標系分解如附錄1。 用計算機編程求解,即可得任意時刻三個天體的位置和速度。4 模型求解與系統(tǒng)仿真4.1 編碼與運行(1)系統(tǒng)所需的軟、硬件 系統(tǒng)所用的硬件是普通的PC機。本程序的編碼和界面設(shè)計部分用MATLAB進行開發(fā)。(2)三體問題的編碼1o三個天體各個參數(shù)的初始化部分。函數(shù)ThreeBodyProblem_OpeningFcn(hObject, eventdata, handles, varargin)是該程序的啟動函數(shù)。初始化各個天體參數(shù)

10、的部分已在程序代碼中標注:function ThreeBodyProblem_OpeningFcn(hObject, eventdata, handles, varargin)ThreeBodyProblem的創(chuàng)建函數(shù),此函數(shù)沒有返回值,詳情請參見OutputFcnhObject 圖形句柄eventdata 保留在MATLAB里面的參數(shù),它的作用是方便后面的程序使用handles GUI界面的句柄,可以通過它獲取整個界面的信息varargin ThreeBodyProblem 的啟動參數(shù)(詳情請參見 VARARGIN)初始化第一個天體的質(zhì)量,位置和速度 handles.FirstBodyMDa

11、ta = 0;handles.FirstBodyXData = 0;handles.FirstBodyYData = 0;handles.FirstBodyZData = 0;handles.FirstBodyUData = 0;handles.FirstBodyVData = 0;handles.FirstBodyWData = 0;初始化第二個天體的質(zhì)量,位置和速度 handles.SecondBodyMData = 0;handles.SecondBodyXData = 0;handles.SecondBodyYData = 0;handles.SecondBodyZData = 0;h

12、andles.SecondBodyUData = 0;handles.SecondBodyVData = 0;handles.SecondBodyWData = 0;初始化第三個天體的質(zhì)量,位置和速度 handles.ThirdBodyMData = 0;handles.ThirdBodyXData = 0;handles.ThirdBodyYData = 0;handles.ThirdBodyZData = 0;handles.ThirdBodyUData = 0;handles.ThirdBodyVData = 0;handles.ThirdBodyWData = 0;handles.ou

13、tput = hObject;此前指令更改了handles,必須靠guidata指令才能把更新了的handles加以保存,以供后續(xù)使用guidata(hObject, handles);默認值按鈕的回調(diào)函數(shù),用于設(shè)置三個天體的默認參數(shù)值,并且將設(shè)置的默認參數(shù)值顯示到圖形界面上:function default_Callback(hObject, eventdata, handles)hObject default控件的句柄(詳情請參見 GCBO)eventdata 保留在MATLAB里面的參數(shù),它的作用是方便后面的程序使用handles GUI界面的句柄,可以通過它獲取整個界面的信息(詳情請參

14、見GUIDATA)在圖形界面的第一個天體的文本輸入框顯示默認的輸入值,此輸入值為太陽的參數(shù)。set(handles.FirstBodyM,'String',19.89);set(handles.FirstBodyX,'String',0);set(handles.FirstBodyY,'String',0);set(handles.FirstBodyZ,'String',0);set(handles.FirstBodyU,'String',0);set(handles.FirstBodyV,'String&

15、#39;,0);set(handles.FirstBodyW,'String',0);將太陽的參數(shù)保存為“GUI數(shù)據(jù)”形式,以便共享handles.FirstBodyMData = 19.89*1029;handles.FirstBodyXData = 0;handles.FirstBodyYData = 0;handles.FirstBodyZData = 0;handles.FirstBodyUData = 0;handles.FirstBodyVData = 0;handles.FirstBodyWData = 0;在圖形界面的第二個天體的文本輸入框顯示默認的輸入值,此輸

16、入值為地球的參數(shù)。set(handles.SecondBodyM,'String',59.742);set(handles.SecondBodyX,'String',14.960);set(handles.SecondBodyY,'String',0);set(handles.SecondBodyZ,'String',0);set(handles.SecondBodyU,'String',0);set(handles.SecondBodyV,'String',29.78);set(handles.S

17、econdBodyW,'String',0);將地球的參數(shù)保存為“GUI數(shù)據(jù)”形式,以便共享handles.SecondBodyMData = 59.742*1023;handles.SecondBodyXData = 14.960*1010;handles.SecondBodyYData = 0;handles.SecondBodyZData = 0;handles.SecondBodyUData = 0;handles.SecondBodyVData = 29.78*103;handles.SecondBodyWData = 0;在圖形界面的第三個天體的文本輸入框顯示默認的

18、輸入值,此輸入值為月球的參數(shù)。set(handles.ThirdBodyM,'String',0.7349);set(handles.ThirdBodyX,'String',14.9984);set(handles.ThirdBodyY,'String',0);set(handles.ThirdBodyZ,'String',0);set(handles.ThirdBodyU,'String',0);set(handles.ThirdBodyV,'String',33.7953);set(handle

19、s.ThirdBodyW,'String',0); 將月球的參數(shù)保存為“GUI數(shù)據(jù)”形式,以便共享handles.ThirdBodyMData = 0.7349*1023;handles.ThirdBodyXData = 14.9984*1010;handles.ThirdBodyYData = 0;handles.ThirdBodyZData = 0;handles.ThirdBodyUData = 0;handles.ThirdBodyVData = 33.7953*103;handles.ThirdBodyWData = 0;此前指令更改了handles,必須靠guida

20、ta指令才能把更新了的handles加以保存,以供后續(xù)使用guidata(hObject,handles);2o從文本輸入框中按順序輸入三個天體的各個參數(shù)。第一個天體的各個文本輸入框的回調(diào)函數(shù),用于獲得文本輸入框輸入的值,代碼的具體解釋已在程序中給出:function FirstBodyX_Callback(hObject, eventdata, handles)hObject FirstBodyX 控件的句柄(詳情請參見 GCBO)eventdata 保留在MATLAB里面的參數(shù),它的作用是方便后面的程序使用handles GUI界面的句柄,可以通過它獲取整個界面的信息(詳情請參見GUIDA

21、TA)獲得當前輸入框的輸入字符tempData=get(hObject,'String');將字符轉(zhuǎn)換為雙精度數(shù)handles.FirstBodyXData=str2double(tempData)*1010;此前指令更改了handles,必須靠guidata指令才能把更新了的handles加以保存,以供后續(xù)使用guidata(hObject,handles);設(shè)置完所有屬性后,在對象的創(chuàng)建過程中執(zhí)行以下代碼function FirstBodyX_CreateFcn(hObject, eventdata, handles)hObject FirstBodyX 控件的句柄(詳情請

22、參見 GCBO)eventdata 保留在MATLAB里面的參數(shù),它的作用是方便后面的程序使用handles GUI界面的句柄,它會在調(diào)用完所有的CreateFcn函數(shù)后創(chuàng)建提示: 可編輯文本框控件通常在窗口上有一個白色的背景,更多詳情請參見ISPC 和COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor') set(hObject,'BackgroundColor','white

23、');endfunction FirstBodyY_Callback(hObject, eventdata, handles)hObject FirstBodyY控件的句柄(詳情請參見 GCBO)eventdata 保留在MATLAB里面的參數(shù),它的作用是方便后面的程序使用handles GUI界面的句柄,可以通過它獲取整個界面的信息(詳情請參見GUIDATA)獲得當前輸入框的輸入字符tempData=get(hObject,'String');將字符轉(zhuǎn)換為雙精度數(shù)handles.FirstBodyYData=str2double(tempData)*1010;此前指令

24、更改了handles,必須靠guidata指令才能把更新了的handles加以保存,以供后續(xù)使用guidata(hObject,handles);設(shè)置完所有屬性后,在對象的創(chuàng)建過程中執(zhí)行以下代碼function FirstBodyY_CreateFcn(hObject, eventdata, handles)hObject FirstBodyY控件的句柄(詳情請參見 GCBO)eventdata 保留在MATLAB里面的參數(shù),它的作用是方便后面的程序使用handles GUI界面的句柄,它會在調(diào)用完所有的CreateFcn函數(shù)后創(chuàng)建提示: 可編輯文本框控件通常在窗口上有一個白色的背景,更多詳情

25、請參見ISPC和COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor') set(hObject,'BackgroundColor','white');endfunction FirstBodyZ_Callback(hObject, eventdata, handles)hObject FirstBodyZ控件的句柄(詳情請參見 GCBO)eventdata 保留在MATL

26、AB里面的參數(shù),它的作用是方便后面的程序使用handles GUI界面的句柄,可以通過它獲取整個界面的信息(詳情請參見GUIDATA)獲得當前輸入框的輸入字符tempData=get(hObject,'String');將字符轉(zhuǎn)換為雙精度數(shù)handles.FirstBodyZData=str2double(tempData)*1010;此前指令更改了handles,必須靠guidata指令才能把更新了的handles加以保存,以供后續(xù)使用guidata(hObject,handles);設(shè)置完所有屬性后,在對象的創(chuàng)建過程中執(zhí)行以下代碼function FirstBodyZ_Cr

27、eateFcn(hObject, eventdata, handles)hObject FirstBodyZ控件的句柄(詳情請參見 GCBO)eventdata 保留在MATLAB里面的參數(shù),它的作用是方便后面的程序使用handles GUI界面的句柄,它會在調(diào)用完所有的CreateFcn函數(shù)后創(chuàng)建提示: 可編輯文本框控件通常在窗口上有一個白色的背景,更多詳情請參見ISPC 和COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgro

28、undColor') set(hObject,'BackgroundColor','white');endfunction FirstBodyU_Callback(hObject, eventdata, handles)hObject 控件的句柄(詳情請參見 GCBO)FirstBodyUeventdata 保留在MATLAB里面的參數(shù),它的作用是方便后面的程序使用handles GUI界面的句柄,可以通過它獲取整個界面的信息(詳情請參見GUIDATA)獲得當前輸入框的輸入字符tempData=get(hObject,'String');

29、將字符轉(zhuǎn)換為雙精度數(shù)handles.FirstBodyUData=str2double(tempData)*103;此前指令更改了handles,必須靠guidata指令才能把更新了的handles加以保存,以供后續(xù)使用guidata(hObject,handles);設(shè)置完所有屬性后,在對象的創(chuàng)建過程中執(zhí)行以下代碼function FirstBodyU_CreateFcn(hObject, eventdata, handles)設(shè)置完所有屬性后,在對象的創(chuàng)建過程中執(zhí)行以下代碼function FirstBodyX_CreateFcn(hObject, eventdata, handles)h

30、Object FirstBodyU控件的句柄(詳情請參見 GCBO)eventdata 保留在MATLAB里面的參數(shù),它的作用是方便后面的程序使用handles GUI界面的句柄,它會在調(diào)用完所有的CreateFcn函數(shù)后創(chuàng)建提示: 可編輯文本框控件通常在窗口上有一個白色的背景,更多詳情請參見ISPC 和COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor') set(hObject,'Backg

31、roundColor','white');endfunction FirstBodyV_Callback(hObject, eventdata, handles)hObject FirstBodyV控件的句柄(詳情請參見 GCBO)eventdata 保留在MATLAB里面的參數(shù),它的作用是方便后面的程序使用handles GUI界面的句柄,可以通過它獲取整個界面的信息(詳情請參見GUIDATA)獲得當前輸入框的輸入字符tempData=get(hObject,'String');將字符轉(zhuǎn)換為雙精度數(shù)handles.FirstBodyVData=str2

32、double(tempData)*103;此前指令更改了handles,必須靠guidata指令才能把更新了的handles加以保存,以供后續(xù)使用guidata(hObject,handles);設(shè)置完所有屬性后,在對象的創(chuàng)建過程中執(zhí)行以下代碼function FirstBodyV_CreateFcn(hObject, eventdata, handles)hObject FirstBodyV控件的句柄(詳情請參見 GCBO)eventdata 保留在MATLAB里面的參數(shù),它的作用是方便后面的程序使用handles GUI界面的句柄,它會在調(diào)用完所有的CreateFcn函數(shù)后創(chuàng)建提示: 可編

33、輯文本框控件通常在窗口上有一個白色的背景,更多詳情請參見ISPC 和COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor') set(hObject,'BackgroundColor','white');endfunction FirstBodyW_Callback(hObject, eventdata, handles)hObject FirstBodyW控件的句柄(詳情

34、請參見 GCBO)eventdata 保留在MATLAB里面的參數(shù),它的作用是方便后面的程序使用handles GUI界面的句柄,可以通過它獲取整個界面的信息(詳情請參見GUIDATA)獲得當前輸入框的輸入字符tempData=get(hObject,'String');將字符轉(zhuǎn)換為雙精度數(shù)handles.FirstBodyWData=str2double(tempData)*103;此前指令更改了handles,必須靠guidata指令才能把更新了的handles加以保存,以供后續(xù)使用guidata(hObject,handles);設(shè)置完所有屬性后,在對象的創(chuàng)建過程中執(zhí)行以

35、下代碼function FirstBodyW_CreateFcn(hObject, eventdata, handles)hObject FirstBodyW控件的句柄(詳情請參見 GCBO)eventdata 保留在MATLAB里面的參數(shù),它的作用是方便后面的程序使用handles GUI界面的句柄,它會在調(diào)用完所有的CreateFcn函數(shù)后創(chuàng)建提示: 可編輯文本框控件通常在窗口上有一個白色的背景,更多詳情請參見ISPC 和COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,

36、9;defaultUicontrolBackgroundColor') set(hObject,'BackgroundColor','white');endfunction FirstBodyM_Callback(hObject, eventdata, handles)hObject FirstBodyM控件的句柄(詳情請參見 GCBO) eventdata 保留在MATLAB里面的參數(shù),它的作用是方便后面的程序使用handles GUI界面的句柄,可以通過它獲取整個界面的信息(詳情請參見GUIDATA)獲得當前輸入框的輸入字符tempData=get(

37、hObject,'String');將字符轉(zhuǎn)換為雙精度數(shù)handles.FirstBodyMData=str2double(tempData)*1029;此前指令更改了handles,必須靠guidata指令才能把更新了的handles加以保存,以供后續(xù)使用guidata(hObject,handles);設(shè)置完所有屬性后,在對象的創(chuàng)建過程中執(zhí)行以下代碼function FirstBodyM_CreateFcn(hObject, eventdata, handles)hObject FirstBodyM控件的句柄(詳情請參見 GCBO)eventdata 保留在MATLAB里面

38、的參數(shù),它的作用是方便后面的程序使用handles GUI界面的句柄,它會在調(diào)用完所有的CreateFcn函數(shù)后創(chuàng)建提示: 可編輯文本框控件通常在窗口上有一個白色的背景,更多詳情請參見ISPC和 COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor') set(hObject,'BackgroundColor','white');end第二個天體文本輸入框的回調(diào)函數(shù),用于獲

39、得文本輸入框輸入的值,代碼的具體解釋已在程序中給出:function SecondBodyX_Callback(hObject, eventdata, handles)hObject SecondBodyX控件的句柄(詳情請參見 GCBO)eventdata 保留在MATLAB里面的參數(shù),它的作用是方便后面的程序使用handles GUI界面的句柄,可以通過它獲取整個界面的信息(詳情請參見GUIDATA)獲得當前輸入框的輸入字符tempData=get(hObject,'String');將字符轉(zhuǎn)換為雙精度數(shù)handles.SecondBodyXData=str2double(

40、tempData)*1010;此前指令更改了handles,必須靠guidata指令才能把更新了的handles加以保存,以供后續(xù)使用guidata(hObject,handles);設(shè)置完所有屬性后,在對象的創(chuàng)建過程中執(zhí)行以下代碼function SecondBodyX_CreateFcn(hObject, eventdata, handles)hObject SecondBodyX控件的句柄(詳情請參見 GCBO)eventdata 保留在MATLAB里面的參數(shù),它的作用是方便后面的程序使用handles GUI界面的句柄,它會在調(diào)用完所有的CreateFcn函數(shù)后創(chuàng)建提示: 可編輯文本框

41、控件通常在窗口上有一個白色的背景,更多詳情請參見ISPC和COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor') set(hObject,'BackgroundColor','white');endfunction SecondBodyY_Callback(hObject, eventdata, handles)hObject SecondBodyY控件的句柄(詳情請參見

42、 GCBO)eventdata 保留在MATLAB里面的參數(shù),它的作用是方便后面的程序使用handles GUI界面的句柄,可以通過它獲取整個界面的信息(詳情請參見GUIDATA)獲得當前輸入框的輸入字符tempData=get(hObject,'String');將字符轉(zhuǎn)換為雙精度數(shù)handles.SecondBodyYData=str2double(tempData)*1010;此前指令更改了handles,必須靠guidata指令才能把更新了的handles加以保存,以供后續(xù)使用guidata(hObject,handles);設(shè)置完所有屬性后,在對象的創(chuàng)建過程中執(zhí)行以下

43、代碼function SecondBodyY_CreateFcn(hObject, eventdata, handles)hObject SecondBodyY控件的句柄(詳情請參見 GCBO)eventdata 保留在MATLAB里面的參數(shù),它的作用是方便后面的程序使用handles GUI界面的句柄,它會在調(diào)用完所有的CreateFcn函數(shù)后創(chuàng)建提示: 可編輯文本框控件通常在窗口上有一個白色的背景,更多詳情請參見ISPC 和 COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,&

44、#39;defaultUicontrolBackgroundColor') set(hObject,'BackgroundColor','white');endfunction SecondBodyU_Callback(hObject, eventdata, handles)hObject SecondBodyU控件的句柄(詳情請參見 GCBO)eventdata 保留在MATLAB里面的參數(shù),它的作用是方便后面的程序使用handles GUI界面的句柄,可以通過它獲取整個界面的信息(詳情請參見GUIDATA)獲得當前輸入框的輸入字符tempData=g

45、et(hObject,'String');將字符轉(zhuǎn)換為雙精度數(shù)handles.SecondBodyUData=str2double(tempData)*103;此前指令更改了handles,必須靠guidata指令才能把更新了的handles加以保存,以供后續(xù)使用guidata(hObject,handles);設(shè)置完所有屬性后,在對象的創(chuàng)建過程中執(zhí)行以下代碼function SecondBodyU_CreateFcn(hObject, eventdata, handles)hObject SecondBodyU控件的句柄(詳情請參見 GCBO)eventdata 保留在MAT

46、LAB里面的參數(shù),它的作用是方便后面的程序使用handles GUI界面的句柄,它會在調(diào)用完所有的CreateFcn函數(shù)后創(chuàng)建提示: 可編輯文本框控件通常在窗口上有一個白色的背景,更多詳情請參見ISPC 和 COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor') set(hObject,'BackgroundColor','white');endfunction Seco

47、ndBodyV_Callback(hObject, eventdata, handles)hObject SecondBodyV控件的句柄(詳情請參見 GCBO)eventdata 保留在MATLAB里面的參數(shù),它的作用是方便后面的程序使用handles GUI界面的句柄,可以通過它獲取整個界面的信息(詳情請參見GUIDATA)獲得當前輸入框的輸入字符tempData=get(hObject,'String');將字符轉(zhuǎn)換為雙精度數(shù)handles.SecondBodyVData=str2double(tempData)*103;此前指令更改了handles,必須靠guidata

48、指令才能把更新了的handles加以保存,以供后續(xù)使用guidata(hObject,handles);設(shè)置完所有屬性后,在對象的創(chuàng)建過程中執(zhí)行以下代碼function SecondBodyV_CreateFcn(hObject, eventdata, handles)hObject SecondBodyV控件的句柄(詳情請參見 GCBO)eventdata 保留在MATLAB里面的參數(shù),它的作用是方便后面的程序使用handles GUI界面的句柄,它會在調(diào)用完所有的CreateFcn函數(shù)后創(chuàng)建提示: 可編輯文本框控件通常在窗口上有一個白色的背景,更多詳情請參見ISPC 和 COMPUTER.

49、if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor') set(hObject,'BackgroundColor','white');endfunction SecondBodyZ_Callback(hObject, eventdata, handles)hObject SecondBodyZ 控件的句柄(詳情請參見 GCBO)eventdata 保留在MATLAB里面的參數(shù),它的作用是方

50、便后面的程序使用handles GUI界面的句柄,可以通過它獲取整個界面的信息(詳情請參見GUIDATA)獲得當前輸入框的輸入字符tempData=get(hObject,'String');將字符轉(zhuǎn)換為雙精度數(shù)handles.SecondBodyZData=str2double(tempData)*1010;此前指令更改了handles,必須靠guidata指令才能把更新了的handles加以保存,以供后續(xù)使用guidata(hObject,handles);設(shè)置完所有屬性后,在對象的創(chuàng)建過程中執(zhí)行以下代碼function SecondBodyZ_CreateFcn(hObj

51、ect, eventdata, handles)hObject SecondBodyZ控件的句柄(詳情請參見 GCBO)eventdata 保留在MATLAB里面的參數(shù),它的作用是方便后面的程序使用handles GUI界面的句柄,它會在調(diào)用完所有的CreateFcn函數(shù)后創(chuàng)建提示: 可編輯文本框控件通常在窗口上有一個白色的背景,更多詳情請參見ISPC 和 COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor&#

52、39;) set(hObject,'BackgroundColor','white');endfunction SecondBodyW_Callback(hObject, eventdata, handles)hObject SecondBodyW控件的句柄(詳情請參見 GCBO)eventdata 保留在MATLAB里面的參數(shù),它的作用是方便后面的程序使用handles GUI界面的句柄,可以通過它獲取整個界面的信息(詳情請參見GUIDATA)獲得當前輸入框的輸入字符tempData=get(hObject,'String');將字符轉(zhuǎn)換為雙精

53、度數(shù)handles.SecondBodyWData=str2double(tempData)*103;此前指令更改了handles,必須靠guidata指令才能把更新了的handles加以保存,以供后續(xù)使用guidata(hObject,handles);設(shè)置完所有屬性后,在對象的創(chuàng)建過程中執(zhí)行以下代碼function SecondBodyW_CreateFcn(hObject, eventdata, handles)hObject SecondBodyW控件的句柄(詳情請參見 GCBO)eventdata 保留在MATLAB里面的參數(shù),它的作用是方便后面的程序使用handles GUI界面的

54、句柄,它會在調(diào)用完所有的CreateFcn函數(shù)后創(chuàng)建提示: 可編輯文本框控件通常在窗口上有一個白色的背景,更多詳情請參見ISPC 和 COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor') set(hObject,'BackgroundColor','white');endfunction SecondBodyM_Callback(hObject, eventdata,

55、handles)hObject SecondBodyM控件的句柄(詳情請參見 GCBO)eventdata 保留在MATLAB里面的參數(shù),它的作用是方便后面的程序使用handles GUI界面的句柄,可以通過它獲取整個界面的信息(詳情請參見GUIDATA)獲得當前輸入框的輸入字符tempData=get(hObject,'String');將字符轉(zhuǎn)換為雙精度數(shù)handles.SecondBodyMData=str2double(tempData)*1023;此前指令更改了handles,必須靠guidata指令才能把更新了的handles加以保存,以供后續(xù)使用guidata(h

56、Object,handles);設(shè)置完所有屬性后,在對象的創(chuàng)建過程中執(zhí)行以下代碼function SecondBodyM_CreateFcn(hObject, eventdata, handles)hObject SecondBodyM控件的句柄(詳情請參見 GCBO)eventdata 保留在MATLAB里面的參數(shù),它的作用是方便后面的程序使用handles GUI界面的句柄,它會在調(diào)用完所有的CreateFcn函數(shù)后創(chuàng)建提示: 可編輯文本框控件通常在窗口上有一個白色的背景,更多詳情請參見ISPC 和 COMPUTER.if ispc && isequal(get(hObje

57、ct,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor') set(hObject,'BackgroundColor','white');end第三個天體文本輸入框的回調(diào)函數(shù),用于獲得文本輸入框輸入的值,代碼的具體解釋已在程序中給出:function ThirdBodyX_Callback(hObject, eventdata, handles)hObject ThirdBodyX控件的句柄(詳情請參見 GCBO)eventdata 保留在MATLAB里面的參數(shù),

58、它的作用是方便后面的程序使用handles GUI界面的句柄,可以通過它獲取整個界面的信息(詳情請參見GUIDATA)獲得當前輸入框的輸入字符tempData=get(hObject,'String');將字符轉(zhuǎn)換為雙精度數(shù)handles.ThirdBodyXData=str2double(tempData)*1010;此前指令更改了handles,必須靠guidata指令才能把更新了的handles加以保存,以供后續(xù)使用guidata(hObject,handles);設(shè)置完所有屬性后,在對象的創(chuàng)建過程中執(zhí)行以下代碼function ThirdBodyX_CreateFcn(hObject, eventdata, handles)hObject ThirdBodyX控件的句柄(詳情請參見 GCBO)eventdata 保留在MATLAB

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論