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

下載本文檔

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

文檔簡(jiǎn)介

1、課 程 設(shè) 計(jì) 任 務(wù) 書(shū)1設(shè)計(jì)目的:(1)通過(guò)本課程設(shè)計(jì)的學(xué)習(xí),學(xué)生將復(fù)習(xí)所學(xué)的數(shù)字信號(hào)處理知識(shí),使課堂學(xué)習(xí)的理論知識(shí)應(yīng)用于實(shí)踐,通過(guò)本課程設(shè)計(jì)的實(shí)踐使學(xué)生具有一定的實(shí)踐操作能力;(2)掌握Matlab語(yǔ)言的編程方法,能熟練運(yùn)用;(3)通過(guò)Matlab實(shí)踐的課程設(shè)計(jì),掌握設(shè)Matlab數(shù)字信號(hào)處理系統(tǒng)的思維方法和基本開(kāi)發(fā)過(guò)程。2設(shè)計(jì)內(nèi)容和要求(包括原始數(shù)據(jù)、技術(shù)參數(shù)、條件、設(shè)計(jì)要求等):一、學(xué)習(xí)Matlab編程及仿真1、熟悉Matlab的運(yùn)行環(huán)境;2、學(xué)會(huì)并掌握Matlab圖形編程;3、根據(jù)所設(shè)計(jì)系統(tǒng)的需要會(huì)合理設(shè)定需完成系統(tǒng)的各項(xiàng)參數(shù);4、根據(jù)所設(shè)計(jì)系統(tǒng)的需要,優(yōu)化程序設(shè)計(jì)最優(yōu)系統(tǒng)。二、實(shí)

2、踐設(shè)計(jì)要求:1、根據(jù)所選題目,設(shè)計(jì)實(shí)現(xiàn)系統(tǒng)的原理框圖。2、編寫(xiě)Matlab程序,給出系統(tǒng)不同節(jié)點(diǎn)輸出波形。3、每人寫(xiě)出設(shè)計(jì)報(bào)告。三、參考題目題目1:語(yǔ)音信號(hào)分析通過(guò)計(jì)算機(jī)錄制一段語(yǔ)音信號(hào),分析該語(yǔ)音信號(hào)。1、分析該信號(hào)的頻譜特性;2、采用IIR進(jìn)行降噪;3、根據(jù)FIR進(jìn)行降噪;4、對(duì)信號(hào)進(jìn)行斷句分割。5、求信號(hào)的均值、方差;6、求信號(hào)的自相關(guān)系數(shù);7、求信號(hào)的窗(1秒、2秒)能量;8、求信號(hào)的窗(1秒、2秒)自相關(guān)分析9、采用平均幅度差函數(shù)(AMDF法)提取求信號(hào)的基音周期、譜估計(jì);10、根據(jù)數(shù)字特征對(duì)信號(hào)進(jìn)行斷句分割。注:每個(gè)同學(xué)可以選擇1和2、1和3、1和4、5和6、5和7、5和8、5和9

3、、5和10的一組作為題目,8名同學(xué)完成該題目。題目2:傅里葉變換設(shè)計(jì)自己設(shè)計(jì)傅里葉變換函數(shù)(不能使用Matlab函數(shù));題目3:數(shù)獨(dú)游戲設(shè)計(jì)1、 根據(jù)數(shù)獨(dú)游戲規(guī)則,設(shè)計(jì)數(shù)獨(dú)判斷程序;2、 自動(dòng)生成數(shù)獨(dú)表;3、 根據(jù)輸入給出輸出;注:2個(gè)同學(xué)一組。題目4:Matlab繪圖界面設(shè)計(jì)1、設(shè)計(jì)GUI界面;2、通過(guò)下拉菜單選擇繪制正弦、正切信號(hào);3、通過(guò)編輯框輸入命令,根據(jù)命令繪制信號(hào);4、通過(guò)按鈕在圖形中輸出標(biāo)注(標(biāo)題、各軸名稱);注:1個(gè)同學(xué)一組。題目5:Matlab信號(hào)分析界面設(shè)計(jì)1、設(shè)計(jì)GUI界面;2、通過(guò)按鈕輸入信號(hào);3、對(duì)信號(hào)進(jìn)行頻譜分析;4、輸出信號(hào)的頻譜;注:1個(gè)同學(xué)一組。題目6:Mat

