版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、MATLAB大作業(yè)矩陣計算器設計制作班級:021231學號:02123066 王鵬一、GUI開發(fā)環(huán)境簡介MATLAB提供了一套可視化的創(chuàng)立圖形窗口的工具,使用用戶界面開發(fā)環(huán)境可方便的創(chuàng)立GUI應用程序,它可以根據(jù)用戶設計的GUI布局,自動生成M文件的框架,用戶使用這一框架編制自己的應用程序。圖形用戶界面GraphicalUserInterfaces,GUI那么是由窗口、光標、按鍵、菜單、文字說明等對象Objects構(gòu)成的一個用戶界面。用戶通過一定的方法如鼠標或鍵盤選擇、激活這些圖形對象,使計算機產(chǎn)生某種動作或變化,比方實現(xiàn)計算、繪圖等。二、矩陣計算器介紹2.1 程序使用的控件在矩陣計算器設計中
2、主要用到三種控件,文本編輯框edittext,靜態(tài)文本框Statictext,命令按鈕pushbutton,邊框panel。然后在通過各個按鈕的回調(diào)函數(shù),實現(xiàn)簡單的計算功能。2.2 程序功能介紹(1)具有用戶圖形界面。實現(xiàn)矩陣的加、減、乘、左除、右除等簡單計算。 (2)有清空鍵,能去除操作。2.3 矩陣計算器界面及主要控件功能注釋:text1文本編輯框控件功能:輸出要計算公式。如12 45;78 56+659 238;79 56MatA文本編輯框功能:輸入?yún)⑴c計算矩陣AMatB文本編輯框功能:輸入?yún)⑴c計算矩陣BMatC靜態(tài)文本框功能:輸出計算結(jié)果矩陣Cpushbutton21button1bu
3、tton2button3button5button4button6pushbutton11calculateButton7pushbutton22pushbutton23pushbutton24pushbutton20MatCtext1MatBMatA三、局部計算操作結(jié)果(1) 加法+(2) 求逆(3) 轉(zhuǎn)置(4) 群運算.*四、局部模塊功能算法的實現(xiàn)1按鍵加法+響應:a=get(handles.matA,string);textString=strcat(a,+);b=get(handles.matB,string);textString=strcat(textString,b);set(h
4、andles.text1,String,textString);2按鍵轉(zhuǎn)置響應a=get(handles.matA,string);textString=strcat(a,);set(handles.text1,String,textString);3按鍵計算響應textString=get(handles.text1,String);f=eval(textString);set(handles.matC,string,num2str(f,%15.5g)(5) 按鍵清空響應set(handles.text1,String,)set(handles.matA,String,)set(handle
5、s.matB,String,)set(handles.matC,String,)注釋:其余模塊功能算法與以上代碼較為相似,不在一一舉例。五、其余傳參方法本程序通過文本編輯框edit text到達傳參的目的,下面介紹兩種常用的其他傳參方式。1運用global定義全局變量傳遞參數(shù)這種方法適用于gui內(nèi)控件間以及不同gui間,是最簡單的方式。使用方法:gloal xxxx在每一個要到該全局變量的地方,都要添一句gloal xxxx。缺點:全局變量破壞了程序的封裝性,所以,全局變量是能少用盡量少用。2運用UserData傳遞參數(shù)直接通過對象的userdata屬性進行各個callback之間的數(shù)據(jù)存取操
6、作。首先必須將數(shù)據(jù)存儲到一個特定的對象中,假設對象的句柄值為handles.text1,需要存儲的值為value,那么輸入以下程序即可: set( handles.text1,UserData,Value); 此時,value數(shù)據(jù)就存在句柄值為ui_handle的對象內(nèi),在執(zhí)行的過程中假設要取回變量可以通過以下方式在任意callback中獲取該數(shù)據(jù)值 :value=get( handles.text1,UserData);缺點:每個對象僅能存取一個變量值,因此當同一對象存儲兩次變量時 ,先前的變量值就會被覆蓋掉,因此都用UserData存儲簡單與單一的數(shù)據(jù)。六、心得這次作業(yè)在MATLAB GU
7、I編程中是較為簡單的,雖然老師當天布置的作業(yè)我當天完成,但是這期間還是遇到一些困難,比方起初我的程序計算結(jié)果矩陣C用文本編輯框edit text,我的代碼是正確的,但是卻得不到結(jié)果。最后通過上網(wǎng)查資料,解決了該問題。同時我對MATLAB有了新的認識。1、通過MATLAB矩陣計算器的設計,初步了解了關(guān)于MATLAB圖形用戶界面的局部控件的使用方法。2、MATLAB的GUI提供的很多實用的控件,方便用于設計屬于自己的圖形界面。3、Matlab具有強大、豐富的內(nèi)置函數(shù)和工具箱,界面設計時更加簡潔、快捷與直觀。七、詳細代碼function varargout = untitled1(varargin)
8、gui_Singleton = 1;gui_State = struct(gui_Name, mfilename, . gui_Singleton, gui_Singleton, . gui_OpeningFcn, untitled1_OpeningFcn, . gui_OutputFcn, untitled1_OutputFcn, . gui_LayoutFcn, , . gui_Callback, );if nargin & ischar(varargin1) gui_State.gui_Callback = str2func(varargin1);endif nargout vararg
9、out1:nargout = gui_mainfcn(gui_State, varargin:);else gui_mainfcn(gui_State, varargin:);endfunction untitled1_OpeningFcn(hObject, eventdata, handles, varargin)handles.output = hObject;guidata(hObject, handles);function varargout = untitled1_OutputFcn(hObject, eventdata, handles)varargout1 = handles.
10、output;function calculate_Callback(hObject, eventdata, handles)textString=get(handles.text1,String);f=eval(textString);set(handles.matC,string,num2str(f,%15.5g);function button1_Callback(hObject, eventdata, handles)a=get(handles.matA,string);textString=strcat(a,+);b=get(handles.matB,string);textStri
11、ng=strcat(textString,b);set(handles.text1,String,textString);function button2_Callback(hObject, eventdata, handles)a=get(handles.matA,string);textString=strcat(a,-);b=get(handles.matB,string);textString=strcat(textString,b);set(handles.text1,String,textString);function button3_Callback(hObject, even
12、tdata, handles)a=get(handles.matA,string);textString=strcat(a,*);b=get(handles.matB,string);textString=strcat(textString,b);set(handles.text1,String,textString);function button4_Callback(hObject, eventdata, handles)a=get(handles.matA,string);textString=strcat(a,);b=get(handles.matB,string);textStrin
13、g=strcat(textString,b);set(handles.text1,String,textString);function button5_Callback(hObject, eventdata, handles)a=get(handles.matA,string);textString=strcat(a,/);b=get(handles.matB,string);textString=strcat(textString,b);set(handles.text1,String,textString);function button6_Callback(hObject, event
14、data, handles)a=get(handles.matA,string);textString=strcat(a,-1);set(handles.text1,String,textString);function button7_Callback(hObject, eventdata, handles)a=get(handles.matA,string);textString=strcat(a,);set(handles.text1,String,textString);function matA_CreateFcn(hObject, eventdata, handles)if isp
15、c & isequal(get(hObject,BackgroundColor), get(0,defaultUicontrolBackgroundColor) set(hObject,BackgroundColor,white);endfunction matB_CreateFcn(hObject, eventdata, handles)if ispc & isequal(get(hObject,BackgroundColor), get(0,defaultUicontrolBackgroundColor) set(hObject,BackgroundColor,white);endfunc
16、tion matC_CreateFcn(hObject, eventdata, handles)if ispc & isequal(get(hObject,BackgroundColor), get(0,defaultUicontrolBackgroundColor) set(hObject,BackgroundColor,white);endfunction text10_CreateFcn(hObject, eventdata, handles)if ispc & isequal(get(hObject,BackgroundColor), get(0,defaultUicontrolBac
17、kgroundColor) set(hObject,BackgroundColor,white);endfunction text1_CreateFcn(hObject, eventdata, handles)if ispc & isequal(get(hObject,BackgroundColor), get(0,defaultUicontrolBackgroundColor) set(hObject,BackgroundColor,white);endfunction pushbutton11_Callback(hObject, eventdata, handles)set(handles
18、.text1,String,);set(handles.matA,String,);set(handles.matB,String,);set(handles.matC,String,);function pushbutton20_Callback(hObject, eventdata, handles)a=get(handles.matA,string);textString=strcat(a,.*);b=get(handles.matB,string);textString=strcat(textString,b);set(handles.text1,String,textString);function pushbutton21_Callback(hObject, eventdata, handles)a=get(handles.matA,string);textString=strcat(a,./);b=get(handles.matB,string);textStrin
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025食品買賣合同模板
- 食品運輸?shù)踯囎赓U合同樣本
- 博物館安全員聘用合同樣本
- 造紙設備維修中心租賃協(xié)議
- 休閑中心洗浴設施維護
- 鋁合金模板施工合同
- 2025武漢市建筑企業(yè)招用務工農(nóng)民勞動合同書
- 蕭山區(qū)教育培訓招投標管理辦法
- 礦山建設倒水泥板施工合同
- 個人健身房租賃合同模板
- 非煤礦山安全風險分級管控與安全隱患排查治理u000b雙重預防機制建設知識
- 山東2022青島農(nóng)商銀行萊西支行行長社會招聘上岸提分題庫3套【500題帶答案含詳解】
- 2023-2024學年江蘇省啟東市小學語文五年級上冊期末通關(guān)考試題
- 設計中重點、難點及關(guān)鍵技術(shù)問題把握控制及相應措施把握難點
- YY/T 0698.2-2009最終滅菌醫(yī)療器械包裝材料第2部分:滅菌包裹材料要求和試驗方法
- GB/T 1535-2017大豆油
- 《鄉(xiāng)鎮(zhèn)環(huán)境治理研究開題報告文獻綜述11000字》
- 植物細胞信號轉(zhuǎn)導課件
- 名著黑布林閱讀Treasure Island《金銀島》練習題(含答案)
- 第二章-地方理論-《旅游目的地管理》課件
- 河北省唐山市藥品零售藥店企業(yè)藥房名單目錄
評論
0/150
提交評論