第一篇:Java課設(shè)工作的總結(jié)
面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)工作的總結(jié)
歷時(shí)兩周的面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)圓滿完成。由于提前對(duì)課設(shè)進(jìn)行了精心的準(zhǔn)備和布置,使得學(xué)生能在短短的兩周時(shí)間內(nèi)取得了最大收獲。
本次設(shè)計(jì)在總結(jié)了以往設(shè)計(jì)經(jīng)驗(yàn)的基礎(chǔ)上,對(duì)設(shè)計(jì)的任務(wù)內(nèi)容進(jìn)行了細(xì)化,同時(shí)明確小組內(nèi)分工,強(qiáng)調(diào)課設(shè)的紀(jì)律和要求,強(qiáng)調(diào)獨(dú)立設(shè)計(jì),讓學(xué)生明白學(xué)習(xí)別人和抄襲別人成果的區(qū)別,重視動(dòng)手實(shí)踐。
加強(qiáng)學(xué)生課設(shè)報(bào)告規(guī)范化的要求,認(rèn)真檢查,對(duì)不符合要求的報(bào)告,反復(fù)修改,講解報(bào)告的規(guī)范化要求,鍛煉學(xué)生的學(xué)習(xí)態(tài)度。
作為本次課設(shè)的指導(dǎo)老師,我們嚴(yán)格按教務(wù)處的課設(shè)流程規(guī)定進(jìn)行。
1.進(jìn)行課程設(shè)計(jì)的選題工作,填寫(xiě)備選題目登記表。
2.教研室主任對(duì)指導(dǎo)教師的選題進(jìn)行篩選審查。
3.系部教學(xué)副主任對(duì)課程設(shè)計(jì)的選題審核簽字。
4.向?qū)W生下達(dá)課程設(shè)計(jì)任務(wù)書(shū)。
5.指導(dǎo)教師指導(dǎo)、督促、檢查學(xué)生設(shè)計(jì)情況,填寫(xiě)課程設(shè)計(jì)指導(dǎo)教師工作日志。
6.指導(dǎo)教師和評(píng)閱教師分別完成課程設(shè)計(jì)成績(jī)的評(píng)定,上報(bào)教務(wù)處。
7.教研室對(duì)課程設(shè)計(jì)樣本和有關(guān)材料收存歸檔。
本次課設(shè)時(shí)間短,任務(wù)重,多數(shù)同學(xué)經(jīng)歷后覺(jué)得收獲很大。對(duì)理論課的理解更加深刻了,同時(shí)也增強(qiáng)了Java編程的信心。
第二篇:java課設(shè)心得與體會(huì)
完成的任務(wù)
1.2.3.4.5.登錄模塊 前臺(tái)服務(wù) 權(quán)限管理 密碼MD5加密 集成小組成員的各個(gè)模塊
心得與體會(huì)
剛開(kāi)始看這個(gè)項(xiàng)目的時(shí)候,覺(jué)得比較簡(jiǎn)單,總體的感覺(jué)是java的swing布局有些復(fù)雜,其他的都還好!由于時(shí)間比較緊,發(fā)現(xiàn)了項(xiàng)目中的一些bug,但還沒(méi)有時(shí)間來(lái)得及一一修改和完善,以后有時(shí)間,再完善。做這個(gè)項(xiàng)目的時(shí)候,由于有幾門(mén)考試,所以沒(méi)有花很多時(shí)間考慮這個(gè)架構(gòu),而是參考了網(wǎng)上的一些代碼,慢慢的理清了思路。
起初,我的思路是使用三層架構(gòu),使用典型的MVC模式,M(模型)包括一些java bean,一些實(shí)體類(lèi)和基礎(chǔ)的方法,V(視圖)主要是swing搭建的界面,C(控制器)則包括一些具體的操作方法,以及調(diào)節(jié)模型和視圖之間的調(diào)用關(guān)系等。
這次,整個(gè)系統(tǒng)并沒(méi)有完全使用MVC模式編寫(xiě),只使用了一小部分,小組的其他成員,對(duì)MVC模式都不是很了解,此項(xiàng)目,使用MVC模式,我感覺(jué)還復(fù)雜一些,有很多多余的操作。本系統(tǒng)連接操作數(shù)據(jù)庫(kù)使用的是DBUtils,它是是操作數(shù)據(jù)庫(kù)的組件,對(duì)傳統(tǒng)操作數(shù)據(jù)庫(kù)的類(lèi)進(jìn)行二次封裝,可以把結(jié)果集轉(zhuǎn)化成List。DBUtils封裝了對(duì)JDBC的操作,簡(jiǎn)化了JDBC操作,可以少寫(xiě)代碼。ArrayHandler :將ResultSet中第一行的數(shù)據(jù)轉(zhuǎn)化成對(duì)象數(shù)組;ArrayListHandler將ResultSet中所有的數(shù)據(jù)轉(zhuǎn)化成List,List中存放的是Object[]; BeanHandler :將ResultSet中第一行的數(shù)據(jù)轉(zhuǎn)化成類(lèi)對(duì)象; BeanListHandler :將ResultSet中所有的數(shù)據(jù)轉(zhuǎn)化成List,List中存放的是類(lèi)對(duì)象 ;ColumnListHandler :將ResultSet中某一列的數(shù)據(jù)存成List,List中存放的是Object對(duì)象; KeyedHandler :將ResultSet中存成映射,key為某一列對(duì)應(yīng)為Map。Map中存放的是數(shù)據(jù) ;MapHandler :將ResultSet中第一行的數(shù)據(jù)存成Map映射;MapListHandler :將ResultSet中所有的數(shù)據(jù)存成List。List中存放的是Map ;ScalarHandler :將ResultSet中一條記錄的其中某一列的數(shù)據(jù)存成Object。前臺(tái)服務(wù)模塊,主要理解Vector的使用就可以了,Vector 類(lèi)可以實(shí)現(xiàn)可增長(zhǎng)的對(duì)象數(shù)組。與數(shù)組一樣,它包含可以使用整數(shù)索引進(jìn)行訪問(wèn)的組件。但是,Vector 的大小可以根據(jù)需要增大或縮小,以適應(yīng)創(chuàng)建 Vector 后進(jìn)行添加或移除項(xiàng)的操作。Vector可以擴(kuò)展為二維或者三維數(shù)組,在前臺(tái)服務(wù)中,菜單列表和桌子列表的表格的數(shù)據(jù)源均來(lái)自Vector,所以,需要我們動(dòng)態(tài)構(gòu)造Vector添加到表格中去,并且呈現(xiàn)出來(lái)。修改數(shù)據(jù)的辦法一般是,先修改Vector里面的值,然后更新到table中,或者直接修改table里面單元格的值。獲得表格指定行和列的值的方法是table.getValueAt(row,column)。菜單和桌子列表都是用的Vector的二維表現(xiàn)形式,其中把菜單和桌子關(guān)聯(lián)起來(lái)用來(lái)了Vector的三維形式,主要是用來(lái)方便獲取每一桌的點(diǎn)的菜。其他的部分都是一些邏輯關(guān)系。很多時(shí)間,花費(fèi)在了界面上面。業(yè)務(wù)邏輯的處理,主要包括,首頁(yè)是定桌,點(diǎn)菜,菜必須簽單,才有效,結(jié)賬的時(shí)候,必須沒(méi)有未簽單的菜。其實(shí)菜單列表和桌子列表是通過(guò)三維的Vector關(guān)聯(lián)起來(lái)的,通過(guò)桌子列表的索引,可以查詢到該桌子菜單列表的情況。結(jié)賬這一塊的時(shí)候,主要就是在結(jié)賬成功后,相應(yīng)的消費(fèi)信息才會(huì)真正的進(jìn)入數(shù)據(jù)庫(kù)。
談到登錄模塊,首先說(shuō)密碼加密。密碼加密,其實(shí)就是,通過(guò)數(shù)據(jù)庫(kù),你無(wú)法看到真實(shí)的密碼,看到的是經(jīng)過(guò)MD5算法加密后的32位字符。雖然,大都加密,都采用二次MD5加密,防止通過(guò)逆運(yùn)算,破解,但這個(gè)系統(tǒng),并沒(méi)有搞到這么復(fù)雜,就采用了一次MD5加密。密碼加密后,登錄系統(tǒng)和修改密碼的時(shí)候,都需要做一次密碼加密后的驗(yàn)證,添加新用戶的時(shí)候,也需要把密碼加密后,加入到系統(tǒng)數(shù)據(jù)中。登錄模塊,就是密碼的校驗(yàn),很重要的異常和用戶的不規(guī)則輸入的判斷等。權(quán)限管理模塊,本系統(tǒng)采用了二級(jí)權(quán)限管理,超級(jí)管理員和普通管理員,超級(jí)管理員,擁有所有的操作權(quán)限,而普通管理員,只能前臺(tái)服務(wù)和日結(jié)賬,以及修改自己的密碼。這個(gè)模塊的實(shí)現(xiàn),其實(shí)也沒(méi)有什么難度,只要在登錄的時(shí)候,判斷一下用戶級(jí)別,如果是普通用戶,則設(shè)置一些按鈕為不可用即可。
集成小組成員的各個(gè)模塊,這個(gè)工作可以說(shuō)是最頭疼的一個(gè)。開(kāi)始,規(guī)劃的蠻好,采用MVC模式編寫(xiě),但后來(lái)發(fā)現(xiàn),他們對(duì)這個(gè)都不知道,所以無(wú)法進(jìn)行下去,考慮到后面的集成問(wèn)題,就部分采用了老師給的基本的數(shù)據(jù)庫(kù)采用代碼,但我還是保留了MVC的框架和一些類(lèi),方便以后的擴(kuò)展。
魯蒙
第三篇:ERP課設(shè)
ERP原理與應(yīng)用
課程設(shè)計(jì)報(bào)告-電器公司ERP系統(tǒng)應(yīng)用
班級(jí):1121808
姓名:丁賢民
學(xué)號(hào):201120180827
指導(dǎo)老師:徐瑋 日期:2014.6.25 一.實(shí)驗(yàn)時(shí)間和地點(diǎn):
2014.06.25~2014.06.26 二.實(shí)驗(yàn)?zāi)康模?/p>
通過(guò)一周的課程設(shè)計(jì),基本掌握ERP系統(tǒng)軟件的業(yè)務(wù)處理流程,學(xué)習(xí)如何把企業(yè)設(shè)計(jì)、銷(xiāo)售、采購(gòu)、生產(chǎn)、管理過(guò)程中所涉及的各種基礎(chǔ)資料按ERP系統(tǒng)的內(nèi)在邏輯要求錄入到電腦中,掌握在ERP系統(tǒng)中建立物料主文件、產(chǎn)品結(jié)構(gòu)清單、工作中心、資源清單、工藝路線的方法,掌握在ERP系統(tǒng)中錄入銷(xiāo)售訂單和產(chǎn)品預(yù)測(cè)數(shù)據(jù),進(jìn)而生成主生產(chǎn)計(jì)劃、物料需求計(jì)劃和能力需求計(jì)劃的方法,掌握按主生產(chǎn)計(jì)劃、物料需求計(jì)劃實(shí)施采購(gòu)業(yè)務(wù)和車(chē)間生產(chǎn)業(yè)務(wù)的處理流程,掌握與銷(xiāo)售采購(gòu)相關(guān)的財(cái)務(wù)處理業(yè)務(wù)。
三.設(shè)計(jì)要求:
1.實(shí)施過(guò)程全部在金蝶K3 ERP軟件上完成。設(shè)計(jì)結(jié)束后,每位同學(xué)獨(dú)立提交一份ERP課程設(shè)計(jì)報(bào)告,內(nèi)容包括規(guī)劃的數(shù)據(jù)、設(shè)計(jì)過(guò)程、軟件處理內(nèi)容及處理結(jié)果、運(yùn)行參數(shù)設(shè)置、遇到的疑難問(wèn)題及解決辦法。2.界面截圖里要有各自的數(shù)據(jù)。3.禁止抄襲,雷同報(bào)告成績(jī)均為0。
四.設(shè)計(jì)內(nèi)容:
具體實(shí)施如下開(kāi)始: 1.新建帳套:
開(kāi)始-程序-金蝶k3標(biāo)準(zhǔn)版-金蝶k3工具-帳套管理。
進(jìn)行用戶管理,新建了用戶和用戶組。如下圖所見(jiàn):
產(chǎn)品預(yù)測(cè)數(shù)據(jù)管理
錄入產(chǎn)品預(yù)測(cè)單:計(jì)劃管理→主生產(chǎn)計(jì)劃→產(chǎn)品預(yù)測(cè)→產(chǎn)品預(yù)測(cè)—新增
對(duì)用戶丁賢民進(jìn)行了權(quán)限設(shè)置,如下圖所示:
2.建立主營(yíng)產(chǎn)品的物料主文件和產(chǎn)品結(jié)構(gòu)清單。
進(jìn)入金蝶k3的控制平臺(tái):
電機(jī)桌面的金蝶k/3標(biāo)準(zhǔn)版進(jìn)入平臺(tái),如下圖:
進(jìn)入主控制界面:
建立了幾個(gè)科目,如下圖:
錄入幣別
選擇公共資料→幣別,如下圖: 錄入記量單位
選擇公共資料→計(jì)量單位,打開(kāi)計(jì)量單位管理界面
部門(mén)錄入:
錄入物料數(shù)據(jù)
選擇公共資料→物料,進(jìn)入物料管理界面。
單擊新增按鈕或雙擊已錄入的物料,可打開(kāi)物料錄入或修改界面
錄入BOM單:計(jì)劃管理-生產(chǎn)數(shù)據(jù)管理-BOM維護(hù)-BOM新增。形成下列的BOM單;
BOM維護(hù):
3.建立加工該產(chǎn)品所用到的資源清單和工作中心錄入工作中心及資源清單
錄入工作中心
選擇系統(tǒng)設(shè)置→基礎(chǔ)資料→公共資料→工作中心,進(jìn)入工作中心管理界面
錄入資源清單
計(jì)劃管理→生產(chǎn)數(shù)據(jù)管理→基礎(chǔ)資料→資源清單
4.錄入物料工藝路線
選擇計(jì)劃管理→生產(chǎn)數(shù)據(jù)管理→工藝路線→工藝路線新增:
5.錄入初始庫(kù)存資料:
選擇系統(tǒng)設(shè)置→初始化→倉(cāng)存管理→初始數(shù)據(jù)錄入
截圖如下:
6.錄入和維護(hù)銷(xiāo)售訂單和產(chǎn)品預(yù)測(cè)數(shù)據(jù)、編制主生產(chǎn)計(jì)劃、進(jìn)行粗能力計(jì)算:
訂單錄入
供應(yīng)鏈→銷(xiāo)售管理→銷(xiāo)售訂單—新增,則打開(kāi)銷(xiāo)售訂單錄入界面
編制主生產(chǎn)計(jì)劃
選擇生產(chǎn)管理→主生產(chǎn)計(jì)劃→系統(tǒng)設(shè)置→計(jì)劃展望期維護(hù)
選擇生產(chǎn)管理→主生產(chǎn)計(jì)劃→MPS計(jì)算
進(jìn)行粗能力計(jì)算
選擇生產(chǎn)管理→粗能力需求計(jì)劃→粗能力清單→粗能力清單生成:
7.根據(jù)主生產(chǎn)計(jì)劃生成物料需求計(jì)劃、并進(jìn)行細(xì)能力計(jì)算
物料需求計(jì)劃:
細(xì)能力計(jì)算
選擇生產(chǎn)管理→細(xì)能力需求計(jì)劃→細(xì)能力計(jì)算→細(xì)能力計(jì)算:
8.根據(jù)主生產(chǎn)計(jì)劃、物料需求計(jì)劃生成采購(gòu)計(jì)劃和車(chē)間生產(chǎn)任務(wù)
單擊[生產(chǎn)管理] →[生產(chǎn)任務(wù)管理] →[生產(chǎn)任務(wù)] →[生產(chǎn)任務(wù)單-查詢],系統(tǒng)彈出條件過(guò)濾界面。點(diǎn)擊[確定],進(jìn)入生產(chǎn)任務(wù)單時(shí)序簿界面。選擇一張生產(chǎn)任務(wù)單,點(diǎn)擊[下達(dá)]按鈕。
車(chē)間生產(chǎn)任務(wù):
9.根據(jù)采購(gòu)計(jì)劃實(shí)施采購(gòu)業(yè)務(wù)各項(xiàng)流程、直至外購(gòu)零件入庫(kù):
10.根據(jù)車(chē)間生產(chǎn)任務(wù)實(shí)施車(chē)間管理各項(xiàng)流程,直至產(chǎn)品完工入庫(kù)
工序計(jì)劃單查詢
工序領(lǐng)料(工序計(jì)劃單查詢-編輯-工序領(lǐng)料):
派工單:
產(chǎn)品入庫(kù):
11.根據(jù)采購(gòu)和銷(xiāo)售數(shù)據(jù)完成應(yīng)收、應(yīng)付的財(cái)務(wù)處理業(yè)務(wù)
五.實(shí)驗(yàn)心得:
首先感謝寧星老師,徐瑋老師,王紅玲老師這兩天對(duì)我們的指導(dǎo),讓我們能夠順利地完成此次課程設(shè)計(jì)。
通過(guò)本次的課程設(shè)計(jì),我基本掌握ERP系統(tǒng)軟件的業(yè)務(wù)處理流程,從最開(kāi)始的新建帳套,進(jìn)行帳套的初始設(shè)置,建立主營(yíng)產(chǎn)品的物料主文件和產(chǎn)品結(jié)構(gòu)清單,到建立加工該產(chǎn)品所用到的資源清單和工作中心和錄入和維護(hù)加工該產(chǎn)品各零件的工藝路線之后再錄入初始庫(kù)存資料,錄入和維護(hù)銷(xiāo)售訂單和產(chǎn)品預(yù)測(cè)數(shù)據(jù)、編制主生產(chǎn)計(jì)劃、進(jìn)行粗能力計(jì)算到根據(jù)車(chē)間生產(chǎn)任務(wù)實(shí)施車(chē)間管項(xiàng)流程,直至產(chǎn)品完工入庫(kù),最后根據(jù)采購(gòu)和銷(xiāo)售數(shù)據(jù)完成應(yīng)收、應(yīng)付的財(cái)務(wù)處理業(yè)務(wù)。
這一系列的操作,讓我受益匪淺。雖然平時(shí)也接觸過(guò)金蝶這個(gè)軟件,但是當(dāng)所以得任務(wù)都是細(xì)致緊密地聯(lián)系在一起的還是第一次做,真正做到了企業(yè)管理所有流程的操作,個(gè)人覺(jué)得還是很難的。在操作的過(guò)程中,雖然遇到了很多的困難,比如MPS計(jì)算需要系統(tǒng)啟動(dòng)后才能使用,BOM的錄入也成了問(wèn)題等等,但是在老師和同學(xué)的指導(dǎo)下最終也順利地解決了,出錯(cuò),糾正,不懂到懂,這才是真正的進(jìn)步。
紙上得來(lái)終覺(jué)淺,絕知此事要躬行。確實(shí)是至理名言,我們課程設(shè)計(jì)之前沒(méi)有收集數(shù)據(jù),沒(méi)有想象一個(gè)企業(yè)在實(shí)施的過(guò)程中需要什么物料,我們總是想當(dāng)然的認(rèn)為自己能夠當(dāng)場(chǎng)很容易的想出來(lái),但是事實(shí)卻是,我們面對(duì)著電腦發(fā)呆,迷茫。我們總覺(jué)得事情很簡(jiǎn)單,眼高手低卻是我們的寫(xiě)照,所以要想真正明白一個(gè)事情的事理就要實(shí)踐,實(shí)踐出真知,也需要你謙虛地面對(duì)所處的境地,不能怨天尤人。在實(shí)驗(yàn)室也看到了不少同學(xué)因?yàn)樽霾粊?lái)就直接不做了,然后急躁的敲著鼠標(biāo),我開(kāi)始也有點(diǎn)焦躁,但是很快就冷靜下來(lái)一步一步跟著指導(dǎo)書(shū)做,然后也有了不錯(cuò)的效果,這也是本次課程設(shè)計(jì)給我?guī)?lái)的除學(xué)習(xí)外的精神方面的收獲。
經(jīng)過(guò)本次ERP的課設(shè),我在各個(gè)方面都有了一定的進(jìn)步,也達(dá)到了此次課設(shè)所需要達(dá)到的效果,今后會(huì)以今天的收獲去享受更美好的明天。
第四篇:課設(shè)心得體會(huì)
經(jīng)歷了編c語(yǔ)言課程設(shè)計(jì)后,我對(duì)這一學(xué)期c語(yǔ)言所學(xué)內(nèi)容有了更加深刻的了解和掌握,特別是一直不懂的鏈表和指針,現(xiàn)在發(fā)現(xiàn)自己都能運(yùn)用了,很開(kāi)心自己的進(jìn)步。所以,雖然寫(xiě)程序的過(guò)程中,遇到各種問(wèn)題,調(diào)試的時(shí)候也是遇到各種令人頭大的問(wèn)題,但能借助課程設(shè)計(jì)提高自己對(duì)指針和鏈表的熟練度,提高自己對(duì)c語(yǔ)言編程的熟練度,也希望學(xué)校可以多開(kāi)設(shè)一些這樣的課程,既是讓我們對(duì)自己所學(xué)知識(shí)的一個(gè)綜合理解與使用,也可以提高我們的動(dòng)手實(shí)踐能力、對(duì)知識(shí)的運(yùn)用能力,更是一個(gè)讓我們學(xué)會(huì)獨(dú)立思考的好機(jī)會(huì)。
剛開(kāi)始準(zhǔn)備編代碼時(shí),感覺(jué)很茫然,不知道從何寫(xiě)起。雖然在這之前,我們已經(jīng)對(duì)c語(yǔ)言這門(mén)課程學(xué)習(xí)了差不多一個(gè)學(xué)期,對(duì)其有了一定的了解,但是也僅僅是停留在了解的范圍,對(duì)里面的好多東西還是很陌生的,在運(yùn)用起來(lái)的時(shí)候還是感到很棘手。
我首先去構(gòu)建了一個(gè)基本的框架,搭建框架就好比一棟大樓的地基??蚣艽詈昧?,一個(gè)程序就慢慢成形了。在寫(xiě)課設(shè)的過(guò)程中,感覺(jué)最難的的就是控件的功能實(shí)現(xiàn)了。剛剛把代碼敲出來(lái)的時(shí)候,整個(gè)人那個(gè)興奮啊。但是,一編譯運(yùn)行。像一桶冷水從頭澆到底。那錯(cuò)誤多的,看的我眼花繚亂。編程序是一個(gè)很細(xì)心的過(guò)程。因?yàn)槿绻悴徽J(rèn)真去寫(xiě),少寫(xiě)了括號(hào),或者分號(hào),都會(huì)導(dǎo)致你的程序運(yùn)行不出來(lái)或者運(yùn)行出來(lái)的結(jié)果有錯(cuò)誤。這些錯(cuò)誤都很小,但是讓你從一大堆程序中去找,這也是個(gè)難題。
通過(guò)實(shí)訓(xùn)的這個(gè)過(guò)程中我發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠深刻,掌握得不夠牢固。還有一點(diǎn)就是,通過(guò)編程讓我感覺(jué)到了鏈表在C語(yǔ)言中的重要性。在我看來(lái),學(xué)會(huì)運(yùn)用鏈表,就等于跨過(guò)了C語(yǔ)言的大門(mén)。
操作是學(xué)好c語(yǔ)言必不可少的一步。因?yàn)椴还苣憷碚撝R(shí)掌握的如何熟練,不上機(jī)實(shí)際操作的話,是沒(méi)有任何效果的,許多問(wèn)題都是在實(shí)際上機(jī)操作中顯現(xiàn)出來(lái)的,在書(shū)本上是體現(xiàn)不出來(lái)的。書(shū)本上是永遠(yuǎn)不會(huì)出現(xiàn)你自己的思想成果的,正是應(yīng)了那句話“實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn)?!?/p>
總之,通過(guò)c語(yǔ)言的學(xué)習(xí),使我對(duì)計(jì)算機(jī)語(yǔ)言有了一些初步的認(rèn)識(shí)和理解,使我對(duì)計(jì)算機(jī)語(yǔ)言不再像以前一樣一無(wú)所知,認(rèn)為那是高不可攀的、十分難以理解、一般人學(xué)不會(huì)的東西了。我認(rèn)為只要學(xué)習(xí)方法掌握好,再加上刻苦的練習(xí),是完全有可能學(xué)好任何一門(mén)計(jì)算機(jī)語(yǔ)言的。
在本學(xué)期對(duì)c語(yǔ)言的粗略學(xué)習(xí)之后,我們進(jìn)行的這次課程設(shè)計(jì),無(wú)疑加深了對(duì)c語(yǔ)言的認(rèn)識(shí)和應(yīng)用。要想從書(shū)本走向?qū)嵺`是一個(gè)很艱難地過(guò)程,所以剛開(kāi)始的時(shí)候,我遇到了各種各樣的阻礙,以至于差點(diǎn)兒打消了我做這次設(shè)計(jì)的念頭。一開(kāi)始就遇到了怎樣能正確創(chuàng)建一個(gè)鏈表的問(wèn)題,在上課的時(shí)候就模糊不清,不知道所以然,開(kāi)始翻課本,問(wèn)同學(xué),依然是朦朦朧朧,又玩命的上機(jī)操作才終于得到解決。
在過(guò)程中問(wèn)我才認(rèn)識(shí)到自己自己還有很多的知識(shí)沒(méi)學(xué)好,基礎(chǔ)知識(shí)沒(méi)理清,而且很多東西還要去翻書(shū),去網(wǎng)上搜索,而且遇到一些小錯(cuò)誤運(yùn)行不出來(lái)就會(huì)煩躁不安,逐漸克服這些問(wèn)題后我發(fā)現(xiàn)對(duì)c語(yǔ)言越來(lái)越感興趣了,以后我要克服這些,盡量保持一顆良好的心態(tài),學(xué)好c語(yǔ)言。首先我必須學(xué)好c語(yǔ)言的基礎(chǔ)知識(shí),然后能在電腦上熟練的運(yùn)用,上網(wǎng)的時(shí)候多看一些優(yōu)秀的代碼,看看別人怎么寫(xiě),再結(jié)合自己的不足之處進(jìn)行改正。總之,這次的課設(shè)是是我記憶里的一個(gè)新篇章,更是c語(yǔ)言編程上的一個(gè)里程碑。
接著又是各種類(lèi)型的錯(cuò)誤,很多是學(xué)藝不精的結(jié)果,一個(gè)一個(gè)解決,時(shí)而還有道查一下單詞。就這樣實(shí)踐是檢驗(yàn)真理的標(biāo)準(zhǔn),在屢敗屢戰(zhàn)之后,迎來(lái)了成功的花朵。然后我抓破破腦袋的讓我的程序更加合理和多功能。
我們已經(jīng)學(xué)習(xí)了《C 語(yǔ)言程序設(shè)計(jì)》這門(mén)課,但是我所學(xué)的知識(shí)最多也就是在做作業(yè)的時(shí)候才會(huì)用到,平時(shí)沒(méi)有什么練習(xí)的機(jī)會(huì),這次的課程設(shè)計(jì)是我第一次通過(guò)自己構(gòu)思,和同學(xué)討論并且不斷查閱資料來(lái)設(shè)計(jì)一項(xiàng)程序。這次設(shè)計(jì),不僅鞏固了我以前所學(xué)的知識(shí),還讓我對(duì)c語(yǔ)言有了更深一步的了解,掌握了更多的技巧和技能。C語(yǔ)言是計(jì)算機(jī)程序設(shè)計(jì)的重要理論基礎(chǔ),在我們以后的學(xué)習(xí)和工作中都有著十分重要的地位。要學(xué)好這種語(yǔ)言,僅僅學(xué)習(xí)課本上的知識(shí)是不夠的,還要經(jīng)常自己動(dòng)手,有較強(qiáng)的實(shí)踐能力。只有多動(dòng)手,經(jīng)常編寫(xiě)程序,才能發(fā)現(xiàn)我們學(xué)習(xí)上的漏洞和自己的不足,并在實(shí)踐中解決這些問(wèn)題,不斷提高自己轉(zhuǎn)化知識(shí)的能力。在我有解決不了的問(wèn)題時(shí),我會(huì)主動(dòng)查閱相關(guān)的資料,或向其他同學(xué)詢問(wèn),這不僅豐富了我們的知識(shí),還增進(jìn)了我們同學(xué)之間的友誼。為了增大信息的安全性,需要用文件來(lái)存儲(chǔ)信息,由于我在上課時(shí)不注重對(duì)文件的運(yùn)用,所以在這方面有較大的困難。我先將書(shū)本認(rèn)認(rèn)真真地看了一遍,又做了一下課后習(xí)題來(lái)驗(yàn)證和增進(jìn)自己的理解,終于,經(jīng)過(guò)我們的不懈努力,我的程序有了突破,成功地實(shí)現(xiàn)了用文件來(lái)保存并查看學(xué)索賠信息。這次設(shè)計(jì)中,我的收獲還有就是學(xué)會(huì)了用流程圖來(lái)表達(dá)自己的想法,并根據(jù)流程圖來(lái)逐步實(shí)現(xiàn)程序的功能。開(kāi)始的時(shí)候,我畫(huà)流程圖很是困難,需要一個(gè)多小時(shí)才能清楚的根據(jù)自己的想法畫(huà)出圖來(lái),后來(lái)畫(huà)多了,就更加了解它的功能,十分得心應(yīng)手,能夠比較快而準(zhǔn)確的畫(huà)出來(lái)。在這次課程設(shè)計(jì)中,我們首先對(duì)系統(tǒng)的整體功能進(jìn)行了構(gòu)思,然后用結(jié)構(gòu)化分析方法進(jìn)行分析,將整個(gè)系統(tǒng)清楚的劃分為幾個(gè)模塊,再根據(jù)每個(gè)模塊的功能編寫(xiě)代碼。而且盡可能的將模塊細(xì)分,最后在進(jìn)行函數(shù)的調(diào)用。我們?cè)诤瘮?shù)的編寫(xiě)過(guò)程中,我們不僅用到了for循環(huán)、while循環(huán)和switch語(yǔ)句,還用到了函數(shù)之間的調(diào)用(包括遞歸調(diào)用)。由于我們是分工編寫(xiě)代碼,最后需要將每個(gè)人的代碼放到一起進(jìn)行調(diào)試。在調(diào)試的過(guò)程中也遇到了困難,但經(jīng)過(guò)我耐心的修改,終于功夫不負(fù)有心人,我成功了!
在這樣一個(gè)過(guò)程中,我收獲了許多在書(shū)本上根本學(xué)不到的東西。了解到了自己的不足之處,受益匪淺。
為期兩周的課程設(shè)計(jì)快結(jié)束了,通過(guò)這次數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì),我感受最深的就是對(duì)于循環(huán)鏈表的使用,可以說(shuō)對(duì)循環(huán)鏈表有了比以前更進(jìn)一步的認(rèn)識(shí),以前只是一知半解的,如果讓我自己來(lái)編寫(xiě)程序還真懵了,不過(guò)這個(gè)程序還是被我搞懂了,也改了一些部分,通過(guò)這些改動(dòng)和這幾天的摸索漸漸明白了,所以這次課程設(shè)計(jì)最大的收獲就在于對(duì)循環(huán)鏈表有了一定的理解,包括其中的一系列操作,如建立一個(gè)循環(huán)鏈表,刪除鏈表中的一個(gè)結(jié)點(diǎn),增加一個(gè)結(jié)點(diǎn)等。
在這次課程設(shè)計(jì)過(guò)程中需要我們一邊設(shè)計(jì)一邊探索,在這個(gè)過(guò)程當(dāng)中我發(fā)現(xiàn)自己在數(shù)據(jù)結(jié)構(gòu)方面知識(shí)掌握不夠深入,對(duì)一些基本概念不能很好的理解,對(duì)一些數(shù)據(jù)結(jié)構(gòu)不能夠熟練的進(jìn)行上機(jī)實(shí)現(xiàn),這是自己比較薄弱的。學(xué)好基礎(chǔ)知識(shí)是理論付諸實(shí)踐的前提,這樣理論和實(shí)踐才能充分地結(jié)合起來(lái)。在以后的學(xué)習(xí)中,我還要努力改正,充分利用上機(jī)實(shí)驗(yàn)的機(jī)會(huì)提高自己。在程序的輸入的時(shí)候,因?yàn)樽约簩?duì)鍵盤(pán)的不熟練,代碼又很多很繁瑣,常常會(huì)產(chǎn)生放棄的念頭,從中我也感受到只有堅(jiān)持到底,勝利才會(huì)出現(xiàn)。在調(diào)試程序的時(shí)候我也有所體會(huì),雖然約瑟夫環(huán)問(wèn)題不是很難,但調(diào)試的時(shí)候還是會(huì)出現(xiàn)很多錯(cuò)誤,因此我們不能認(rèn)為容易就不認(rèn)真對(duì)待。在以后的學(xué)習(xí)中,要能不斷發(fā)現(xiàn)問(wèn)題,提出問(wèn)題,解決問(wèn)題,從不足之處出發(fā),在不斷學(xué)習(xí)中提高自己。
不知不覺(jué)緊張課程設(shè)計(jì)已經(jīng)差不多要結(jié)束了,想想自己從剛開(kāi)始的什么都不敢去做,到現(xiàn)在所有所做的,感覺(jué)自己的編程能力有了很大的提高,只要認(rèn)真仔細(xì)的去做一件事,我們真的可以做到很多,不禁想起老師上課所傳授的一句名言:心在哪里,時(shí)間就在哪里。這句話淺俗易懂,當(dāng)你深有體會(huì)到的時(shí)候那種感覺(jué)簡(jiǎn)直無(wú)法言語(yǔ)。
這次課設(shè)我真的學(xué)到了很多,彌補(bǔ)了以前很大的不足,讓我感覺(jué)到了我的能力,以后的學(xué)習(xí),我要沉著,用良好的心態(tài)去對(duì)待以后所出現(xiàn)的各種編程知識(shí)及任務(wù)。平時(shí)要多花時(shí)間,到了大三更要努力。堅(jiān)持理論與實(shí)踐相結(jié)合,從中掌握每個(gè)細(xì)節(jié),相信自己會(huì)取得很大進(jìn)步,彌補(bǔ)以前的不足,以后會(huì)有個(gè)較好的發(fā)展!
第五篇:Matlab課設(shè)
武漢理工大學(xué)《Matlab課程設(shè)計(jì)》課程設(shè)計(jì)說(shuō)明書(shū)
目錄
摘要.............................................................................................2
一、Matlab運(yùn)算與應(yīng)用............................................................3 1.1..........................................................................................3 1.2..........................................................................................3
二、Matlab運(yùn)算與應(yīng)用設(shè)計(jì)題目分析....................................4 2.1..........................................................................................4 2.2..........................................................................................5 2.3..........................................................................................6 2.4..........................................................................................7 2.5........................................................................................13 2.6........................................................................................14 2.7........................................................................................15 2.8........................................................................................17 2.9........................................................................................19 2.10......................................................................................22
三、matlab課程設(shè)計(jì)心得體會(huì)..............................................23 參考文獻(xiàn)...................................................................................23
武漢理工大學(xué)《Matlab課程設(shè)計(jì)》課程設(shè)計(jì)說(shuō)明書(shū)
摘要
MATLAB是矩陣實(shí)驗(yàn)室(Matrix Laboratory)的簡(jiǎn)稱,是美國(guó)MathWorks公司出品的商業(yè)數(shù)學(xué)軟件,用于算法開(kāi)發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計(jì)算的高級(jí)技術(shù)計(jì)算語(yǔ)言和交互式環(huán)境,主要包括MATLAB和Simulink兩大部分。
Matlab和Mathematica、Maple并稱為三大數(shù)學(xué)軟件。它在數(shù)學(xué)類(lèi)科技應(yīng)用軟件中在數(shù)值計(jì)算方面首屈一指。Matlab可以經(jīng)行矩陣運(yùn)算、繪制函數(shù)和數(shù)據(jù)、實(shí)現(xiàn)算法、創(chuàng)建用戶界面、連接其他編程語(yǔ)言的程序等,主要應(yīng)用于工程計(jì)算、控制設(shè)計(jì)、信號(hào)處理與通訊、圖像處理、信號(hào)檢測(cè)、金融建模設(shè)計(jì)與分析等領(lǐng)域。
本次課程設(shè)計(jì)主要通過(guò)學(xué)習(xí)了解Matlab,熟悉Matlab界面、進(jìn)行簡(jiǎn)單操作,并運(yùn)用此款軟件完成安排的相關(guān)題目。
關(guān)鍵字:Matlab、課程設(shè)計(jì)、矩陣實(shí)驗(yàn)室
武漢理工大學(xué)《Matlab課程設(shè)計(jì)》課程設(shè)計(jì)說(shuō)明書(shū)
一、Matlab運(yùn)算與應(yīng)用
1.1理論分析
Matlab是MathWorks公司的產(chǎn)品,是一個(gè)為科學(xué)和工程計(jì)算而專門(mén)設(shè)計(jì)的高級(jí)交互式放的軟件包。Matlab環(huán)境集成了圖示與精確的數(shù)值計(jì)算,是一個(gè)可以完成各種計(jì)算和數(shù)據(jù)處理可視化的、強(qiáng)有力的、易于使用和理解的工具。Matlab已被證明是為解決數(shù)學(xué)、物理、化學(xué)、工程、醫(yī)藥、金融和其他涉及復(fù)雜數(shù)值計(jì)算的應(yīng)用領(lǐng)域的一個(gè)十分靈活的、便于使用的工具,也是數(shù)學(xué)、數(shù)值分析和工程等課程教學(xué)的一個(gè)優(yōu)秀的教育工具。這個(gè)程序被世界各地高等學(xué)院廣泛使用,在工業(yè)應(yīng)用中也很流行,Matlab使用于PC到超級(jí)計(jì)算機(jī)以及大多數(shù)諸如PC、Macintosb和UNIX等平臺(tái)。
Matlab中有大量的命令集和可用函數(shù)集,也通稱為Matlab M文件,這是應(yīng)用更加容易。因此,在Matlab中求解問(wèn)題通常比傳統(tǒng)編程快得多,由于是采用自然表示法,因而使代碼清晰和自釋。因?yàn)槎鄶?shù)M文件是公開(kāi)的,因此,易于修改這些函數(shù)。
Matlab中有一些命令可以用來(lái)控制Matlab語(yǔ)句的執(zhí)行,如條件語(yǔ)句、循環(huán)語(yǔ)句和支持用戶交互的命令。Matlab是一種高級(jí)的程序設(shè)計(jì)語(yǔ)言,能幫助用戶解決矩陣戶或其它問(wèn)題。
1.2歸納與總結(jié)
Matlab的主要特點(diǎn)是:
(1)有高性能數(shù)值計(jì)算的高級(jí)算法,特別適合矩陣代數(shù)領(lǐng)域;(2)有大量事先定義的數(shù)學(xué)函數(shù),并具有用戶自定義函數(shù)的能力;(3)繪圖和顯示數(shù)據(jù),并具有教育、科學(xué)和藝術(shù)學(xué)的圖解和可視化的二維、三 維圖;
(4)基于HTML的完全幫助系統(tǒng);
(5)適合個(gè)人應(yīng)用的強(qiáng)有力的面向矩陣/向量的高級(jí)程序設(shè)計(jì)語(yǔ)言;(6)與用其他語(yǔ)言編寫(xiě)的程序結(jié)合和輸入輸出格式化的能力;
武漢理工大學(xué)《Matlab課程設(shè)計(jì)》課程設(shè)計(jì)說(shuō)明書(shū)
(7)有在多個(gè)應(yīng)用領(lǐng)域解決難題的工具箱。
MATLAB 的應(yīng)用范圍非常廣,包括信號(hào)和圖像處理、通訊、控制系統(tǒng)設(shè)計(jì)、測(cè)試和測(cè)量、財(cái)務(wù)建模和分析以及計(jì)算生物學(xué)等眾多應(yīng)用領(lǐng)域。附加的工具箱(單獨(dú)提供的專用 MATLAB 函數(shù)集)擴(kuò)展了 MATLAB 環(huán)境,以解決這些應(yīng)用領(lǐng)域內(nèi)特定類(lèi)型的問(wèn)題。
二、Matlab運(yùn)算與應(yīng)用設(shè)計(jì)題目分析
2.1已知t=linspace(0,2*pi,6),求t的正弦和正弦的絕對(duì)值。
2.1.1理論分析
由題目已知分析知,linspace(a,b,n)為線性分割函數(shù),在a與b之間均勻地產(chǎn)生n個(gè)點(diǎn)值,行成n維向量。Matlab中求解正弦的函數(shù)為sin(),求取絕對(duì)值和復(fù)數(shù)模值的函數(shù)為abs()。
2.1.2程序代碼
>> t=linspace(0,2*pi,6)%創(chuàng)建線性間隔向量t,范圍從0到2pi,元素 個(gè)數(shù)為6 >> a=cos(t)%對(duì)向量t求得余弦向量a >> b=abs(a)%對(duì)余弦向量a求絕對(duì)值得絕對(duì)值向量b 2.1.3運(yùn)行結(jié)果
a =
1.0000 0.3090-0.8090-0.8090 0.3090 1.0000 b =
1.0000 0.3090 0.8090 0.8090 0.3090 1.0000
武漢理工大學(xué)《Matlab課程設(shè)計(jì)》課程設(shè)計(jì)說(shuō)明書(shū)
2.1.4題目總結(jié)
為了方便給大量元素賦值,Matlab提供了一些基本矩陣,Linspace()就是其中的均分向量函數(shù)命令,大部分的Matlab函數(shù)都適用于做元素群運(yùn)算,只有專門(mén)的幾個(gè)除外,那就是*、/、、^運(yùn)算符和sqrtm、expm、logm三個(gè)函數(shù)。題目中用到的正弦函數(shù)sin()和取絕對(duì)值函數(shù)abs()均可用于元素群運(yùn)算,也即其自變量都可以是任意階的矩陣。
2.2繪制余弦曲線y=cos(x)和指數(shù)函數(shù)y=x^2曲線。
2.2.1理論分析
本題是畫(huà)函數(shù)的曲線圖,可以利用plot,ezplot等命令進(jìn)行繪圖。也可以用funtool命令直接繪制函數(shù)圖象。由于plot要設(shè)置自變量的范圍,而ezplot不需要設(shè)置,所以本題采用ezplot進(jìn)行畫(huà)圖。
2.2.2程序代碼:
syms x;%聲明變量
y1=cos(x);%將cos(s)賦值給y1 y2=x^2;% 將x^2賦值給y2 ezplot(y1);%畫(huà)函數(shù)1圖 hold on
grid on %保持圖形 %畫(huà)方格
ezplot(y2)%畫(huà)函數(shù)2圖
2.2.3運(yùn)行結(jié)果
武漢理工大學(xué)《Matlab課程設(shè)計(jì)》課程設(shè)計(jì)說(shuō)明書(shū)
圖2.2.3 2.2.4題目總結(jié)
ezplot功能簡(jiǎn)介:
EZPLOT即:Easy to use function plotter。它是一個(gè)易用的一元函數(shù)繪圖函數(shù)。特別是在繪制含有符號(hào)變量的函數(shù)的圖像時(shí),ezplot要比plot更方便。因?yàn)閜lot繪制圖形時(shí)要指定自變量的范圍,而ezplot無(wú)需數(shù)據(jù)準(zhǔn)備[2],直接繪出圖形。要將兩個(gè)函數(shù)繪制到同一個(gè)圖上要使用hold on 命令。
2.3利用for...end循環(huán)語(yǔ)句,求 2+4+6…+100 的值。
2.3.1理論分析
for語(yǔ)句作用是按照預(yù)先設(shè)定的循環(huán)步驟重復(fù)執(zhí)行某語(yǔ)句段, 其語(yǔ)法: for 循環(huán)控制變量=存儲(chǔ)著該變量依次所取值的一個(gè)向量。
循環(huán)語(yǔ)句塊, 本塊重復(fù)執(zhí)行的次數(shù)由上方向量的長(zhǎng)度決定, 每次執(zhí)行, 循
武漢理工大學(xué)《Matlab課程設(shè)計(jì)》課程設(shè)計(jì)說(shuō)明書(shū)
環(huán)控制變量依次取該向量中的值.end
2.3.2程序代碼
sum=0;%賦初值sum為0
for i=2:2:100 %變量i變化范圍為2到100,以2步進(jìn) sum=sum + i;%累加求和 end %結(jié)束for循環(huán)
2.3.3運(yùn)行結(jié)果
>> sum sum =
2550 2.3.4題目總結(jié)
matlab的for 循環(huán)語(yǔ)句有其獨(dú)有的特點(diǎn), 它使用一個(gè)向量來(lái)控制循環(huán), 循環(huán)次數(shù)由向量的長(zhǎng)度來(lái)決定, 而每次循環(huán)都依次從向量中取值.這使得Matlab循環(huán)更靈活多樣, 其循環(huán)變量取值可以不按照特定的規(guī)律;但是另一方面, Matlab 的for循環(huán)也有獨(dú)特的限制, 當(dāng)次循環(huán)中改變循環(huán)變量賦值, 不會(huì)代入下次循環(huán), 所以除非在其中用break提前退出, Matlab循環(huán)的次數(shù)是預(yù)先定好的.舉個(gè)例子: for a=1:2:7 , 將循環(huán)4次, a的取值依次是1, 3, 5, 7.2.4分析下面每條指令的功能并運(yùn)行,觀察執(zhí)行結(jié)果。
(1)X=0:0.25:3;Y=X.*exp(-X);plot(X,Y),xlabel(‘x’),武漢理工大學(xué)《Matlab課程設(shè)計(jì)》課程設(shè)計(jì)說(shuō)明書(shū)
ylabel(‘y’),title(‘y=x*exp(-x)’);
(2)A=zeros(3,5)A(:)=-4:5 L=abs(A)>4 islogical(L)X=A(L)
(3)A=[1:5;6:10] pow2(A)
(4)A=zeros(3,2)A(:)=1:6 A=A*(1+i)A1=A.’;B1=A’;(5)A=ones(2,3)B=ones(2)C=eye(4)D=diag(C)E=repmat(C,1,3)2.4.1程序分析
? X=0:0.25:3;%變量x的取值范圍為0 ~3,以0.25增加 Y=X.*exp(-X);%函數(shù)y=xe?x的表達(dá)式
plot(X,Y),xlabel(‘x’), ylabel(‘y’),title(‘y=x*exp(-x)’);
%繪制y=xe?x的圖線,橫坐標(biāo)為x,縱坐標(biāo)為y,標(biāo)題為
y=x*exp(-x)? A=zeros(3,5)%創(chuàng)建一個(gè)3*5的零矩陣A A(:)=-4:5 %為矩陣A賦值,得到列向量范圍為-4到5,步進(jìn)為1 L=abs(A)>4 %判斷矩陣A的絕對(duì)值是否大于4
武漢理工大學(xué)《Matlab課程設(shè)計(jì)》課程設(shè)計(jì)說(shuō)明書(shū)
islogical(L)%判斷L是否為邏輯值
X=A(L)%X為邏輯數(shù)組L對(duì)應(yīng)為1的位置的數(shù)據(jù)為列向量 ? A=[1:5;6:10] %創(chuàng)建一個(gè)2*5的矩陣A,范圍為1到10,步進(jìn)為1 pow2(A)%返回?cái)?shù)組X,依次計(jì)算A中元素以2為底的冪 ? A=zeros(3,2)%創(chuàng)建一個(gè)3*2的零矩陣 A(:)=1:6 %為矩陣A賦值,范圍為1到6,步進(jìn)為1 A=A*(1+i)%將矩陣A中的每一個(gè)元素乘以(1+i)A1=A.' %對(duì)A進(jìn)行數(shù)組轉(zhuǎn)置生成矩陣A1 B1=A' %對(duì)A進(jìn)行矩陣轉(zhuǎn)置生成矩陣B1 ? A=ones(2,3)%創(chuàng)建一個(gè)2*3的1矩陣A B=ones(2)%創(chuàng)建一個(gè)2*2的1矩陣B C=eye(4)%創(chuàng)建一個(gè)4*4的單位矩陣C D=diag(C)%獲取單位矩陣C的對(duì)角線元素矩陣D E=repmat(C,1,3)%將矩陣C生成為1*3的新矩陣E
2.4.2運(yùn)行結(jié)果
2.4.2.1程序運(yùn)行結(jié)果一
圖2.4.2.1
2.4.2.2程序運(yùn)行結(jié)果二
A =
武漢理工大學(xué)《Matlab課程設(shè)計(jì)》課程設(shè)計(jì)說(shuō)明書(shū)
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
A =
-4-1 2 5 8-3 0 3 6 9-2 1 4 7 10
L =
0 0 0 1 1 0 0 0 1 1 0 0 0 1 1
ans = 1
X = 5 6
武漢理工大學(xué)《Matlab課程設(shè)計(jì)》課程設(shè)計(jì)說(shuō)明書(shū)
8 9 10
2.4.2.3程序運(yùn)行結(jié)果三
>> pow2(A)
ans =
64 128 256 512 1024 2.4.2.4程序運(yùn)行結(jié)果四
>> A1=A.'
A1 =
0 + 2.0000i 0 + 4.0000i 0 + 6.0000i
0 + 8.0000i 0 +10.0000i 0 +12.0000i >> B1=A'
B1 =
04.0000i 08.0000i 0-10.0000i 0-12.0000i 11
武漢理工大學(xué)《Matlab課程設(shè)計(jì)》課程設(shè)計(jì)說(shuō)明書(shū)
2.4.2.5程序運(yùn)行結(jié)果五
>> A=ones(2,3)A =
1 1 1 1 1 >> B=ones(2)B =
1 1 1 >> C=eye(4)C =
0 0 0
0 1 0 0
0 0 1 0 0 0 0 1 >> D=diag(C)D =
1
武漢理工大學(xué)《Matlab課程設(shè)計(jì)》課程設(shè)計(jì)說(shuō)明書(shū)
>> E=repmat(C,1,3)E = 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 2.4.3題目總結(jié)
對(duì)于實(shí)數(shù)矩陣,矩陣轉(zhuǎn)置和數(shù)組矩陣計(jì)算結(jié)果是一樣的,但是對(duì)于復(fù)數(shù)矩陣,數(shù)組轉(zhuǎn)置和矩陣轉(zhuǎn)置的計(jì)算結(jié)果不一致。所以,對(duì)于數(shù)組轉(zhuǎn)置運(yùn)算也被稱為非共軛轉(zhuǎn)置,矩陣轉(zhuǎn)置運(yùn)算則被稱為共軛矩陣。數(shù)組的運(yùn)算是指數(shù)組對(duì)應(yīng)元素之間的運(yùn)算,也稱點(diǎn)運(yùn)算。
2.5計(jì)算多項(xiàng)式p(x)= x3+15x2+8x在x=3和x=0:1:8時(shí)的值。
2.5.1理論分析
由題目已知的條件分析可知是運(yùn)用MATLAB計(jì)算多項(xiàng)式。這里運(yùn)用到的是polyval()命令。通過(guò)polyval()命令可以快速的計(jì)算出在相應(yīng)值下的多項(xiàng)式的值。
2.5.2程序代碼
x=3;y= x^3+15.*x^2+8.*x 式
%賦初值3給x %寫(xiě)出函數(shù)表達(dá)
武漢理工大學(xué)《Matlab課程設(shè)計(jì)》課程設(shè)計(jì)說(shuō)明書(shū)
? clear all %清除所有變量 >> syms x;%聲明變量x >> y=x^3+15.*x^2+8.*x;%寫(xiě)出函數(shù)表達(dá)式
>> x=0:1:8;%生成一個(gè)0到8的數(shù)組,每相鄰兩數(shù)間間隔為1 >> p=[1 15 8];%將函數(shù)表達(dá)式的系數(shù)放在數(shù)組P中 >> polyval(p,x)%用polyval函數(shù)求得表達(dá)式的值
2.5.3運(yùn)行結(jié)果
X=3時(shí)
186 X=0:1:8時(shí) y =
2.5.4題目總結(jié)
Matlab為用戶提供了解決多項(xiàng)式運(yùn)算的和插值的函數(shù)庫(kù),ployval()就是其中的多項(xiàng)式求值函數(shù)。在表達(dá)多項(xiàng)式系數(shù)中要把缺少的自變量系數(shù)0補(bǔ)充到系數(shù)矩陣中。
2.6隨機(jī)生成一個(gè)10000×3的矩陣,并繪制其柱狀圖
2.6.1理論分析
隨機(jī)生成矩陣函數(shù)可以用rand(M,N),表示隨機(jī)產(chǎn)生一個(gè)M*N的矩陣。柱狀繪圖函數(shù)可以用bar,此函數(shù)是在平面內(nèi)繪制柱狀圖,如果要繪制立體的,用bar3。
武漢理工大學(xué)《Matlab課程設(shè)計(jì)》課程設(shè)計(jì)說(shuō)明書(shū)
2.6.2程序代碼
arry=rand(10000,3);
%隨機(jī)生成一個(gè)10000*3的矩陣
bar(arry)%bar函數(shù)用于繪制柱狀圖 %畫(huà)出柱狀圖
2.6.3運(yùn)行結(jié)果
圖2.6.3
2.7利用switch…case編寫(xiě)以下程序:
某商場(chǎng)對(duì)顧客所購(gòu)買(mǎi)的商品實(shí)行打折銷(xiāo)售,標(biāo)準(zhǔn)如下(商品價(jià)格用price來(lái)表示):
price<200 無(wú)折扣 200?price<500 5%折扣 500?price<1000 10%折扣 Price?1000 15%折扣 輸入所售商品的價(jià)格,求其實(shí)際銷(xiāo)售價(jià)格。
武漢理工大學(xué)《Matlab課程設(shè)計(jì)》課程設(shè)計(jì)說(shuō)明書(shū)
2.7.1理論分析
MATLAB語(yǔ)言為解決多分支判斷選擇提供了switch-case語(yǔ)句。switch-case語(yǔ)句的一般表達(dá)形式為: switch〈選擇判斷量〉 Case 選擇判斷值1 選擇判斷語(yǔ)句1 case 選擇判斷值2 選擇判斷語(yǔ)句2 …… otherwise 判斷執(zhí)行語(yǔ)句
2.7.2程序代碼
price = input();
%輸入商品價(jià)格
switch fix(price/100)%價(jià)格除以100后取整 case {0,1} price=price*1;case {2,3,4} price=price*0.95;case {5,6,7,8,9} price=price*0.9;case others price=price*0.85;end 16
武漢理工大學(xué)《Matlab課程設(shè)計(jì)》課程設(shè)計(jì)說(shuō)明書(shū)
2.7.3運(yùn)行結(jié)果
2.7.4題目總結(jié)
與其他的程序設(shè)計(jì)語(yǔ)言的switch-case語(yǔ)句不同的是,在MATLAB語(yǔ)言中,當(dāng)其中一個(gè)case語(yǔ)句后的條件為真時(shí),switch-case語(yǔ)句不對(duì)其后的case語(yǔ)句進(jìn)行判斷,也就是說(shuō)在MATLAB語(yǔ)言中,即使有多條case判斷語(yǔ)句為真,也只執(zhí)行所遇到的第一條為真的語(yǔ)句。這樣就不必像C語(yǔ)言那樣,在每條case語(yǔ)句后加上break語(yǔ)句以防止繼續(xù)執(zhí)行后面為真的case條件語(yǔ)句。
2.8編程將表達(dá)式
10(s?3)s(s-6)(s-16)進(jìn)行部分分式展開(kāi)
2.8.1理論分析
計(jì)算模型
10(s?3)s(s-6)(s-16)=k1s?k2s?6?k3s?16
武漢理工大學(xué)《Matlab課程設(shè)計(jì)》課程設(shè)計(jì)說(shuō)明書(shū)
k1?10(s?3)(s?6)(s?16)10(s?3)s(s?16)10(s?3)s(s?6),s=0;k2?,s=6;k3?,s=16。
2.8.2程序代碼
clear,close all;syms x,x=0;syms s;
while x<20 %判斷當(dāng)x<20 時(shí) switch x
case 0
%清除所以變量和關(guān)閉所有打開(kāi)的圖像框
k1=10*(x+3)/((x-6)*(x-16));
x=6;
case 6
k2=10*(x+3)/(x*(x-16));
x=16;
case 16
k3=10*(x+3)/(x*(x-6));
x=20;end end
y=k1/s+k2/(s-6)+k3/(s-16);
%將計(jì)算出的k1、k2、k3帶入表達(dá)式
武漢理工大學(xué)《Matlab課程設(shè)計(jì)》課程設(shè)計(jì)說(shuō)明書(shū)
2.8.3運(yùn)行結(jié)果
2.8.4題目總結(jié)
本題主要在于數(shù)學(xué)運(yùn)算模型建立和計(jì)算表達(dá)式的書(shū)寫(xiě),利用while…end語(yǔ)句對(duì)其
進(jìn)行三次循環(huán)條件判斷并計(jì)算三個(gè)常數(shù),通過(guò)switch…end語(yǔ)句分別給出三個(gè)常數(shù)的計(jì)算表達(dá)式,最后再將計(jì)算出的三個(gè)常數(shù)帶入到
10(s?3)s(s-6)(s-16)=
k1s?k2s?6?k3s?16中即可。
2.9已知y?e出曲線圖-1cos(t),其中t的范圍是[0 10],計(jì)算y的微分和積分并給2.9.1理論分析
已知函數(shù)方程和自變量t的變化范圍,對(duì)于積分,可以利用函數(shù)quad()對(duì)確定自變量變化范圍進(jìn)行計(jì)算,格式如quad('函數(shù)名',初值,終值)所示。對(duì)于微分,可以利用函數(shù)diff()對(duì)確定自變量變化范圍進(jìn)行計(jì)算。函數(shù)圖象可用funtool指令得到。
2.9.2程序代碼
2.9.2.1積分運(yùn)算 yt='exp(-1)*cos(t)'
%寫(xiě)出函數(shù)表達(dá)式
Ic=quad(yt,0,10,1e-8)%用quad函數(shù)求積分 Funtool %進(jìn)行畫(huà)圖 2.9.2.2微分運(yùn)算
syms t y
武漢理工大學(xué)《Matlab課程設(shè)計(jì)》課程設(shè)計(jì)說(shuō)明書(shū)
y=(exp(-1)*cos(t)dydt=diff(y,t)%用diff函數(shù)求解微分 funtool %進(jìn)行畫(huà)圖
2.9.3運(yùn)行結(jié)果
2.9.3.1積分運(yùn)算
2.10.3.1.1 程序運(yùn)行結(jié)果
Ic =
-0.2001
2.10.3.1.2積分圖形
圖 2.10.3.1.2 20
武漢理工大學(xué)《Matlab課程設(shè)計(jì)》課程設(shè)計(jì)說(shuō)明書(shū)
2.9.3.2微分運(yùn)算
2.10.3.2.1程序運(yùn)行結(jié)果
dydt =
-(****sin(t))/***8 2.10.3.2.2微分圖形
圖2.10.3。2.2
2.9.4題目總結(jié)
繪制函數(shù)圖像時(shí)還可以借助Matlab提供的專門(mén)繪制函數(shù)圖象的指令flot(),格式如flot('函數(shù)名',[初值,終值])。
武漢理工大學(xué)《Matlab課程設(shè)計(jì)》課程設(shè)計(jì)說(shuō)明書(shū)
2.10 用fminbnd求解函數(shù)f(x)?x?1/x?5在區(qū)間(1,10)上的最小值
2.10.1理論分析
用于求某個(gè)給定函數(shù)的最小值點(diǎn)。使用方法是: x=fminbnd(func,x1,x2)func是函數(shù)句柄,然后x1和x2就是函數(shù)的區(qū)間,得到的結(jié)果就是使func取最小值的x值
當(dāng)然也可以使用[x,fv]=fminbnd(func,x1,x2)的方式,這個(gè)時(shí)候fv就是函數(shù) 的最小值,即有:fv=f(x)2.10.2程序代碼
f=@(x)x-1/x+5;%確定函數(shù) [x,fv]=fminbnd(f,1,10)
%求區(qū)間1到10中函數(shù)的最小值
2.10.3運(yùn)行結(jié)果
x =
1.0001
fv =
5.0001 2.10.4題目總結(jié)
本題主要在于fminbnd函數(shù)的使用方法,它有兩種方式,一種是 x=fminbnd(func,x1,x2);另一種是[x,fv]=fminbnd(func,x1,x2)。運(yùn)用時(shí)隨便選哪種都可以,但是如果在某個(gè)區(qū)間上是單調(diào)的,結(jié)果就有點(diǎn)意思了,例如clear
>> f=@(x)x^-2*x-3;
武漢理工大學(xué)《Matlab課程設(shè)計(jì)》課程設(shè)計(jì)說(shuō)明書(shū)
>> [x,fv]=fminbnd(f,2,3)
x = 2.9999
fv =-2.6667 看樣子MATLAB是使用了定長(zhǎng)小區(qū)間的方式計(jì)算的,而且結(jié)果也是錯(cuò)誤的,這不免
讓人對(duì)這個(gè)函數(shù)的可靠性產(chǎn)生懷疑…
三、matlab課程設(shè)計(jì)心得體會(huì)
這次Matlab課程設(shè)計(jì)使用了Matlab2010版本,雖然對(duì)它熟悉不過(guò)短短一個(gè)月左右時(shí)間,但也感受和學(xué)習(xí)到它的功能強(qiáng)大、可擴(kuò)展性強(qiáng)和智能化程度高。它提供了豐富的操作指令,還有強(qiáng)大而又簡(jiǎn)單的作圖功能。而且軟件本身還提供了演示(demo)和求助(help)的命令,讓用戶更好的學(xué)習(xí)到軟件的功能。此次課程設(shè)計(jì)學(xué)習(xí)到的不僅僅是軟件運(yùn)用操作的知識(shí),還學(xué)到了更多的學(xué)習(xí)方法。為了做好這次的課程設(shè)計(jì),我查閱了大量的資料,并上網(wǎng)搜索了很多Matlab程序應(yīng)用的教程和詳解,這個(gè)過(guò)程使我受益匪淺,發(fā)現(xiàn)了很多關(guān)于Matlab的論壇和學(xué)習(xí)網(wǎng)站,網(wǎng)上提供了很多關(guān)于Matlab學(xué)習(xí)的方法及其自學(xué)的方法,相信這些論壇和網(wǎng)站對(duì)于將來(lái)繼續(xù)學(xué)習(xí)Matlab及其他方面的知識(shí)也都有很大的幫助。
雖然在規(guī)定的時(shí)間內(nèi)完成了老師所布置的所有題目,但還是覺(jué)得不免有些不足,由于時(shí)間的限制,對(duì)許多Matlab所運(yùn)用到的只有僅僅只是有所了解,而并沒(méi)有完全掌握,甚至可以說(shuō)是只知其然,而不知其所以然。這是我認(rèn)識(shí)到對(duì)于Matlab的學(xué)習(xí)任務(wù)還很艱巨,還有許多知識(shí)需要去了解,去深研。
參考文獻(xiàn)
【1】陳懷身.吳大正.高西全.Matlab及在電子信息課程中的應(yīng)用[M].電子工業(yè)出版社 【2】朱習(xí)軍.張賓.劉尊年.隋思連.Matlab信號(hào)與圖像處理中的應(yīng)用[M].電子工業(yè)出版社 【3】羅建軍.Matlab教程[M].電子工業(yè)出版社.2005
武漢理工大學(xué)《Matlab課程設(shè)計(jì)》課程設(shè)計(jì)說(shuō)明書(shū)
【4】陳懷琛.Matlab及其在理工課程中的應(yīng)用指南.2000 【5】張威.Matlab基礎(chǔ)與編程入門(mén).西安電子科技大學(xué)出版社
【5】 周開(kāi)立.MATLAB基礎(chǔ)及其應(yīng)用教程.北京:北京大學(xué)出版社,2007.【5】 張智星.MAYLAB程序設(shè)計(jì)及應(yīng)用.北京:清華大學(xué)出版社,2002.【5】 陳懷琛,吳大正,高西全.MATLAB及在電子信息課程中的應(yīng)用.北京:電子工業(yè)出版社,2006.【5】 張琨.MATLAB 2010
從入門(mén)到精通.北京:電子工業(yè)出版社,2011.