4、lab信號(hào)濾波分析界面設(shè)計(jì)1、設(shè)計(jì)GUI界面;2、通過(guò)按鈕輸入信號(hào);3、對(duì)信號(hào)進(jìn)行低通、高通、帶通分析(FIR、IIR、巴特沃斯、切比雪夫);4、輸出處理信號(hào)的結(jié)果、頻譜;注:每個(gè)同學(xué)選擇一個(gè)濾波器,4名同學(xué)完成該題目。題目7:Matlab智能信號(hào)發(fā)生器1、輸出方波、矩形波、三角波和正弦波信號(hào);2、輸出隨時(shí)間變化頻率的信號(hào);3、輸出隨時(shí)間變化幅值的信號(hào)4、輸出隨時(shí)間變化斜率的等幅值的信號(hào);5、輸出處理信號(hào)的結(jié)果、頻譜;注:每個(gè)同學(xué)選擇一種信號(hào),4名同學(xué)完成該題目。題目8:Matlab方程組求解數(shù)值計(jì)算設(shè)計(jì)1、設(shè)計(jì)GUI界面;2、通過(guò)按鈕選擇計(jì)算方法,表格錄入數(shù)據(jù);3、對(duì)錄入數(shù)據(jù)判斷是否可算,實(shí)

5、現(xiàn)算法如高斯-賽德?tīng)?、列主元消去法、高斯消元法等?、輸出計(jì)算結(jié)果、誤差;注:每個(gè)同學(xué)選擇一種算法,4名同學(xué)完成該題目。題目9:Matlab插值求解數(shù)值計(jì)算設(shè)計(jì)1、設(shè)計(jì)GUI界面;2、通過(guò)按鈕選擇計(jì)算方法,表格錄入數(shù)據(jù);3、對(duì)錄入數(shù)據(jù)判斷是否可算,實(shí)現(xiàn)算法如三次樣條插值、拉格朗日插值、牛頓插值等;4、輸出計(jì)算結(jié)果、誤差;注:每個(gè)同學(xué)選擇一種算法,4名同學(xué)完成該題目。題目10:Matlab哈弗曼編碼設(shè)計(jì)1、設(shè)計(jì)GUI界面;2、通過(guò)按鈕選擇計(jì)算方法,表格錄入數(shù)據(jù);3、對(duì)錄入數(shù)據(jù)實(shí)現(xiàn)算法哈弗曼信源編碼;4、輸出計(jì)算結(jié)果、編碼效率;注:1名同學(xué)完成該題目。題目11:Matlab費(fèi)諾編碼設(shè)計(jì)1、設(shè)計(jì)GU

6、I界面;2、通過(guò)按鈕選擇計(jì)算方法,表格錄入數(shù)據(jù);3、對(duì)錄入數(shù)據(jù)實(shí)現(xiàn)費(fèi)諾信源編碼;4、輸出計(jì)算結(jié)果、編碼效率;注:1名同學(xué)完成該題目。題目12:Matlab卷積碼編碼解碼設(shè)計(jì)1、設(shè)計(jì)GUI界面;2、通過(guò)按鈕選擇計(jì)算方法,錄入數(shù)據(jù);3、對(duì)錄入數(shù)據(jù)實(shí)現(xiàn)算法卷積碼信道編碼;4、輸出計(jì)算結(jié)果、編碼效率;注:一個(gè)同學(xué)設(shè)計(jì)算法、一個(gè)同學(xué)設(shè)計(jì)算法分析,2名同學(xué)完成該題目。題目13:Matlab文本內(nèi)容加密解密算法設(shè)計(jì)1、設(shè)計(jì)GUI界面輸入文本文件內(nèi)容;2、對(duì)文本內(nèi)容采用字符顛倒的順序加密;3、密碼字典設(shè)計(jì)、解密算法設(shè)計(jì);4、輸出結(jié)果。注:每個(gè)同學(xué)選擇一種算法,2名同學(xué)完成該題目。題目14:Matlab加噪信號(hào)

