Matlab課程設(shè)計報告_第1頁
Matlab課程設(shè)計報告_第2頁
Matlab課程設(shè)計報告_第3頁
Matlab課程設(shè)計報告_第4頁
Matlab課程設(shè)計報告_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

經(jīng)典word整理文檔,僅參考,轉(zhuǎn)Word此處可刪除頁眉頁腳。本資料屬于網(wǎng)絡(luò)整理,如有侵權(quán),請聯(lián)系刪除,謝謝!二○一四年四月三十日課程設(shè)計第1頁共18頁目錄1.設(shè)計目的…………………第3頁2.題目分析…………………第3頁3.總體設(shè)計…………………第3頁4.具體設(shè)計…………………第4頁5.小結(jié)和心得………………第15頁課程設(shè)計第2頁共18頁1、設(shè)計目的:使用MATLAB的GUI程序設(shè)計學(xué)生成績管理系統(tǒng)。完成需學(xué)生成績的基本管理,包含對學(xué)生成績的讀入、修改、添加和查詢等基本的功能。本課題主要解決對學(xué)生成績總體的客觀評價,通過一系列數(shù)據(jù)的分析比較,例如平均值,成績分布等整體數(shù)據(jù)的處理,以及matlab和excel在數(shù)據(jù)聯(lián)動功教學(xué)到考試等一連串過程中的薄弱環(huán)節(jié),從而達(dá)到教學(xué)相長的目的。不論是對學(xué)生的整體學(xué)習(xí)情況還是單獨(dú)考慮每個學(xué)生的學(xué)習(xí)情況都能夠進(jìn)學(xué)生的情況,并從定性和定量兩方面分別給出了數(shù)值與建議。2、題目分析序應(yīng)該包含的幾個基本模塊及應(yīng)該完成的功能如下:的保存。2.成績管理:完成對學(xué)生成績、學(xué)號、成績、總分的顯示和修改,還有添加新的學(xué)生的信息。成績管理里面的顯示框里面。本信息。5.統(tǒng)計出學(xué)生的最高分和最低分以及各科成績的平均分情況。6.通過各科成績的統(tǒng)計分布直方圖,直觀地分析學(xué)生的各科的成績狀況。3、總體設(shè)計圍繞設(shè)計的題目范圍,我們可以將起繪制成功能模塊的總體模塊圖如下圖1。根據(jù)設(shè)計的模塊設(shè)計成GUI的設(shè)計圖如下圖2。試,分析問題原因,在實現(xiàn)程序功能時,進(jìn)一步改善程序的設(shè)計構(gòu)架。課程設(shè)計第3頁共18頁4.1.模塊設(shè)計界面及程序設(shè)計息界課程設(shè)計第4頁共18頁handletoxmlist(seeGCBO)set(handles.chengjilist,'value',content);set(handles.xhlist,'value',content);chengji=handles.chengji;xingming=handles.xingming;4.1.2文件管理模塊:課程設(shè)計第5頁共18頁%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)[filename,pathname]=uigetfile({'*.xls';'*.*'},'打開成績文件');ifisequal(filename,0)|isequal(pathname,0)errordlg('沒有選擇文件','出錯');returnelsestr=[pathname,filename];[word,txt]=xlsread(str);xingming=txt(2:end,1);xuehao=word(1:end,1);chengji=word(1:end,2:3);set(handles.xmlist,'string',xingming);set(handles.chengjilist,'string',num2str(chengji));set(handles.xhlist,'string',num2str(xuehao));handles.count=length(xingming);handles.chengji=chengji;handles.xuehao=xuehao;handles.xingming=xingming;guidata(hObject,handles);End讀取文件里面的信息,保存為數(shù)組的形式,分別給成績、姓名、學(xué)號數(shù)組賦值,并設(shè)置三個list顯示全部學(xué)生的信息,并保存這些數(shù)據(jù)到全局變量handles里面。4.1.2.2保存文件按鈕設(shè)計程序:%---Executesonbuttonpressinbaocunbutton.functionbaocunbutton_Callback(hObject,eventdata,handles)%hObject%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)handletobaocunbutton(seeGCBO)[filename,pathname]=uigetfile({'*.xls';'*.*'},'打開成績文件');ifisequal(filename,0)|isequal(pathname,0)errordlg('沒有選擇文件','出錯');returnelse課程設(shè)計第6頁共18頁str=[pathname,filename];xingming=handles.xingming;chengji=handles.chengji;xuehao=handles.xuehao;oldcount=handles.count;[row,co]=size(chengji);col=co+1;M=cell(row,col);4.1.3成績管理模塊:pushbutton2_Callback(hObject,eventdata,handles)pushbutton2(seeGCBO)課程設(shè)計第7頁共18頁%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)content=get(handles.xmlist,'value');xingming=handles.xingming;chengji=handles.chengji;xuehao=handles.xuehao;newname=get(handles.lredit1,'string');shuxue=str2num(get(handles.lredit2,'string'));yuwen=str2num(get(handles.lredit3,'string'));newxuehao=str2num(get(handles.lredit4,'string'));xingming(content)=newname;chengji(content,:)=[shuxue,yuwen];xuehao(content)=newxuehao;set(handles.xmlist,'string',xingming);set(handles.chengjilist,'string',num2str(chengji));set(handles.xhlist,'string',num2str(xuehao));handles.xuehao=xuehao;handles.xingming=xingming;handles.chengji=chengji;guidata(hObject,handles);獲取輸入的數(shù)據(jù),調(diào)出原來的成績、學(xué)號和姓名數(shù)組,根據(jù)新修改的信息,修改原本的三個數(shù)據(jù)的數(shù)值,并保存到全局變量handles里面。4.1.3.2添加按鈕的程序設(shè)計:%---Executesonbuttonpressintianjiabutton.functiontianjiabutton_Callback(hObject,eventdata,handles)%hObject%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)handletotianjiabutton(seeGCBO)newname=get(handles.lredit1,'string');shuxue=str2num(get(handles.lredit2,'string'));yuwen=str2num(get(handles.lredit3,'string'));newxuehao=str2num(get(handles.lredit4,'string'));handles.xingming=[handles.xingming;newname];handles.chengji=[handles.chengji;shuxue,yuwen];handles.xuehao=[handles.xuehao;newxuehao];課程設(shè)計第8頁共18頁set(handles.xmlist,'string',handles.xingming);handletoshanchubutton(seeGCBO)name=get(handles.xmedit,'string');[lia,id]=ismember(name,handles.xingming);ifliaxingming=handles.xingming;chengji=handles.chengji;xuehao=handles.xuehao;xingming(id)=[];xuehao(id)=[];chengji(id,:)=[];handles.chengji=chengji;handles.xuehao=xuehao;handles.xingming=xingming;guidata(hObject,handles);課程設(shè)計第9頁共18頁set(handles.xmlist,'string',xingming);set(handles.chengjilist,'string',num2str(chengji));set(handles.xhlist,'string',num2str(xuehao));set(handles.xmlist,'value',1);set(handles.xhlist,'value',1);set(handles.chengjilist,'value',1);Else查詢時候有這個名字在保存的名字(或?qū)W號)的數(shù)組里面,調(diào)出姓名、學(xué)號的這兒位置清空,設(shè)置三個list的顯示高亮位置回到第一行,同時更新handles里面的三個數(shù)組存放。4.1.4.2姓名查詢按鈕的程序設(shè)計:%---Executesonbuttonpressinchaxunbutton.functionchaxunbutton_Callback(hObject,eventdata,handles)%hObject%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)handletochaxunbutton(seeGCBO)name=get(handles.xmedit,'string');[lia,id]=ismember(name,handles.xingming);ifliaset(handles.xmlist,'value',id);set(handles.xhlist,'value',id);set(handles.chengjilist,'value',id);xingming=handles.xingming;chengji=handles.chengji;xuehao=handles.xuehao;set(handles.lredit1,'string',xingming(id));set(handles.lredit2,'string',chengji(id,1));set(handles.lredit3,'string',chengji(id,2));set(handles.lredit4,'string',xuehao(id));elsemsgbox('沒有找到');end課程設(shè)計第10頁共18頁亮,并顯示在成績管理里面。4.1.4.3學(xué)號查詢按鈕的程序設(shè)計:%---Executesonbuttonpressinpushbutton9.functionpushbutton9_Callback(hObject,eventdata,handles)%hObject%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)handletopushbutton9(seeGCBO)xh=get(handles.xuehaoedit,'string');[lia,id]=ismember(str2num(xh),handles.xuehao);ifliaset(handles.xmlist,'value',id);set(handles.xhlist,'value',id);set(handles.chengjilist,'value',id);xingming=handles.xingming;chengji=handles.chengji;xuehao=handles.xuehao;set(handles.lredit1,'string',xingming(id));set(handles.lredit2,'string',chengji(id,1));set(handles.lredit3,'string',chengji(id,2));set(handles.lredit4,'string',xuehao(id));elsemsgbox('沒有找到');End亮,并顯示在成績管理里面。4.1.4.4總分查詢按鈕的程序設(shè)計:%---Executesonbuttonpressinzfbutton.functionzfbutton_Callback(hObject,eventdata,handles)%hObject%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)handletozfbutton(seeGCBO)name=get(handles.lredit13,'string');[lia,id]=ismember(name,handles.xingming);ifliaMATLAB課程設(shè)計第11頁共18頁set(handles.xmlist,'value',id);set(handles.xhlist,'value',id);set(handles.chengjilist,'value',id);xingming=handles.xingming;chengji=handles.chengji;chengji=handles.chengji;shuxue=chengji(1:end,1);avesshuxue=mean(shuxue);4.1.5.1最高分按鈕程序設(shè)計:%---Executesonbuttonpressinpushbutton7.functionpushbutton7_Callback(hObject,eventdata,handles)%hObject%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)handletopushbutton7(seeGCBO)chengji=handles.chengji;count=handles.count;x=max(chengji(1:count,1));y=max(chengji(1:count,2));set(handles.lredit6,'string',num2str(x));set(handles.lredit7,'string',num2str(y));調(diào)用成績數(shù)組,根據(jù)人數(shù),設(shè)置比較次數(shù),按照科目比較,并設(shè)置顯示。4.1.5.2最低分程序設(shè)計:%---Executesonbuttonpressinpushbutton8.functionpushbutton8_Callback(hObject,eventdata,handles)%hObject%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)handletopushbutton8(seeGCBO)chengji=handles.chengji;count=handles.count;x=min(chengji(1:count,1));y=min(chengji(1:count,2));set(handles.lredit8,'string',num2str(x));set(handles.lredit9,'string',num2str(y));調(diào)用成績數(shù)組,根據(jù)人數(shù),設(shè)置比較次數(shù),按照科目比較,并設(shè)置顯示。4.1.6成績統(tǒng)計直方圖模塊:課程設(shè)計第13頁共18頁%eventdatareserved-tobedefinedinafutureversionofMATLABaxes(handles.axes1);cla;chengji=handles.chengji;shuxue=chengji(1:end,1);count=handles.count;aa=[00000];fori=1:countelseifshuxue(i)<70aa(2)=aa(2)+1;elseifshuxue(i)<80aa(3)=aa(3)+1;elseifshuxue(i)<90aa(4)=aa(4)+1;endendendendx=[5065758595];bar(x,aa);title('數(shù)學(xué)成績分?jǐn)?shù)段統(tǒng)計直方圖');數(shù)圖像。4.1.6.2顯示語文成績分?jǐn)?shù)段統(tǒng)計直方圖:%---Executesonbuttonpressinpushbutton14.functionpushbutton

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論