freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于matlab的數(shù)值分析課程可視化平臺設(shè)計畢業(yè)論文(編輯修改稿)

2025-07-24 17:58 本頁面
 

【文章內(nèi)容簡介】 加組件時,首先應(yīng)該使用 GUIDE 應(yīng)用程序選項對話框來進行 GUI 組態(tài)。選擇界面設(shè)計編輯器的 Tools 菜單下的 Application Options 選項打開選項對話框。GUIDE 應(yīng)用程序選項對話框外觀如圖 814 所示。該對話框能夠設(shè)置的選項包括以下幾項 [1]:? 窗口重畫行為(Resize behavior)。? 命令行訪問(Commandline accessibility)。? 僅生成 FIG 文件/生成 FIG 文件和 M 文件( file only/ file and .m file)。? 生成回調(diào)函數(shù)原型(General Callback function propotypes)。? 同一時刻僅允許運行一個應(yīng)用程序?qū)嵗ˋpplication allows only one instance to run)。? 使用系統(tǒng)背景顏色配置(Use system color for background (remended for GUIs)).? 函數(shù)直到應(yīng)用程序窗口銷毀才返回(Function does not return until application window disnissed(remended for functions returning values))。 M 文件以及 GUI 數(shù)據(jù)管理GUI 包含很多可以使軟件與用戶終端進行交互的用戶界面組件,GUI 的實現(xiàn)任務(wù)之一就是控制這些組件如何相應(yīng)用戶的行為。對應(yīng)用程序 M 文件代碼進行詳細分析的目的就是要通過了解 GUIDE 創(chuàng)建應(yīng)用程序 M 文件的功能,從而實現(xiàn) GUI 規(guī)劃。MATLAB 通過創(chuàng)建應(yīng)用程序 M 文件,為 GUI 控制程序提供了一個框架。這個框架包含著一種高效而堅固的編程方法:所有代碼(包括回調(diào)函數(shù))都包含在應(yīng)用程序的 M 文件中,這就使得 M 文件僅有一個入口可以初始化 GUI 或調(diào)用相應(yīng)的回調(diào)函數(shù)以及 GUI 中希望使用的任意幫助子程序。無論用戶是否使用 GUIDE 來創(chuàng)建應(yīng)用程序M 文件,這里所說的編程技術(shù)對用戶進行 GUI 編程都是有用的。這些技術(shù)包括 [1]:? 回調(diào)函數(shù)自動命名:GUIDE 給添加到應(yīng)用程序 M 文件中的回調(diào)子函數(shù)自動命名。GUIDE 還將 Callback 屬性值設(shè)置為一個字符串使用戶激活控件時該子函數(shù)能夠被調(diào)用;? 單個/多個實例控制:設(shè)計 GUI 時,可以選擇是否允許 GUI 圖形窗口的多個實例存在,很多信息對話框只能只能同時存在一個實例,因為對于用戶的某種特定行為,對話框只能提示一次。GUIDE 界面設(shè)計編輯器實際上是允許多個實例存在的 GUI,這樣設(shè)計這個 GUI 的目的是使用戶能夠同時打開多個界面;? 自動創(chuàng)建 GUI 組件句柄結(jié)構(gòu)體:GUIDE 使用保存在 GUI 圖形窗口中的應(yīng)用程序定義數(shù)據(jù)來實現(xiàn)數(shù)據(jù)的存儲和獲取。使用結(jié)構(gòu)體在回調(diào)子函數(shù)間傳遞數(shù)據(jù)。? 自動命名 Tag 屬性,生成子函數(shù)原型并指定回調(diào)屬性字符串:當(dāng)用戶發(fā)布 GUI時,應(yīng)用程序 M 文件創(chuàng)建一個包含所有 GUI 組件句柄的結(jié)構(gòu)體,然后將該結(jié)構(gòu)體保存在圖形窗口的應(yīng)用程序數(shù)據(jù)中以備將來使用。句柄結(jié)構(gòu)體的域與相應(yīng)對象的 Tag 屬性一致,例如:一個 Tag 屬性為 pushbutton1 的對象可以使用以下句柄訪問: ? 單個 M 文件同時包含 GUI 初始化和對調(diào)函數(shù)執(zhí)行代碼? 可以直接使用 MATLAB 內(nèi)建函數(shù),或自定義函數(shù)。第 3 章 可視化平臺設(shè)計在前面章節(jié)的基礎(chǔ)上,這章主要介紹如何使用 GUIDE 制作這個可視化平臺的設(shè)計。本可視化平臺采用經(jīng)典的 MVC(Model View Controller)[4]架構(gòu)模式開發(fā)。它將該平臺的輸入、處理和輸出分開。使用 MVC 應(yīng)用程序被分成三個核心部件:模型、視圖、控制器。它們各自處理自己的任務(wù)。 在這個平臺中,為存儲數(shù)據(jù)的變量、向量、矩陣及在 GUIDE 中存儲數(shù)據(jù)的句柄可以看做是該平臺的 M(數(shù)據(jù)模型) ,而用 GUIDE 設(shè)計出來的可視化窗口,充當(dāng)著 V(視圖)的角色,最后的輸入轉(zhuǎn)化、函數(shù)調(diào)用和輸出轉(zhuǎn)化,則是關(guān)鍵的 C(數(shù)據(jù)控制) 。這樣一個 MVC 架構(gòu)就成型了。下面的工作就是逐個進行開發(fā)。 平臺開發(fā)根據(jù) MVC 架構(gòu),在進行《數(shù)值分析》課程可視化平臺的開發(fā)中首先說明的是 M即數(shù)據(jù)結(jié)構(gòu)的設(shè)計思路,然后介紹了 V 即可視化平臺的視圖設(shè)計過程,最后說明的是C 即數(shù)據(jù)控制與函數(shù)調(diào)用等方面內(nèi)容。 M 數(shù)據(jù)模型由于 MATLAB 的數(shù)據(jù)形式有限,一般為向量或矩陣形式。但在實際的開發(fā)過程中,所遇到的算法多種多樣,這使得自己編寫的函數(shù)需要有不同形式的輸入輸出,即數(shù)據(jù)傳輸?shù)倪^程中,形式是多樣的。面對豐富的數(shù)值分析算法,如何選擇合適的但能體現(xiàn)函數(shù)性質(zhì)內(nèi)容的數(shù)據(jù)存儲模型,變成了一件困難的事情。在實際的開發(fā)中,作者也沒有選擇出一種最合適的統(tǒng)一數(shù)據(jù)模型,了解數(shù)值分析的讀者可以知道,這幾乎是不可能的。為了回避這一難題,該論文中將每章的數(shù)據(jù)模型盡量寫成統(tǒng)一的形式,而在不同章節(jié)的算法中又是不同的數(shù)據(jù)形式,利用這種求同存異的思路,一方面能將數(shù)據(jù)結(jié)構(gòu)的多樣性進行說明,另一方面能根據(jù)算法的內(nèi)容靈活選擇數(shù)據(jù)形式,從而使自己建立的函數(shù)能夠直觀易懂?!稊?shù)值分析》課程涉及很多算法,不同章節(jié)的算法有不同的輸入輸出要求,使得不同章節(jié)的算法擁有不同的數(shù)據(jù)模型。在插值算法中,為了將插值表達式與插值點的值分開顯示,函數(shù)會根據(jù)輸入?yún)?shù)的數(shù)量,控制輸出,這樣其中的數(shù)據(jù)模型就是:字符串與數(shù)值;在后面的迭代算法中,為了對比迭代的優(yōu)越性和跌打算法中具體的值,即每一步的結(jié)果,在輸出的結(jié)果矩陣中加入了一列序列向量,使得可以知道每一步的計算結(jié)果;而后來在求解方程組時,將關(guān)鍵的對角矩陣,上下三角矩陣,結(jié)果向量等合并成為了一個大的矩陣進行輸出等??梢哉f每個章節(jié)的算法都有各自獨特的數(shù)據(jù)模型,且各自有其獨特的意義所在。 V 可視化窗口數(shù)據(jù)模型是繁瑣的,而視圖是復(fù)雜、傻瓜化與界面友好的。視圖的設(shè)計不僅需要要根據(jù)函數(shù)的輸入輸出來選擇合適的控件,以便可以輸入方便、容易理解,輸出直觀、吸引人,而且需要根據(jù)人為的操作習(xí)慣,做到界面人性化,操作傻瓜化,系統(tǒng)完善化等。在這篇論文中,由于作者的能力有限,沒有達到那么完美的結(jié)果,只是簡單的實現(xiàn)了該可視化平臺需要的功能。下面以前面介紹的 MATLAB GUI 內(nèi)容來完成可視化的設(shè)計工作,即制作圖形化窗口視圖(View ):第一步 新建 GUI,調(diào)整窗口大小。打開 MATLAB,點擊 File,選擇 new file,新建一個 GUI(圖 31) 圖 31 新建 GUI 圖 32 開始一個空的 GUI此時彈出 MATLAB 的 GUI 操作窗口,如下圖(圖 32) ,選擇 Blank GUI,開始一個空的 GUI 設(shè)計。此時就打開了 GUI 開發(fā)工具的界面設(shè)計編輯器,默認的一個空的窗體( 圖 33 ) ,用箭頭拖動右下角的黑點,可以改變窗體的大小,選擇一個合適的大小。在界面設(shè)計編輯器的左邊是工具欄,從上到下依次為:指針工具,按鈕工具,單選框,文本域,下拉菜單,標(biāo)簽欄,復(fù)選按鈕組合框,ActiveX 控件,右邊從上到下依次為:滾動條,復(fù)選框,標(biāo)簽工具,滾動選單,坐標(biāo)軸域,單選按鈕組合框。根據(jù)需要在窗體中添加相應(yīng)的組件。下面開始在面板中添加按鈕等組件。 圖 33 窗口編輯器 圖 34 完成后的窗口第二步 根據(jù)函數(shù)的輸入輸出,添加組件。在添加組件前要對這章節(jié)的算法有個大體的了解,這樣可以知道有多少個輸入輸出,是否需要一個坐標(biāo)軸來顯示,要用什么樣的形式展示結(jié)果。然后根據(jù)函數(shù)的實際情況,添加相應(yīng)的組件。例如用于顯示標(biāo)題的 static text (靜態(tài)文本) ;用于輸入輸入出文本、數(shù)值或矩陣的 Edit text(可編輯文本框) ;用來顯示函數(shù)圖形的 axes(坐標(biāo)系) ;用來響應(yīng)用戶操作調(diào)用 CallBack 回調(diào)函的 button(按鈕)等。根據(jù)需要可以拖動組件右下角的十字標(biāo)志,改變組件大?。?。當(dāng)控件添加好后,用上文提到的對齊工具,對這些控件的大小位置等進行調(diào)整,篇幅有限,具體的添加和調(diào)整方法在此就不在累述。第三步 為了后面的 C(數(shù)據(jù)控制) ,修改控件屬性。調(diào)整好組件位置后,下面開始對主要的控件 tag 屬性進行修改。通過前面章節(jié)可以知道,在 MATLAB 的 GUI 設(shè)計中,組件依靠它的 tag 屬性在 m 文件中調(diào)用。為了便于以后的操作作者將靜態(tài)文本控件 “X=”后的文本框(edit)控件的 tag 屬性值修改為 X,同理將靜態(tài)文本控件 “Y=”后的文本框(edit)控件的 tag 屬性值修改為 Y,這樣便于在 M 文件中定位回調(diào)函數(shù)或?qū)?shù)據(jù)句柄進行操作。 C 數(shù)據(jù)控制數(shù)據(jù)控制是這個平臺數(shù)據(jù)操作的核心內(nèi)容,沒有數(shù)據(jù),上面做的可視化界面也將只是一個形式。在這節(jié)里要詳細的介紹如何得到輸入數(shù)據(jù)、數(shù)據(jù)轉(zhuǎn)換、調(diào)用函數(shù)來得到結(jié)果以及如何將結(jié)果輸出到可視化平臺上去?,F(xiàn)在我們的 GUI 窗口已經(jīng)初見成型了,但是單擊按鈕之后,是不會出現(xiàn)結(jié)果的,因為核心的數(shù)據(jù)我們還沒有,現(xiàn)在的這個 GUI 是一個虛有其表的 GUI。下面來給它加入核心:數(shù)據(jù)的傳值、轉(zhuǎn)換,平臺的函數(shù)調(diào)用、結(jié)果輸出等。這些過程都是在單擊相應(yīng)的按鈕時觸發(fā)回調(diào)函數(shù) [3]來執(zhí)行。第一步,找到回調(diào)函數(shù)的插入點。右鍵單擊“Lagrange 插值”按鈕,選擇 CallBack選項,這時會彈出這個窗口的 M 文件,并定位到 “Lagrange 插值” 按鈕的 CallBack 回調(diào)函數(shù),在按鈕上方點擊鼠標(biāo)右鍵,在彈出的窗口中選擇 ViewCallbacks 瀏覽回調(diào)函數(shù)中的 Callback 回調(diào)函數(shù),進入 m 文件的編輯如圖 35。由于在前面的視圖制作中,我們已經(jīng)將按鈕的 tag 屬性設(shè)置為 flagrange,這是我們可以看到下面的函數(shù)名字段:function flagrange_Callback(hObject, eventdata, handles) 圖 35 調(diào)用回調(diào)函數(shù) 圖 36 修改 M 文件打開相應(yīng)的 m 文件進行編輯。第二步,獲得窗口中的輸入數(shù)據(jù)。首先獲得窗口中的輸入框句柄即數(shù)據(jù)的保存形式。這里輸入框中的數(shù)據(jù)一律是以字符串來傳遞的。得到輸入框中的數(shù)據(jù);get(,39。String39。)。 然后將數(shù)據(jù)先保存到一個變量中去;xx=get(,39。String39。)。第三步,轉(zhuǎn)化數(shù)據(jù)格式,調(diào)用自定義函數(shù)。用 str2num(string )函數(shù)來對數(shù)據(jù)進行轉(zhuǎn)化,同時將結(jié)果保存到一個變量中。x=str2num(xx)。調(diào)用我們編寫的自定義函數(shù),根據(jù)函數(shù)的輸出情況,將值賦值到新的變量。L=fLagrange(x,y)。第四步,轉(zhuǎn)化函數(shù)結(jié)果,更細控件內(nèi)容,輸出結(jié)果。將函數(shù)運行得到的結(jié)果轉(zhuǎn)換為文本類型數(shù)據(jù),用 set 方法更新 GUI 窗口中控件的內(nèi)容,此刻就可以在可視化化窗口中看到結(jié)果。sy0=num2str(y0)。sL=char(L)。 Lx=39。L(t)=39。 yy0=39。 y0=39。out=[Lx sL yy0 sy0]。set(,39。String39。,out)。第五步,運行測試。修改好 M 文件后保存,可以點擊工具欄的 Run 來運行, (圖37)這時會打開我們剛剛編輯的 GUI 窗口。 圖 37 在 M 文件中運行 圖 38 運行結(jié)果圖點擊“flagrange 插值”按鈕,看看運行效果(圖 48) ,出來的結(jié)果可能有些問題,需要我們再繼續(xù)修改,根據(jù)錯誤的提示,修改 m 文件或我們自定義的函數(shù)文件,最后達到我們想要的結(jié)果。 部分截圖主要功能具有了,為了讓平臺更健壯,可以根據(jù)需要,添加菜單項,幫助文件,圖片,音樂等。這些工作留給大家以后慢慢研究。平臺最終完成后的效果如下圖 39所示。 (a) 擬合 (b) 插值 (c)數(shù)值積分 (d)解線性方程組的直接法 (e)解線性方程組的迭代法 (f)常微分方程的數(shù)值解圖 39 平臺部分截圖 平臺分析該平臺涵蓋了《數(shù)值分析》課程中的 8 種數(shù)值計算方法,30 多種算法,可以利用該平臺計算課本上例題或者進行演示,方便、準確、快捷,即使不懂 MATALB 的人,也可以方便的使用該平臺,完成其他相應(yīng)的工作;程序中將部分算法結(jié)果用坐標(biāo)圖繪制出函數(shù)圖形,部分算法的過程也得到了顯示,為了直觀地反應(yīng)出不同算法的結(jié)果,平臺采用了多種多樣的輸出形式,使得輸出結(jié)果直觀明顯。平臺以《數(shù)值分析》課程的章節(jié)分開顯示,每個章節(jié)的算法為一個窗口,在算法切換時不是很方便。而且部分算法的結(jié)果輸出形式較差,缺少解釋說明性的文字。曾想用 VC,或 JAVA 做,彌補這些缺點,但作者能力有限,沒辦法在幾種語言中進行切換編程。這些問題可以作為該平臺以后的研究方向。從設(shè)計中,可以發(fā)現(xiàn) MATLAB 提供的 GUI 工具制作可視化窗口時非常便利,但作為一種開發(fā)工具而不是專業(yè)編程語言,它的很多控件都不可以作更細致的調(diào)整,例如:文字框的的內(nèi)容不能以一定的格式輸出,很容易出現(xiàn)排列不整齊的現(xiàn)象;圖形的輸出,雖然很方便,但是要想在一些特定點的位置加一些說明又將是件困難的事情;面板的控制,也不是非常的靈活,如果面板過多,不僅難以控制,而且運行速度也將大大的降低。通過論文可以看到,用 MATLAB 開發(fā)《數(shù)值分析 》課程的可視化平臺是可行的,同樣開發(fā)其他數(shù)學(xué)相關(guān)的平臺也是可行
點擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1