7、發(fā)生器1、輸出理想信號(hào)如方波、矩形波、三角波和正弦波信號(hào)(參數(shù)可調(diào));2、輸出高斯噪聲信號(hào)(參數(shù)可調(diào));3、輸出理想信號(hào)與噪聲信號(hào)疊加后信號(hào)4、輸出處理信號(hào)的結(jié)果、計(jì)算信噪比;注:每個(gè)同學(xué)選擇一種信號(hào),5名同學(xué)完成該題目。題目15:Matlab信號(hào)參數(shù)計(jì)算1、編寫(xiě)一個(gè)長(zhǎng)度為100的隨機(jī)信號(hào),信號(hào)在區(qū)間-5,5中均勻、泊松、正態(tài)分布;2、測(cè)量該序列的均值,方差,最大值,最小值;3、計(jì)算其相關(guān)函數(shù)。注:每個(gè)同學(xué)選擇一種信號(hào),2名同學(xué)完成該題目。題目16:基于蒙特卡羅模擬方法的信號(hào)分析1、隨機(jī)產(chǎn)生信號(hào),信號(hào)在區(qū)間-5,5中泊松、正態(tài)、分布;2、設(shè)計(jì)蒙特卡羅函數(shù);3、采用蒙特卡羅模擬方法對(duì)設(shè)計(jì)的信號(hào)進(jìn)

8、行分析;4、并輸出結(jié)果;注:每個(gè)同學(xué)選擇一種分布信號(hào),3名同學(xué)完成該題目。題目17:Matlab信號(hào)分解1、編寫(xiě)一個(gè)由3不同特征組成信號(hào)(相位、頻率、幅度);2、對(duì)信號(hào)疊加白噪聲;3、分析信號(hào)的頻譜、功率譜;4、測(cè)量該序列的均值,方差,最大值,最小值;5、設(shè)計(jì)濾波器,分解3個(gè)信號(hào)。注:1名同學(xué)完成該題目。題目18:Matlab信號(hào)參數(shù)分析1、設(shè)計(jì)指數(shù)、瑞利、韋泊分布的信號(hào);2、設(shè)計(jì)3個(gè)頻率組合的信號(hào);3、疊加上述信號(hào);4、分析上述信號(hào)的頻譜。注:1名同學(xué)完成該題目。題目19:Matlab動(dòng)態(tài)移動(dòng)小球繪圖1、設(shè)計(jì)三塊磁鐵構(gòu)成的磁力線圖;2、設(shè)計(jì)一個(gè)紅色小球沿磁力線移動(dòng);3、通過(guò)鍵盤(pán)控制小球移動(dòng)的

9、速度;4、通過(guò)鼠標(biāo)滾輪控制小球在不同的磁力線移動(dòng)。注:每名同學(xué)選擇上述題目中的1個(gè),4名同學(xué)完成該題目。題目20:Matlab動(dòng)態(tài)繪圖1、設(shè)計(jì)不同頻率組成的信號(hào);2、分析信號(hào)的頻譜; 3、動(dòng)態(tài)繪制信號(hào);4、輸出信號(hào)的分析結(jié)果。注:1名同學(xué)完成該題目。3設(shè)計(jì)工作任務(wù)及工作量的要求包括課程設(shè)計(jì)計(jì)算說(shuō)明書(shū)(論文)、圖紙、實(shí)物樣品等:(1) 要求設(shè)計(jì)組的每個(gè)成員都要了解設(shè)計(jì)的要求和整體思路;(2) 每個(gè)題目小組的同學(xué)各完成一份設(shè)計(jì)說(shuō)明書(shū),突出各自的工作內(nèi)容;(3) 要求有正確的運(yùn)行結(jié)果及結(jié)果分析。課 程 設(shè) 計(jì) 任 務(wù) 書(shū)4主要參考文獻(xiàn):l 譚浩強(qiáng).C程序設(shè)計(jì)(第二版).清華大學(xué)出版社.1999年12

10、月l 袁志祥.數(shù)據(jù)結(jié)構(gòu)(c語(yǔ)言版)例題詳解與課程設(shè)計(jì)指導(dǎo)第二版. 中國(guó)科學(xué)技術(shù)大學(xué)出版社出版l 譚浩強(qiáng).C語(yǔ)言程序設(shè)計(jì)題解與上機(jī)指導(dǎo).清華大學(xué)出版社.2000年11月l 陳朔鷹, 陳英主.C語(yǔ)言程序設(shè)計(jì)習(xí)題集(第二版).人民郵電出版社.2003年2月l 田淑清.C語(yǔ)言程序設(shè)計(jì)輔導(dǎo)與習(xí)題集.中國(guó)鐵道出版社.2000年1月l 王明泉.信號(hào)與系統(tǒng).科學(xué)出版社.2010年6月5設(shè)計(jì)成果形式及要求:每個(gè)子題目小組提供詳細(xì)的設(shè)計(jì)說(shuō)明書(shū)一份設(shè)計(jì)說(shuō)明書(shū)中包含:1、關(guān)鍵詞解釋,設(shè)計(jì)方案基本原理;2、軟件框圖;3、調(diào)試過(guò)程、設(shè)計(jì)結(jié)果、設(shè)計(jì)分析;4、附錄軟件源代碼6工作計(jì)劃及進(jìn)度:2016年12月5日 2016年1

