資源描述:
《圖形用戶界面設(shè)計(jì)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、安徽新華學(xué)院實(shí)驗(yàn)報(bào)告姓名凌鑫鑫學(xué)號(hào)1142155117專(zhuān)業(yè)班級(jí)11級(jí)信科本(1)班課程名稱MATLAB程序設(shè)計(jì)A實(shí)驗(yàn)名稱圖形用戶界面設(shè)計(jì)_____實(shí)驗(yàn)日期2014.4.25同組人員指導(dǎo)教師劉麗得分【實(shí)驗(yàn)名稱】圖形用戶界面設(shè)計(jì)【實(shí)驗(yàn)類(lèi)型】設(shè)計(jì)性實(shí)驗(yàn)【實(shí)驗(yàn)?zāi)康呐c要求】目的:(1)利用MATLAB進(jìn)行圖形用戶界面的綜合性設(shè)計(jì);(2)完成語(yǔ)言編程。要求:(1)學(xué)習(xí)利用MATLAB進(jìn)行圖形用戶界面的編輯與設(shè)計(jì);(2)掌握?qǐng)D形界面的后臺(tái)語(yǔ)言編程的基本方法。【實(shí)驗(yàn)主要儀器設(shè)備及臺(tái)套數(shù)】裝有MATLAB(版本7.1)應(yīng)用軟件的計(jì)算機(jī)?!緦?shí)驗(yàn)學(xué)時(shí)】2學(xué)時(shí)【實(shí)驗(yàn)
2、內(nèi)容】例10-2繪制曲線y=2*sin(5*x)*sin(x),并建立一個(gè)與之相聯(lián)系的快捷菜單,用以控制曲線的線型和曲線寬度。程序如下:x=0:pi/100:2*pi;y=2*sin(5*x).*sin(x);hl=plot(x,y);hc=uicontextmenu;hls=uimenu(hc,'Label','線型');hlw=uimenu(hc,'Label','線寬');uimenu(hls,'Label','虛線','Call','set(hl,"LineStyle",":");');uimenu(hls,'Label','實(shí)線',
3、'Call','set(hl,"LineStyle","-");');uimenu(hlw,'Label','加寬','Call','set(hl,"LineWidth",2);');uimenu(hlw,'Label','變細(xì)','Call','set(hl,"LineWidth",0.5);');set(hl,'UIContextMenu',hc);程序運(yùn)行后按默認(rèn)參數(shù)(0.5磅實(shí)線)畫(huà)線,若將鼠標(biāo)指針指向線條并右擊,則彈出快捷菜單,如下圖所示。選擇菜單命令可以改變線型和曲線寬度。例10-5利用GUI設(shè)計(jì)工具設(shè)計(jì)用戶界面。該界面包括一個(gè)用
4、于顯示圖形的坐標(biāo)軸對(duì)象。顯示的圖形包括表面圖、網(wǎng)格圖和等高線圖。繪制圖形的功能通過(guò)3個(gè)命令按鈕來(lái)實(shí)現(xiàn),用戶通過(guò)單擊相應(yīng)的按鈕。即可繪制相應(yīng)圖形。繪制圖形所需要的數(shù)據(jù)通過(guò)一個(gè)彈出框來(lái)選取。在彈出框中包括3個(gè)選項(xiàng),分別對(duì)應(yīng)MATLAB的數(shù)據(jù)函數(shù)Peaks、Membrane和用戶自定義的繪圖數(shù)據(jù)Sinc,用戶可以通過(guò)選項(xiàng)選擇相應(yīng)的選項(xiàng)來(lái)載入相應(yīng)的繪圖數(shù)據(jù)。在圖形窗口默認(rèn)的菜單條上添加一個(gè)菜單項(xiàng)Select,Select下又有兩個(gè)子菜單項(xiàng)Yellow和Red,選中Yellow項(xiàng)時(shí)圖形窗口將變成黃色,選中Red項(xiàng)時(shí)圖形窗口將變成紅色。(1)在以%var
5、argin開(kāi)頭的注釋語(yǔ)句下輸入以下代碼:handles.peaks=peaks(35);handles.membrane=membrane;[x,y]=meshgrid(-8:0.5:8);r=sqrt(x.^2+y.^2);sinc=sin(r)./(r+eps);handles.sinc=sinc;handles.current_data=handles.sinc;surf(handles.current_data)(2)在以%handles開(kāi)頭的注釋語(yǔ)句下輸入以下代碼:str=get(hObject,'String');val=get(
6、hObject,'Value');switchstr{val};case'Peaks'handles.current_data=handles.peaks;case'Membrane'handles.current_data=handles.membrane;case'Sinc'handles.current_data=handles.sinc;endguidata(hObject,handles)(3)選擇Mesh_Callback函數(shù),在該區(qū)添加以下代碼:mesh(handles.current_data)(4)選擇Surf_Callba
7、ck函數(shù),在該區(qū)添加以下代碼:surf(handles.current_data)(5)選擇Contour3_Callback函數(shù),在該區(qū)添加以下代碼:Contour3(handles.current_data)實(shí)驗(yàn)結(jié)果:例10-6建立圖形演示窗口。在編輯框輸入a、b、c的值,當(dāng)單擊“繪圖”按鈕時(shí),繪制a*x^2+b*x+c的圖形,觀察參數(shù)a、b、c對(duì)圖形的影響。(1)建立GUI如下:(2)在按鈕的pushbutton1-Callback函數(shù)中添加如下代碼:functionpushbutton1_Callback(hObject,eventd
8、ata,handles)com1=get(handles.edit1,'String');com2=get(handles.edit2,'String');com3