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

正文內(nèi)容

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

2025-07-24 17:58 本頁(yè)面
 

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