11、2月5日:學(xué)習(xí)Matlab有關(guān)編程方法;2016年12月6日 2016年12月8日:在指導(dǎo)教師指導(dǎo)下實(shí)現(xiàn)程序設(shè)計(jì);2016年12月8日 2016年12月9日:撰寫(xiě)課程設(shè)計(jì)說(shuō)明書(shū); 2016年12月9日:答辯。學(xué)科部主任審查意見(jiàn): 簽字: 年 月 日目 錄1、 題目說(shuō)明-12、 設(shè)計(jì)主要模塊-23、 功能分析-24、 程序源代碼-35、 運(yùn)行調(diào)試結(jié)果-116、 收獲及體會(huì)-13 1、 題目說(shuō)明 1、數(shù)獨(dú)游戲設(shè)計(jì)要求 在9*9的大九宮格內(nèi),已給定若干數(shù)字,其他宮位留白。玩家需要自己按照邏輯推敲出剩下的空格里面是什么數(shù)字。 必須滿足的條件:每一行與每一列都有1到9的數(shù)字,每個(gè)小九宮格里也有1到9的數(shù)

12、字,并且每一個(gè)數(shù)字在每行,每列都只能出現(xiàn)一次,既不能 重復(fù)也不能少。 每個(gè)數(shù)獨(dú)游戲都可以根據(jù)給定的數(shù)字為線索,推算解答出來(lái)。 2、matlab軟件介紹 基本介紹:ATLAB(矩陣實(shí)驗(yàn)室)是MATrix LABoratory的縮寫(xiě),是一款由美國(guó)The MathWorks公司出品的商業(yè)數(shù)學(xué)軟件。MATLAB是一種用于算法開(kāi)發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計(jì)算的高級(jí)技術(shù)計(jì)算語(yǔ)言和交互式環(huán)境。除了矩陣運(yùn)算、繪制函數(shù)/數(shù)據(jù)圖像等常用功能外,MATLAB還可以用來(lái)創(chuàng)建用戶界面及與調(diào)用其它語(yǔ)言(包括C,C+和FORTRAN)編寫(xiě)的程序。 盡管MATLAB主要用于數(shù)值運(yùn)算,但利用為數(shù)眾多的附加工具箱(Tool

13、box)它也適合不同領(lǐng)域的應(yīng)用,例如控制系統(tǒng)設(shè)計(jì)與分析、圖像處理、信號(hào)處理與通訊、金融建模和分析等。另外還有一個(gè)配套軟件包Simulink,提供了一個(gè)可視化開(kāi)發(fā)環(huán)境,常用于系統(tǒng)模擬、動(dòng)態(tài)/嵌入式系統(tǒng)開(kāi)發(fā)等方面。 編程環(huán)境:MATLAB由一系列工具組成。這些工具方便用戶使用MATLAB的函數(shù)和文件,其中許多工具采用的是圖形用戶界面。包括MATLAB桌面和命令窗口、歷史命令窗口、編輯器和調(diào)試器、路徑搜索和用于用戶瀏覽幫助、工作空間、文件的瀏覽器。隨著MATLAB的商業(yè)化以及軟件本身的不斷升級(jí),MATLAB的用戶界面也越來(lái)越精致,更加接近Windows的標(biāo)準(zhǔn)界面,人機(jī)交互性更強(qiáng),操作更簡(jiǎn)單。而且新版

14、本的MATLAB提供了完整的聯(lián)機(jī)查詢、幫助系統(tǒng),極大的方便了用戶的使用。簡(jiǎn)單的編程環(huán)境提供了比較完備的調(diào)試系統(tǒng),程序不必經(jīng)過(guò)編譯就可以直接運(yùn)行,而且能夠及時(shí)地報(bào)告出現(xiàn)的錯(cuò)誤及進(jìn)行出錯(cuò)原因分析。 圖形處理:MATLAB自產(chǎn)生之日起就具有方便的數(shù)據(jù)可視化功能,以將向量和矩陣用圖形表現(xiàn)出來(lái),并且可以對(duì)圖形進(jìn)行標(biāo)注和打印。高層次的作圖包括二維和三維的可視化、圖象處理、動(dòng)畫(huà)和表達(dá)式作圖??捎糜诳茖W(xué)計(jì)算和工程繪圖。新版本的MATLAB對(duì)整個(gè)圖形處理功能作了很大的改進(jìn)和完善,使它不僅在一般數(shù)據(jù)可視化軟件都具有的功能(例如二維曲線和三維曲面的繪制和處理等)方面更加完善,而且對(duì)于一些其他軟件所沒(méi)有的功能(例如圖

15、形的光照處理、色度處理以及四維數(shù)據(jù)的表現(xiàn)等),MATLAB同樣表現(xiàn)了出色的處理能力。同時(shí)對(duì)一些特殊的可視化要求,例如圖形對(duì)話等,MATLAB也有相應(yīng)的功能函數(shù),保證了用戶不同層次的要求。另外新版本的MATLAB還著重在圖形用戶界面(GUI)的制作上作了很大的改善,對(duì)這方面有特殊要求的用戶也可以得到滿足。3、 題目要求根據(jù)數(shù)獨(dú)游戲規(guī)則設(shè)置數(shù)獨(dú)判斷程序。自動(dòng)生成數(shù)獨(dú)表。根據(jù)輸入數(shù)字給出輸出,輸入錯(cuò)誤時(shí)給出提示。2、 設(shè)計(jì)主要模塊 數(shù)獨(dú)游戲 數(shù)獨(dú)游戲主要組成部分解決數(shù)獨(dú)問(wèn)題程序 界面設(shè)計(jì)生成及判斷程序3、 功能分析游戲主要功能包括:游戲的初始化,自動(dòng)生成數(shù)獨(dú)表。根據(jù)選擇的游戲難度不同產(chǎn)生給出數(shù)字?jǐn)?shù)目

16、不同的數(shù)獨(dú)表。當(dāng)發(fā)生填寫(xiě)錯(cuò)誤時(shí)會(huì)給出提示。提供作弊功能,可以給出部分答案提示。根據(jù)讀者需要可以生成答案。4、 程序源代碼function sudoku(varargin) % sudoku % % Sudoku GUI for Matlab% if nargin=0, h_main=openfig(mfilename,new); centerfig(h_main); handles=guihandles(h_main); guidata(h_main,handles); initialize(handles);else if nargin1, feval(varargin1,varargin2

17、:end) else feval(varargin1) endend %-function initialize(handles) set(handles.sudoku,buttondownfcn,sudoku(highlight,guidata(gcbo),0),keypressfcn,sudoku(keypress,guidata(gcbo);axes(handles.axes1);claset(handles.axes1,nextplot,add); h_text=;h_field=;for i=1:9, for j=1:9, ix=sub2ind(9 9,i,j); h_field(i

18、x)=fill(-1 0 0 -1+i,-1 -1 0 0+j,w,buttondownfcn,sudoku(highlight,guidata(gcbo), num2str(ix) ); h_text(ix)=text(i-0.5,j-0.5,fontunits,normalized,fontsize,0.07,horizontalalignment,center,buttondownfcn,sudoku(highlight,guidata(gcbo), num2str(ix) ); endend setappdata(handles.sudoku,h_text,h_text);setapp

19、data(handles.sudoku,h_field,h_field); for i=0:3:9, h=plot(0 9,i i,k-); set(h,linewidth,2.5); h=plot(i i,0 9,k-); set(h,linewidth,2.5);end hlbox=plot(0 1 1 0 0,0 0 1 1 0,r-);set(hlbox,linewidth,3,visible,off); axis(-0.03 9.03 -0.03 9.03);axis equalaxis off s=zeros(9);setappdata(handles.sudoku,s,s);se

20、tappdata(handles.sudoku,s0,s);setappdata(handles.sudoku,ss,s);setappdata(handles.sudoku,hlbox,hlbox)setappdata(handles.sudoku,selected,0)setappdata(handles.sudoku,t0,clock);setappdata(handles.sudoku,cheated,0); %-function create_sudoku(handles) t=timer(timerfcn,waitbar(mod(etime(clock,t0)/60,1),hwb)

21、,period,1 . ,startfcn,hwb=waitbar(0,請(qǐng)稍候.,windowstyle,modal);t0=clock; . ,stopfcn,delete(hwb),executionmode,fixedrate);start(t);n=get(handles.create_slider,value); s,ss=sudoku_construct(n); h_text=getappdata(handles.sudoku,h_text);for i=1:9, for j=1:9, ix=sub2ind(9 9,i,j); if s(ix)=0, str=; else str=

22、num2str(s(ix); end set(h_text(ix),string,str,color,black); endendstop(t);delete(t); setappdata(handles.sudoku,s,s);setappdata(handles.sudoku,s0,s);setappdata(handles.sudoku,ss,ss);setappdata(handles.sudoku,t0,clock);setappdata(handles.sudoku,cheated,0);%-function highlight(handles,ix); hlbox=getappd

23、ata(handles.sudoku,hlbox); if ix0, i,j=ind2sub(9 9,ix); set(hlbox,xdata,i+-1 0 0 -1 -1,ydata,j+-1 -1 0 0 -1,visible,on);else set(hlbox,visible,off);end setappdata(handles.sudoku,hlbox,hlbox)setappdata(handles.sudoku,selected,ix) %-function keypress(handles); ix=getappdata(handles.sudoku,selected);s0

24、=getappdata(handles.sudoku,s0);s=getappdata(handles.sudoku,s);key=get(handles.sudoku,currentcharacter); if ix0 & ismember(double(key),28:31), i,j=ind2sub(9 9,ix); if double(key)=28, i=i-1; elseif double(key)=29, i=i+1; elseif double(key)=30, j=j-1; else j=j+1; end if i=1 & i=1 & j0, t_str=num2str(t_

25、h) 小時(shí) ; end if t_m0, t_str=t_str num2str(t_m) 分鐘 ; end t_str=t_str num2str(t_s) 秒; cheated=getappdata(handles.sudoku,cheated); if cheated, t_str=t_str ,但是你作弊了!; end h=msgbox(你解決這道數(shù)獨(dú)題用了 t_str,太棒了!,modal); uiwait(h); end else set(h_field(ind),facecolor,1 0.8 0.8); drawnow; pause(1); set(h_field(ind),f

26、acecolor,white); set(h_text(ix),string,); endend %-function rok,ind=rulesok(s,i,j) ix=sub2ind(size(s),i,j);ix1=sub2ind(size(s),i*ones(1,9),1:9);ix1=ix1(find(ix1=ix);ix2=sub2ind(size(s),1:9,j*ones(1,9);ix2=ix2(find(ix2=ix); if i=3, xv=1:3;elseif i=6, xv=4:6;else xv=7:9;end if j=3, yv=1:3;elseif j=6,

27、yv=4:6;else yv=7:9;end x,y=meshgrid(xv,yv); ix3=sub2ind(size(s),x(:),y(:);ix3=ix3(find(ix3=ix); rok = (any(s(ix)=s(ix1) | any(s(ix)=s(ix2) | any(s(ix)=s(ix3); if nargout=2, ind=; i=find(ismember(s(ix1),s(ix); ind=ind ix1(i); i=find(ismember(s(ix2),s(ix); ind=ind ix2(i); i=find(ismember(s(ix3),s(ix);

28、 ind=ind ix3(i);end %-function hint(handles); s=getappdata(handles.sudoku,s);h_field=getappdata(handles.sudoku,h_field); s1=sudokusolve(s,0,1); ix=find(s1-s);set(h_field(ix),facecolor,0.8 1 0.8);waitforbuttonpressset(h_field(ix),facecolor,white);setappdata(handles.sudoku,cheated,1); %-function solve

29、_number(handles); s=getappdata(handles.sudoku,s);h_field=getappdata(handles.sudoku,h_field);h_text=getappdata(handles.sudoku,h_text); s1=sudokusolve(s,0,1); ix=find(s1-s);ix=ix(randperm(length(ix); s(ix(1)=s1(ix(1);set(h_text(ix(1),string,num2str(s1(ix(1),color,0.5*1 1 1)setappdata(handles.sudoku,s,

30、s);set(h_field(ix(1),facecolor,0.8 1 0.8);waitforbuttonpressset(h_field(ix(1),facecolor,white);setappdata(handles.sudoku,cheated,1); %-function solve_step(handles); s=getappdata(handles.sudoku,s);h_field=getappdata(handles.sudoku,h_field);h_text=getappdata(handles.sudoku,h_text); s1=sudokusolve(s,0,

31、1); ix=find(s1-s); s(ix)=s1(ix);for i=1:length(ix), set(h_text(ix(i),string,num2str(s1(ix(i),color,0.5*1 1 1);endsetappdata(handles.sudoku,s,s);set(h_field(ix),facecolor,0.8 1 0.8);waitforbuttonpressset(h_field(ix),facecolor,white);setappdata(handles.sudoku,cheated,1); %-function solve_all(handles); s=getappdata(handles.sudoku,s);h_field=getappdata(handles.sudoku,h_field);h_text=getappdata(handl

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論