第一篇:matlab實(shí)習(xí)報(bào)告
matlab實(shí)習(xí)報(bào)告
實(shí)習(xí)總結(jié)報(bào)告;學(xué)校名稱(chēng);實(shí)習(xí)類(lèi)型學(xué)學(xué)軟件MTLAB實(shí)習(xí)起止時(shí)間年月日至年;所在院(系);班級(jí);學(xué)生姓名;學(xué)號(hào);年月日;實(shí)習(xí)總結(jié)報(bào)告;2013年7月8日至7月26日,我們應(yīng)數(shù)專(zhuān)業(yè)進(jìn)行;這次認(rèn)識(shí)實(shí)習(xí)分為兩大部分:理論知識(shí)學(xué)習(xí)和上機(jī)實(shí)踐;
一、實(shí)習(xí)目的;這次實(shí)習(xí)的目的是使我們掌握MATLAB的基本知識(shí);
二、實(shí)習(xí)內(nèi)容;
(一)操作基礎(chǔ);MATLAB是一種用于科學(xué)計(jì)算的高
實(shí)習(xí)總結(jié)報(bào)告 學(xué)校名稱(chēng)
實(shí)習(xí)類(lèi)型 學(xué)學(xué)軟件MTLAB 實(shí)習(xí)起止時(shí)間 年 月 日至 年 月 日 指導(dǎo)教師 所在院(系)班 級(jí) 學(xué)生姓名 學(xué) 號(hào) 年 月 日 實(shí)習(xí)總結(jié)報(bào)告
2013年7月8日至7月26日,我們應(yīng)數(shù)專(zhuān)業(yè)進(jìn)行了為期3周的實(shí)習(xí)。這次認(rèn)識(shí)實(shí)習(xí)分為兩大部分:理論知識(shí)學(xué)習(xí)和上機(jī)實(shí)踐學(xué)習(xí)。這次認(rèn)識(shí)實(shí)習(xí)使我對(duì)專(zhuān)業(yè)知識(shí)有了一定的了解,知道以后的學(xué)習(xí)重點(diǎn),感受工作環(huán)節(jié),為自己將來(lái)走向社會(huì)打下基礎(chǔ)。
一、實(shí)習(xí)目的
這次實(shí)習(xí)的目的是使我們掌握MATLAB的基本知識(shí),能運(yùn)用MATLAB來(lái)編寫(xiě)程序,解決一般性的問(wèn)題,使得我們?cè)谕瓿杀菊n程學(xué)習(xí)后,掌握MATLAB的基本知識(shí)和初步的編程能力,為以后的學(xué)習(xí)和工作提供了一個(gè)非常有用的工具。
二、實(shí)習(xí)內(nèi)容
(一)操作基礎(chǔ)
MATLAB是一種用于科學(xué)計(jì)算的高性能語(yǔ)言。它將計(jì)算、可視化和程序設(shè)計(jì)集成在一個(gè)非常容易的環(huán)境中,使用我們熟悉的數(shù)學(xué)符號(hào)表示問(wèn)題與答案。MATLAB系統(tǒng)由5個(gè)主要部分組成,包括開(kāi)發(fā)環(huán)境、MATLAB數(shù)學(xué)函數(shù)庫(kù)、MATLAB語(yǔ)言、圖形、MATLAB應(yīng)用程序接口。對(duì)于MATLAB的操作基礎(chǔ),應(yīng)該學(xué)會(huì)啟動(dòng)和退出MATLAB、MATLAB的桌面工具和開(kāi)發(fā)環(huán)境、命令窗口、歷史窗口等等。
(二)矩陣及其運(yùn)算
MATLAB,即“矩陣實(shí)驗(yàn)室”,它是以矩陣為基本運(yùn)算單元。因此,本書(shū)從最基本的運(yùn)算單元出發(fā),介紹MATLAB的命令及其用法。
1.矩陣的表示:MATLAB的強(qiáng)大功能之一體現(xiàn)在能直接處理向量
或矩陣。當(dāng)然首要任務(wù)是輸入待處理的向量或矩陣。不管是任何矩陣(向量),我們可以直接按行方式輸入每個(gè)元素:同一行中的元素用逗號(hào)(,)或者用空格符來(lái)分隔,且空格個(gè)數(shù)不限;不同的行用分號(hào)(;)分隔。所有元素處于一方括號(hào)([ ])內(nèi);當(dāng)矩陣是多維(三維以上),且方括號(hào)內(nèi)的元素是維數(shù)較低的矩陣時(shí),會(huì)有多重的方括號(hào)。其中有:符號(hào)矩陣、大矩陣的生成、多維數(shù)組的創(chuàng)建、特殊矩陣的生成(主要有零矩陣(zero)、單位陣(eye)、全一陣(ones)、均勻分布隨機(jī)矩陣(rand)、正態(tài)分布隨機(jī)矩陣(randn)等)。
(三)程序設(shè)計(jì)與文件操作 1.程序設(shè)計(jì):
Matlab既是一種語(yǔ)言,又是一種編程環(huán)境。Matlab提供了很多方便用戶(hù)的工具,用于管理變量、輸入輸出數(shù)據(jù)以及生成和管理M文件。
用戶(hù)可在Matlab的命令窗口鍵入一個(gè)命令,也可以由它定義的語(yǔ)言在編輯器中編寫(xiě)應(yīng)用程序,Matlab軟件對(duì)此進(jìn)行解釋后,在Matlab環(huán)境下對(duì)它進(jìn)行處理,最后返回結(jié)果.MATLAB語(yǔ)言的顯著特點(diǎn):具有強(qiáng)大的矩陣運(yùn)算能力:Matrix Laboratory(矩陣實(shí)驗(yàn)室),使得矩陣運(yùn)算非常簡(jiǎn)單。也是一種演算式語(yǔ),MATLAB的基本數(shù)據(jù)單元是既不需要指定維數(shù),也不需要說(shuō)明數(shù)據(jù)類(lèi)型的矩陣(向量和標(biāo)量為矩陣的特例),而且數(shù)學(xué)表達(dá)式和運(yùn)算規(guī)則與通常的習(xí)慣相同。因此,MATLAB語(yǔ)言編程簡(jiǎn)單,使用方便。
2.文件操作:
(1)指令驅(qū)動(dòng)模式:即在MATLABM命令行窗口下用戶(hù)輸入單行指令時(shí),MATLAB立即處理這條指令,并顯示結(jié)果,這就是MATLAB命令行方式。缺點(diǎn):命令行方式程序可讀性差,而且不能存儲(chǔ),當(dāng)處理復(fù)雜問(wèn)題和大量數(shù)據(jù)時(shí)很不方便。(2)M文件模式:將MATLAB語(yǔ)句構(gòu)成的程序存儲(chǔ)成以m為擴(kuò)展名的文件,然后再執(zhí)行該程序文件,這種工作模式稱(chēng)為程序文件
模式。
(3)M語(yǔ)言文件可以分為主程序文件和函數(shù)文件, 一個(gè)M語(yǔ)言文件就是由若干MATLAB的命令組合在一起構(gòu)成的。M語(yǔ)言文件是標(biāo)的純文本格式的文件,其文件擴(kuò)展名為.m。MATLAB提供了meditor編輯器編輯M文件。
(四)數(shù)據(jù)分析與多項(xiàng)式計(jì)算
MATLAB數(shù)據(jù)分析與多項(xiàng)式計(jì)算主要包括:數(shù)據(jù)統(tǒng)計(jì)處理、數(shù)據(jù)插值、曲線(xiàn)擬合、離散傅立葉變換、多項(xiàng)式計(jì)算等等。
在數(shù)據(jù)處理中我們要了解最大值和最小值,如果在程序中求一個(gè)矩陣的極值問(wèn)題,max或min(x,[],1)代表的是每一列中最大值或最小值組合寫(xiě)成一個(gè)行矩陣,max或min(x,[],2)表示的是每一行中的最大值和最小值寫(xiě)成一個(gè)列矩陣。在計(jì)算多項(xiàng)式時(shí),了解root函數(shù)以及熟練地應(yīng)用,將多項(xiàng)式每一項(xiàng)前系數(shù)都寫(xiě)入root中,便可以通過(guò)root函數(shù)求出根。
(五)解線(xiàn)性方程與函數(shù)極值 線(xiàn)性方程:解線(xiàn)性方程包括:線(xiàn)性方程組求解、非線(xiàn)性方程數(shù)值求解、常微分方程初值問(wèn)題的數(shù)值解法、函數(shù)極值等。
線(xiàn)性方程求解:(a)直接法:
利用左除運(yùn)算符的直接解法對(duì)于線(xiàn)性方程組Ax=b,可以利用左除運(yùn)算符“”求解:x=Ab。(b)利用矩陣的分解求解線(xiàn)性方程組: 矩陣分解是指根據(jù)一定的原理用某種算法將一個(gè)矩陣分解成若干個(gè)矩陣的乘積。常見(jiàn)的矩陣分解有LU分解、QR分解、Cholesky分解,以及Schur分解、Hessenberg分解、奇異分解等。
(c)非線(xiàn)性方程組的求解:
對(duì)于非線(xiàn)性方程組F(X)=0,用fsolve函數(shù)求其數(shù)值解。fsolve函數(shù)的調(diào)用格式為:
X=fsolve('fun',X0,option)其中X為返回的解,fun是用于定義需求解的非線(xiàn)性方程組的函數(shù)文件名,X0是求根過(guò)程的初值,option為最優(yōu)化工具箱的選項(xiàng)設(shè)定。最優(yōu)化工具箱提供了20多個(gè)選項(xiàng),用戶(hù)可以使用optimset命令將它們顯示出來(lái)。如果想改變其中某個(gè)選項(xiàng),則可以調(diào)用optimset()函數(shù)來(lái)完成。例如,Display選項(xiàng)決定函數(shù)調(diào)用時(shí)中間結(jié)果的顯示方式,其中‘off’為不顯示,‘iter’表示每步都顯示,‘final’只顯示最終結(jié)果。optimset(‘Display’,‘off’)將設(shè)定Display選項(xiàng)為‘off’。
(六)符號(hào)計(jì)算
在數(shù)值計(jì)算中,計(jì)算機(jī)處理的對(duì)象和得到的結(jié)果都是數(shù)值,而在符號(hào)計(jì)算中,計(jì)算機(jī)處理的數(shù)據(jù)和得到的結(jié)果都是符號(hào)。符號(hào)計(jì)算中首先要對(duì)符號(hào)變量進(jìn)行定義。Sym只能為單個(gè)符號(hào)變量定義,而Syms可以為多個(gè)進(jìn)行定義。定義之后,可以進(jìn)行符號(hào)計(jì)算,主要用于研究符號(hào)微積分運(yùn)算。求解符號(hào)微分,可以直接采用diff()函數(shù)進(jìn)行求解;符號(hào)的積分,可以使用int()函數(shù)進(jìn)行計(jì)算,最后調(diào)用M文件得到正確結(jié)果。
(七)數(shù)值積分與微分
MATLAB數(shù)值積分與微分主要包括:數(shù)值積分與數(shù)值微分。求解定積分的數(shù)值方法多種多樣,如簡(jiǎn)單的梯形法、辛普生(Simpson)?法、牛頓-柯特斯(Newton-Cotes)法等都是經(jīng)常采用的方法?;舅枷攵际菍⒄麄€(gè)積分區(qū)間[a,b]分成n個(gè)子區(qū)間[xi,xi+1],i=1,2,?,n,其中x1=a,xn+1=b。這樣求定積分問(wèn)題就分解為求和問(wèn)題。
二重定積分的數(shù)值求解:使用MATLAB提供的dblquad函數(shù)就可以直接求出二重定積分的數(shù)值解。該函數(shù)的調(diào)用格式為: I=dblquad(f,a,b,c,d,tol,trace)該函數(shù)求f(x,y)在[a,b]×[c,d]區(qū)域上的二重定積分。參數(shù)tol,trace的用法與函數(shù)quad完全相同。
(八)微分方程符號(hào)解法和數(shù)值解法
solve函數(shù)的使用Solve(‘p*sin(x)=r’)ans=asin(r/p),dsolve函數(shù)的一般調(diào)用形式是:dsolve(‘s’,’s1’;
(九)繪圖操作;二維圖形可以采用ezplot進(jìn)行繪圖,一般形式是;ezplot(f,[a,b])表示的是回執(zhí)函數(shù)y;三維圖形或者多維圖形一般采用ezplot3進(jìn)行繪;
(十)圖形用戶(hù)界面設(shè)計(jì)圖形用戶(hù)和界面設(shè)計(jì)中我們要;
(十一)統(tǒng)計(jì)方法及其應(yīng)用;概率分布及其有關(guān)函數(shù)中,常用的是pdf,cdf,;
(十二)圖形句柄;
的一般調(diào)用形式是:dsolve(‘s’,’s1’,’s2’...)(s為方程,s1,s2,s3,為初始條件,x為自變量)。Ode45表示的是常微分方程的數(shù)值求解。通過(guò)此函數(shù)可以很方便快速的求出有關(guān)微分方程求解的問(wèn)題。
(九)繪圖操作
二維圖形可以采用ezplot進(jìn)行繪圖,一般形式是:
ezplot(f,[a,b])表示的是回執(zhí)函數(shù)y=f(x)在區(qū)間(a,b)上的圖像。
三維圖形或者多維圖形一般采用ezplot3進(jìn)行繪圖,一般形式是: ezplot3(x,y,z)表示的是空間曲線(xiàn)x=x(t),y=y(t),z=z(t),0 (十)圖形用戶(hù)界面設(shè)計(jì) 圖形用戶(hù)和界面設(shè)計(jì)中我們要遵循四個(gè)原則:簡(jiǎn)單性,一致性,習(xí)常性以及其他考慮因素。如果建立主菜單條,菜單項(xiàng)句柄=uimenu(圖形黃口句柄,屬性名1,屬性值1,...);子菜單句柄=uimenu(父菜單句柄,屬性名1,屬性值1,...)圖形窗口的創(chuàng)建一般是 窗口句柄=figure(屬性名1,屬性值1,屬性名2,屬性值2,...),對(duì)于圖形用戶(hù)界面設(shè)計(jì)工具-Guide Control Panel要有簡(jiǎn)單的了解。 (十一)統(tǒng)計(jì)方法及其應(yīng)用 概率分布及其有關(guān)函數(shù)中,常用的是pdf,cdf,stat(概率密度,分布函數(shù),均值與方差),以及樣本均值mean和中值median,在描述性統(tǒng)計(jì)就是搜集.整理.加工和分析統(tǒng)計(jì)數(shù)據(jù)使之系統(tǒng)化。在描述樣本中心值的偏離程度中,有var(方差),cov(協(xié)方差)等研究參數(shù),同時(shí)還可以對(duì)參數(shù)進(jìn)行估計(jì),方差分析有anova1(單因素試驗(yàn)方差)和anova2(雙因素試驗(yàn)),通過(guò)統(tǒng)計(jì)數(shù)據(jù),最終進(jìn)行統(tǒng)計(jì)圖的繪制。 (十二)圖形句柄 圖形句柄主要包括:圖形對(duì)象及其句柄、圖形對(duì)象屬性、圖 形對(duì)象的創(chuàng)建。我們學(xué)習(xí)了很多MATLAB高層繪圖函數(shù),這些函數(shù)都是將不同的曲線(xiàn)或曲面繪制在圖形窗口中,而圖形窗口也就是由不同圖形對(duì)象(如坐標(biāo)軸、曲線(xiàn)、曲面或文字等)組成的圖形界面。MATLAB給每個(gè)圖形對(duì)象分配一個(gè)標(biāo)志符,稱(chēng)為句柄。以后可以通過(guò)該句柄對(duì)該圖形對(duì)象的屬性進(jìn)行設(shè)置,也可以獲取有關(guān)屬性,從而能夠更加自主地繪制各種圖形。 直接對(duì)圖形句柄進(jìn)行操作的繪圖方法稱(chēng)為低層繪圖操作。相對(duì)于高層繪圖,低層繪圖的操作控制和表現(xiàn)圖形的能力更強(qiáng),事實(shí)上,MATLAB的高層繪圖函數(shù)都是利用低層繪圖函數(shù)建立起來(lái)的。有時(shí)單靠高層繪圖不能滿(mǎn)足要求,如,繪制特殊圖形、建立圖形用戶(hù)界面等,這時(shí)就需要圖形句柄操作。 三、實(shí)習(xí)心得 這次實(shí)習(xí)我收獲頗多,領(lǐng)會(huì)了很多東西,這次實(shí)習(xí)對(duì)于我們數(shù)學(xué)專(zhuān)業(yè)的學(xué)生意義重大??梢哉f(shuō),這次實(shí)習(xí)完全做到了學(xué)以致用,正如陶行知先生所言:“知行合一”。這對(duì)于我們以后的學(xué)習(xí)和將來(lái)走上工作崗位,有一定的借鑒意義。在這個(gè)過(guò)程中心得如下: 1、“實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn)”,在學(xué)習(xí)Matlab的過(guò)程中,這一點(diǎn)非常的重要,在學(xué)習(xí)的過(guò)程中我們不僅要學(xué)會(huì)老師講授的知識(shí),而且要多操作,多實(shí)踐,在操作和實(shí)踐的過(guò)程中將知識(shí)融會(huì)貫通,做到“信手拈來(lái)”的境界。 2、要有團(tuán)隊(duì)精神,這一似乎是我們這個(gè)時(shí)代許多重大發(fā)現(xiàn),科技進(jìn)步一個(gè)非常重要的因素。而在學(xué)習(xí)Matlab的過(guò)程中也體現(xiàn)了這一點(diǎn),在與同學(xué)和老師的交流過(guò)程中,無(wú)形之中就學(xué)到了很多的知識(shí)。 3、數(shù)學(xué)與計(jì)算機(jī)是一對(duì)同胞兄弟。在學(xué)習(xí)Matlab的過(guò)程中深有 體會(huì),兩者相輔相成,Matlab的諸多功能對(duì)我們學(xué)習(xí)數(shù)學(xué)的過(guò)程中是非常有幫助的,Matlab簡(jiǎn)單易學(xué),代碼短小,有強(qiáng)大的圖形繪制和處理功能,這些功能對(duì)于我們學(xué)習(xí)數(shù)學(xué)起到了事半功倍的作用。 4、“學(xué)無(wú)止境”,我們應(yīng)該樹(shù)立一種終身學(xué)習(xí)的信念,在這個(gè)信息時(shí)代,知識(shí)在不斷的更新,更新的源泉來(lái)自創(chuàng)新,而創(chuàng)新就要有獨(dú)立思考的能力,Matlab的功能已經(jīng)非常強(qiáng)大了,但仍需完善,作為數(shù)學(xué)人我們與責(zé)任和義務(wù)去完善它,在未來(lái)的前進(jìn)過(guò)程中不斷的做出創(chuàng)新,我想,這也是我們高等教育所提倡的,所以說(shuō),我們數(shù)學(xué)人任重而道遠(yuǎn),需明白“學(xué)無(wú)止境”的道理。 實(shí)驗(yàn)一 仿真條件:電機(jī)空載下,輸入為階躍信號(hào),仿真時(shí)間為0.4S。 階躍信號(hào),仿真時(shí)間為0.4S。 圖二 磁鏈圖 實(shí)驗(yàn)結(jié)果:開(kāi)始時(shí)有摩擦轉(zhuǎn)矩,在短時(shí)間內(nèi)能夠快速形成圓形轉(zhuǎn)矩。 圖1 速度響應(yīng)曲線(xiàn) 實(shí)際結(jié)果:時(shí)間與電機(jī)負(fù)載轉(zhuǎn)矩為0時(shí)的電機(jī)響應(yīng)速度曲線(xiàn),速度響應(yīng)誤差為0。 仿真條件:電機(jī)空載下,輸入為 仿真條件:d軸電流設(shè)置為0,輸入為階躍信號(hào),電機(jī)空載運(yùn)行響應(yīng)時(shí)間為0.4秒。 圖三 速度電流響應(yīng)曲線(xiàn) 實(shí)際結(jié)果:在0.02秒時(shí)間達(dá)到目標(biāo)轉(zhuǎn)速,iq達(dá)到穩(wěn)定。 實(shí)驗(yàn)三 實(shí)驗(yàn)?zāi)康模候?yàn)證比列系數(shù)對(duì)穩(wěn)態(tài)跟蹤誤差的影響。 仿真條件:修改KVFF為0,KAFF為0,負(fù)載為0,KPP為169,KPD為200.8,kpi為0 圖四 速度 EP的響應(yīng)曲線(xiàn) 試驗(yàn)?zāi)康模候?yàn)證比例系數(shù)對(duì)穩(wěn)態(tài)跟蹤誤差的關(guān)系ESS=V/K穩(wěn)態(tài)跟蹤誤差越來(lái)越小。 仿真條件:修改KVFF為0,KAFF為0,負(fù)載為0,KPP為500,KPD為200.8,kpi為0。 圖五 速度 EP的響應(yīng)曲線(xiàn) 試驗(yàn)?zāi)康模候?yàn)證比例系數(shù)對(duì)穩(wěn)態(tài)跟蹤誤差的關(guān)系。 仿真條件:修改KVFF為0,KAFF為0,負(fù)載為0,KPP為5000,KPD為200.8,kpi為0。 圖六 速度 EP的響應(yīng)曲線(xiàn) 實(shí)驗(yàn)結(jié)果:Ep=V/K,隨著K的增加,V不變,EP漸漸減小,前饋=1,完全補(bǔ)償誤差,穩(wěn)定位置跟蹤誤差=0.試驗(yàn)?zāi)康模盒薷那梆佅禂?shù)觀(guān)察穩(wěn)態(tài)跟蹤誤差關(guān)系。 仿真條件:使KVFF為0.5電機(jī)負(fù)載為0使電機(jī)的摩擦系數(shù)為0。 圖七 速度 EP的響應(yīng)曲線(xiàn) 試驗(yàn)結(jié)論:修改前饋系數(shù)觀(guān)察穩(wěn)態(tài)跟蹤誤差關(guān)系。仿真條件:使KVFF為1電機(jī)負(fù)載為0使電機(jī)的摩擦系數(shù)為0。 圖八 速度 EP的響應(yīng)曲線(xiàn) 實(shí)驗(yàn)結(jié)果:由穩(wěn)態(tài)跟蹤誤差=速度/比列系數(shù)(ess=v/k)得,比列系數(shù)越大,速度不變,穩(wěn)態(tài)跟蹤誤差越大。 實(shí)驗(yàn)二 條件:電流給定信號(hào)(iq=500HZF方波),Id=0。電機(jī)的摩擦系數(shù)為無(wú)窮大,看Iq的響應(yīng)波形。 實(shí)驗(yàn)結(jié)果:電機(jī)的摩擦系數(shù)為1000時(shí),TL會(huì)反向轉(zhuǎn)動(dòng)。 條件:電流環(huán)達(dá)到速度環(huán)輸出,還原參數(shù)速度還比列信號(hào)改成正弦波,繼續(xù)增加頻率。 正弦波頻率為100HZ 正弦波頻率為200HZ 正弦波頻率為500HZ 正弦波頻率為700HZ 實(shí)驗(yàn)四 實(shí)驗(yàn)條件:建立一個(gè)直流電機(jī)單速度閉環(huán)調(diào)節(jié)器。 1.求f(x)=4x6-x+x3-95在(0,100)上最大值、最小值,根。(使用函數(shù)fminbnd、roots) >>[x,y]=fminbnd('4*x.^6-x+x.^3-95',0,100)x = 0.4432 y = -95.3258 >> [x,y]=fminbnd('-4*x.^6+x-x.^3+95',0,100)x = 99.9999 y =-4.0000e+012 >> a=[4 0 0 1 0-1-95];roots(a)ans = 1.6860 0.8525 + 1.4852i 0.85251.4514i 求解常微分方程x’’=-x’+x+1,x’(0)=1,x(0)=0(使用函數(shù)dsolve)dsolve('D2x=-Dx+x+1','Dx(0)=1','x(0)=0')ans =(5^(1/2)*exp(t*(5^(1/2)/23))/(10*exp(t*(5^(1/2)/2 + 1/2)))1/3 + 1/51/11 +...)其中 n 為函式的輸入,級(jí)數(shù)和 f(n)則是函式的輸出。此外,你必須進(jìn)行下列事項(xiàng): function f=pifun(n)l=1;s=0;for i=1:n s=s+l/(2*i-1);l=-l;end s=4*s;disp('f(n)的值是');disp(num2str(s))(1)使用 tic 和 toc 指令來(lái)測(cè)量 pifun(100000)的計(jì)算時(shí)間。如果你不知道如何使用這兩個(gè)指令,請(qǐng)使用 help tic 及 help toc 來(lái)查出它們的用法。我的計(jì)算機(jī)是 Pentium-450,所得的計(jì)算時(shí)間約為 2 秒。請(qǐng)說(shuō)明你的計(jì)算機(jī)規(guī)格以及其計(jì)算時(shí)間。 >> tic,pifun(100000),toc f(n)的值是 3.1416 Elapsed time is 0.028928 seconds.Cpu Pentium dual—core e5300(2)使用 flops 指令來(lái)測(cè)量 pifun(100000)所用到 floating point operations 的計(jì)算次數(shù)。如果你不知道如何使用這個(gè)指令,請(qǐng)使用 help flops 來(lái)查出它的用法。 14、寫(xiě)一個(gè) MATLAB 的遞歸函式 fibo.m 來(lái)計(jì)算 Fibonacci 數(shù)列,其定義如下: fibo(n+2)= fibo(n+1)+fibo(n)此數(shù)列的啟始條件如下: fibo(1)= 0, fibo(2)= 1.function f=fibo(n)if n==1 f=0;elseif n==2 f=1;else f=fibo(n-1)+fibo(n-2);end 求下列函數(shù)的極小點(diǎn): 1)f?X??x2?4x2?9x2?2x?18x; 12312>> f='x(1)^2+4*x(2)^2+9*x(3)^2-2*x(1)+18*x(2)';[x,fm]=fminsearch(f,[0,0,0])x = 1.0000-2.2500 0.0000 fm = -21.2500 2) f?X??2x1; 32?x2?2x1x2?x1?2x22>> f='x(1)^2+3/2*x(2)^2-2*x(1)*x(2)+x(1)-2*x(2)';[x,fm]=fminsearch(f,[0,0]) x = 0.*** 1.*** fm = -0.*** 3)f?X???x?1?4?22.12>> f='(x(1)-1)^4+x(2)^2';>> [x,fm]=fminsearch(f,[0;1])x = 0.***-0.*** fm = 4.24***82e-017 第1),2)題的初始點(diǎn)可任意選取,第3)題的初始點(diǎn)取為X0??0,1?T.?5x1?x2?x3?1?x?3x?x?2?3416. 解線(xiàn)性方程組 ?1并求系數(shù)矩陣的行列式。 ??x1?x2?5x4?3??2x3?4x4??1 a=[5 1-1 0 1;1 0 3-1 2;-1-1 0 5 3;0 0 2 4-1];>> rref(a) ans = 1.0000 0 0 0 1.4000 0 1.0000 0 0 -5.9000 0 0 1.0000 0 0.1000 0 0 0 1.0000 -0.3000 所以 x1=1.4;x2=-5.9;x3=0.1;x4=-0.3 a=[5 1-1 0;1 0 3-1;-1-1 0 5;0 0 2 4];>> det(a) ans = 2?f17. 設(shè) f(x,y)= 4 sin(x y),求 ?x?y 3x?2,y?3 syms f s y;syms f x y;f=4*sin(x.^3*y);z=diff(diff(f,x),y);x=2;y=3;subs(z) >> zs17 ans = 1.0636e+003 18.求方程 3x4+4x3-20x+5 = 0 的所有解。 c=[3 4 0-20 5];roots(c) >> zs18 ans = -1.5003 + 1.5470i-1.50031.0860i 1.9536 + 1.0860i 1.0727 r = 8.6397e+003 即在第108年停產(chǎn)可獲最大利潤(rùn),最大利潤(rùn)為8639.7百萬(wàn)元。一幢樓房的后面是一個(gè)很大的花園。在花園中緊靠著樓房建有一個(gè)溫室,溫室高10英尺,延伸進(jìn)花園7尺。清潔工要打掃溫室上方的樓房的窗戶(hù)。他只有借助于梯子,一頭放在花園中,一頭靠在樓房的墻上,攀援上去進(jìn)行工作。他只有一架20米長(zhǎng)的梯子,你認(rèn)為他能否成功?能滿(mǎn)足要求的梯子的最小長(zhǎng)度是多少? 步驟: 1.先進(jìn)行問(wèn)題分析,明確問(wèn)題; 2.建立模型,并運(yùn)用Matlab函數(shù)求解; 3.對(duì)結(jié)果進(jìn)行分析說(shuō)明; 4.line)設(shè)計(jì)程序畫(huà)出圖形,對(duì)問(wèn)題進(jìn)行直觀(guān)的分析和了解(主要用畫(huà)線(xiàn)函數(shù)plot。若梯子能恰好放置,則梯子的長(zhǎng)度f(wàn)與傾角x關(guān)系如下: ab7?f(x)?? (其中a=m, b=3.048m,0 L=inline('3.048/sin(x)+2.333/cos(x)','x');x=fminbnd(L,0.01,pi/2-0.01)l=subs(L) ezplot('3.048/sin(x)+2.333/cos(x)',[0,pi/2]) 由以上可知梯子的最小長(zhǎng)度為7.59m。所以他能成功。 22.某大學(xué)青年教師從31歲開(kāi)始建立自己的養(yǎng)老基金,他把已有的積蓄10000元也一次性地存入,已知月利率為0.001(以復(fù)利計(jì)),每月存入700元,試問(wèn)當(dāng)他60歲退休時(shí),他的退休基金有多少?又若,他退休后每月要從銀行提取1000元,試問(wèn)多少年后他的基金將用完? function f=title22()s=10000;t=0;for i=1:360 s=s*(1+0.001)+700;end fprintf('60?êí?DYê±í?DY?ù?eóD%f?a.n',s);while s>0 s=(s-1000)*(1+0.001);t=t+1;end t=ceil(t/12); fprintf('í?DYoó????òa′óò?DDìáè?1000?a£?%d?êoó?ù?e??ó?íê.n',t);>> zs22 60歲退休時(shí)退休基金有317480.843330元.退休后每月要從銀行提取1000元,32年后基金將用完.23.:請(qǐng)?jiān)O(shè)計(jì)一個(gè)程序,程序完成下列功能:(1)讓用戶(hù)輸入一個(gè)矩陣A;(2)在A(yíng)中找出小于0的矩陣元素的位置;(3)在A(yíng)中統(tǒng)計(jì)出等于0的元素的個(gè)數(shù);(4)顯示A的行數(shù)和列數(shù); (5)找出矩陣A各元素中的最大值(顯示值,不顯示元素位置)。 function f=title20()a=input('??ê?è????óA: ');[m,n]=size(a);t=0;p=0;for i=1:m for j=1:n if a(i,j)<0 p=p+1; fprintf('μú%d??D?óú0μ?????ê?(%d,%d)n',p,i,j); end if a(i,j)==0 t=t+1; end end end B=a(:);max=B(1);for i=2:m*n if B(i)>max max=B(i); end end if p==0 disp('A?D??óDD?óú0μ??a??.');end fprintf('A?Dμèóú0μ??a??μ???êy?a%dn',t);fprintf('Aμ?DDêyoíáDêy·?±e?a%d£?%dn',m,n);fprintf('A?÷?a???Dμ?×?′ó?μ?a%dn',max); 24:請(qǐng)?jiān)O(shè)計(jì)一個(gè)程序,程序完成下列功能:(1)讓用戶(hù)依次輸入兩個(gè)字符串s1和s2;(2)比較兩個(gè)字符串的長(zhǎng)度并顯示比較結(jié)果; (3)判斷s1與s2有沒(méi)有長(zhǎng)度在3個(gè)字符以上的相同子串,顯示判斷結(jié)果。function f=title24() s1=input('??ê?è?×?·?′?s1: ');s2=input('??ê?è?×?·?′?s2: ');m=length(s1);n=length(s2);t=m;kk=0;if m>n t=n; disp('s1μ?3¤?è′óóús2μ?3¤?è.');elseif m disp('s1μ?3¤?èD?óús2μ?3¤?è.');else disp('s1μ?3¤?èμèóús2μ?3¤?è.');end for i=4:t for j=1:m-i+1 for k=1:n-i+1 if strcmp(s1(j:j+i-1),s2(k:k+i-1))==1 l=0; for r=1:kk if strcmp(s1(j:j+i-1),b{r})==1 l=1; break;end end if l==0 kk=kk+1; b{kk}=s1(j:j+i-1); end end end end end for i=1:kk fprintf('μú%d???àí?×?·?′?£o',i);disp(b{i}); end 25:編寫(xiě)程序模擬楊氏雙縫干涉 兩相干光源到接收屏上P點(diǎn)距離r1=(D2+(y-a/2)2)1/2, r2=(D2+(y+a/2)2)1/2,相位差 Φ=2π(r2-r1)/λ,光強(qiáng)I=4I0cos2(Φ/2)編寫(xiě)程序 clear lam=500e-9;a=2e-3;D=1;ym=5*lam*D/a;xs=ym;n=101;ys=linspace(-ym,ym,n);for i=1:n r1=sqrt((ys(i)-a/2).^2+D^2);r2=sqrt((ys(i)+a/2).^2+D^2);phi=2*pi*(r2-r1)./lam;B(i,:)=sum(4*cos(phi/2).^2);end N=255;Br=(B/4.0)*N;subplot(1,2,1);image(xs,ys,Br);colormap(gray(N));subplot(1,2,2);plot(B,ys); 26:編寫(xiě)程序模擬光柵衍射 公式:I=I0(sinα/α)2(sin(λβ)/sinβ)2 α=(πa/λ)sinΦ β=(πd/λ)sinΦ clear lam=500e-9;N=2;a=2e-4;D=5;d=5*a;ym=2*lam*D/a;xs=ym;n=1001;ys=linspace(-ym,ym,n);for i=1:n sinphi=ys(i)/D;alpha=pi*a*sinphi/lam;beta=pi*d*sinphi/lam; B(i,:)=(sin(alpha)./alpha).^2.*(sin(N*beta)./sin(beta)).^2;B1=B/max(B);end NC=255;Br=(B/max(B))*NC;subplot(1,2,1)image(xs,ys,Br);colormap(gray(NC));subplot(1,2,2)plot(B1,ys); 27:繪制三元函數(shù)w?x2?y2?z2的可視化圖形 x=-5:0.05:5;y=-5:0.05:5;z=-5:0.05:5;[x,y,z]=meshgrid(x,y,z);v=x.^2+y.^2+z.^2;isosurface(x,y,z,v,10);axis equal 28:繪制 z?f(x,y)?(1?x)?12ln(x?y)的圖象 [x,y,z,v] = flow; q=1./sqrt(1-x).*log(x-y)-z; p = patch(isosurface(x, y, z, v, 0));isonormals(x,y,z,q,p) set(p, 'FaceColor', 'blue', 'EdgeColor', 'none');view(3) camlight;lighting 29: 試完成matlab 動(dòng)畫(huà) 霓虹燈效果動(dòng)畫(huà):一顆花心: clear;clc;close all c=5;t=linspace(-c,c);[x,y]=meshgrid(t);z=17*x.^2-16*abs(x).*y+17*y.^2-225;pcolor(x,y,z);shading interp pause(2);spinmap(10) 30:試完成matlab gui程序 function varargout = ex0(varargin)gui_Singleton = 1; gui_State = struct('gui_Name', mfilename,...'gui_Singleton', gui_Singleton,...'gui_OpeningFcn', @ex0_OpeningFcn,...'gui_OutputFcn', @ex0_OutputFcn,...'gui_LayoutFcn', [] ,...'gui_Callback', []);if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1});end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});else gui_mainfcn(gui_State, varargin{:});end function ex0_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject; global i a i=0; a=floor(100*rand); guidata(hObject, handles); function varargout = ex0_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output; function x1_Callback(hObject, eventdata, handles) function x1_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');end function x2_Callback(hObject, eventdata, handles) function x2_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');end function p1_Callback(hObject, eventdata, handles) global i a x1= eval(get(handles.x1,'String')); if x1>a x2='high'; set(handles.x2,'string',num2str(x2)); elseif x1 set(handles.x2,'string',num2str(x2)); else x2='YOU ARE WIN'; set(handles.x2,'string',num2str(x2));a=floor(100*rand);i=0; end i=i+1;if i==10 x2='YOU ARE LOSE'; set(handles.x2,'string',num2str(x2));a=floor(100*rand);i=0;end function p2_Callback(hObject, eventdata, handles) close = questdlg('?úè·?¨òa1?±??e?','è·?¨1?±?','ê?','·?','ê?');switch close case '·?' case 'ê?' delete(handles.figure1)end MATLAB實(shí)習(xí)報(bào)告 MATLAB課程設(shè)計(jì)報(bào)告 摘要 MATLAB是由美國(guó)mathworks公司發(fā)布的主要面對(duì)科學(xué)計(jì)算、可視化以及交互式程序設(shè)計(jì)的高科技計(jì)算環(huán)境。它將數(shù)值分析、矩陣計(jì)算、科學(xué)數(shù)據(jù)可視化以及非線(xiàn)性動(dòng)態(tài)系統(tǒng)的建模和仿真等諸多強(qiáng)大功能集成在一個(gè)易于使用的視窗環(huán)境中,為科學(xué)研究、工程設(shè)計(jì)以及必須進(jìn)行有效數(shù)值計(jì)算的眾多科學(xué)領(lǐng)域提供了一種全面的解決方案,代表了當(dāng)今國(guó)際科學(xué)計(jì)算軟件的先進(jìn)水平。 MATLAB的基本數(shù)據(jù)單位是矩陣。MATLAB幾乎包括了矩陣的所有運(yùn)算,從簡(jiǎn)單的矩陣生成及簡(jiǎn)單的運(yùn)算到大量的矩陣運(yùn)算與轉(zhuǎn)換。MATLAB應(yīng)用于矩陣有很大的必要性和很重要的現(xiàn)實(shí)意義。 MATLAB具有強(qiáng)大的二維、三維繪圖功能,提供了許多繪圖語(yǔ)句。利用MATLAB我們可以畫(huà)出我們所需要的幾乎所有圖形。關(guān)鍵詞:矩陣;解方程組;畫(huà)圖 MATLAB實(shí)習(xí)報(bào)告 目錄一、二、三、四、五、背景…………………………………………………………………………4 第一部分題目………………………………………………………………17 第二部分選做題…………………………………………………………....19 心得體會(huì)…………………………………………………………………....19 參考文獻(xiàn)……………………………………………………………………19 MATLAB實(shí)習(xí)報(bào)告 一、背景 MATLAB軟件功能簡(jiǎn)介 MATLAB的名稱(chēng)源自Matrix Laboratory,1984年由美國(guó)Mathworks公司推向市場(chǎng)。它是一種科學(xué)計(jì)算軟件,專(zhuān)門(mén)以矩陣的形式處理數(shù)據(jù)。MATLAB將高性能的數(shù)值計(jì)算和可視化集成在一起,并提供了大量的內(nèi)置函數(shù),從而被廣泛的應(yīng)用于科學(xué)計(jì)算、控制系統(tǒng)和信息處理等領(lǐng)域的分析、仿真和設(shè)計(jì)工作。 MATLAB軟件包括五大通用功能,數(shù)值計(jì)算功能(Nemeric)、符號(hào)運(yùn)算功能(Symbolic)、數(shù)據(jù)可視化功能(Graphic)、數(shù)字圖形文字統(tǒng)一處理功能(Notebook)和建模仿真可視化功能(Simulink)。其中,符號(hào)運(yùn)算功能的實(shí)現(xiàn)是通過(guò)請(qǐng)求MAPLE內(nèi)核計(jì)算并將結(jié)果返回到MATLAB命令窗口。該軟件有三大特點(diǎn),一是功能強(qiáng)大;二是界面友善、語(yǔ)言自然;三是開(kāi)放性強(qiáng)。目前,Mathworks公司已推出30多個(gè)應(yīng)用工具箱。MATLAB在線(xiàn)性代數(shù)、矩陣分析、數(shù)值及優(yōu)化、數(shù)值統(tǒng)計(jì)和隨機(jī)信號(hào)分析、電路與系統(tǒng)、系統(tǒng)動(dòng)力學(xué)、次那好和圖像處理、控制理論分析和系統(tǒng)設(shè)計(jì)、過(guò)程控制、建模和仿真、通信系統(tǒng)以及財(cái)政金融等眾多領(lǐng)域的理論研究和工程設(shè)計(jì)中得到了廣泛應(yīng)用。 MATLAB在信號(hào)與系統(tǒng)中的應(yīng)用主要包括符號(hào)運(yùn)算和數(shù)值計(jì)算仿真分析。由于信號(hào)與系統(tǒng)課程的許多內(nèi)容都是基于公式演算,而MATLAB借助符號(hào)數(shù)學(xué)工具箱提供的符號(hào)運(yùn)算功能,能基本滿(mǎn)足信號(hào)與系統(tǒng)課程的需求。例如解微分方程、傅里葉正反變換、拉普拉斯正反變換和z正反變換等。MATLAB在信號(hào)與系統(tǒng)中的另一主要應(yīng)用是數(shù)值計(jì)算與仿真分析,主要包括函數(shù)波形繪制、函數(shù)運(yùn)算、沖擊響應(yīng)與階躍響應(yīng)仿真分析、信號(hào)的時(shí)域分析、信號(hào)的頻譜分析、系統(tǒng)的S域分析和零極點(diǎn)圖繪制等內(nèi)容。數(shù)值計(jì)算仿真分析可以幫助學(xué)生更深入地理解理論知識(shí),并為將來(lái)使用MATLAB進(jìn)行信號(hào)處理領(lǐng)域的各種分析和實(shí)際應(yīng)用打下基礎(chǔ)。 MATLAB實(shí)習(xí)報(bào)告 二、第一部分 1.求解常微分方程x’’=-x’+x+1,x’(0)=1,x(0)=0(使用函數(shù)dsolve)dsolve('D2x=-Dx+x+1','Dx(0)=1','x(0)=0')ans =(5^(1/2)*exp(t*(5^(1/2)/23))/(10*exp(t*(5^(1/2)/2 + 1/2)))– 1 2.請(qǐng)用梯形法、辛普森法分別計(jì)算積分值?x2?x?1dx(trapz、quad) 0f=inline('sqrt(x.^2+x+1)','x');>> quad(f,0,1)ans = 1.3369 >> x=0:0.01:1;y=sqrt(x.^2+x+1);trapz(x,y)ans = 1.3369 3.計(jì)算二重積分??(x2?y2?xy?2x?y?1)dxdy(使用函數(shù)dblquad) 00dblquad('x.^2+y.^2+x*y+2*x+y+1', 0, 1, 0, 2)ans = 10.3333 4.矩陣M=[1,2,6;4,2,7;8,9,3],求M的LU分解,QR分解,對(duì)角陣,特征值分解。 (使用函數(shù)lu、qr、shol、eig)M=[1,2,6;4,2,7;8,9,3];lu(M)ans = 8.0000 9.0000 3.0000 0.5000 -2.5000 5.5000 0.1250 -0.3500 7.5500 qr(M)ans = 9.0000 9.1111 6.4444 -0.5000 2.4470 -2.3360 -1.0000 -0.4719 6.8566 [D,X]=eig(M)D = -0.4111 -0.7719 -0.4992 -0.5484 0.6237 -0.3914 121MATLAB實(shí)習(xí)報(bào)告 -0.7282 0.1229 0.7730 X = 14.2944 0 0 0 -1.5712 0 0 0 -6.7232 5.a=3,A=4,b=a2,B=b2-1,c=a+A-2B,C=a+B+2c,求C。(使用函數(shù)solve)>> syms a b c A B C eq1='a=3';eq2='A=4';eq3='b=a^2';eq4='B=b^2-1';eq5='c=a+A-2*B';eq6='C=a+B+2*c';x=solve(eq1,eq2,eq3,eq4,eq5,eq6);>> x.C ans =-223 6.用兩種方法求解Ax=b的解。b為四階向量,(A為四階隨機(jī)矩陣,自己創(chuàng)建)。方法一:>> A=rand(4)A = 0.9355 0.0579 0.1389 0.2722 0.9169 0.3529 0.2028 0.1988 0.4103 0.8132 0.1987 0.0153 0.8936 0.0099 0.6038 0.7468 >> B=[1;2;3;4];x=inv(A)*B x =-0.2035 2.3800 5.7042 0.9564 方法二: >> A(:,5)=B;rref(A)ans = 1.0000 0 0 0 -0.2035 0 1.0000 0 0 2.3800 0 0 1.0000 0 5.7042 0 0 0 1.0000 0.9564 MATLAB實(shí)習(xí)報(bào)告 13237.f(x)?x?(x?0.8)/(x?1.25)?5(x?),用兩種方法求函數(shù)的根,并求其 x極值與零點(diǎn)。 方法1: >> solve('x^3+(x-4/5)^2/(x+5/4)^3-5*x-5/x');x=double(ans);>> for i=1:length(x) xx(i)=isreal(x(i)); end >> x=x(xx)x = 2.4156 方法2: >> fzero('x.^3+(x-0.8).^2/(x+1.25).^3-5*(x+1/x)',3)ans =2.4156 求極值: >> syms x y >> y=x.^3+(x-0.8).^2/(x+1.25).^3-5*(x+1/x);>> dydx=diff(y);>> solve(dydx);x=double(ans);>> for i=1:length(x) xx(i)=isreal(x(i)); end >> t=x(xx)t =-0.4694 -2.4039 >> x=t(1);y1=subs(y)y1 = 16.2832 >> x=t(2);y2=subs(y)y2 =-6.4732 >> z=diff(diff(y));>> x=t(1);z1=subs(z)z1 = 205.8164 >> x=t(2);z2=subs(z)z2 =-53.5382 所以函數(shù)f(x)存在一個(gè)極大值點(diǎn)x1=-2.4039,極大值為-6.4732;一個(gè)極小值點(diǎn)x2=-2.4039,極小值為16.2832 ?x2?x?6,x?0且x??4 ? 28、f(x)的定義如下:f(x)??x?5x?6,0?x?10,x?2且x?3,寫(xiě)一個(gè)matlab函 ?x2?x?1,其它數(shù)func1實(shí)現(xiàn)該函數(shù)。?MATLAB實(shí)習(xí)報(bào)告 function func1(x)if x<0&&x==-4 y=x^2+x-6;elseif x>=0&x<10&x~=2&x~=3 y=x^2-5*x+6;else y=x.^2-x-1;end fprintf('%dn',y); 9、寫(xiě)一個(gè)MATLAB小程序,求出最小的 n 值,使得 n!> realmax。function f=realmax10()s=1;n=1;while(1)n=n+1;s=s*n;if s>realmax break;end end fprintf(' %dn',n) 10、寫(xiě)一個(gè) MATLAB 函式 pifun.m 來(lái)計(jì)算下列級(jí)數(shù): f(n)= 4*(11/7 + 1/91.5470i 1.4134 0.2539 2?xk?1?1?yk?14.xk13:對(duì)于迭代模型?yk?1?0.3xk? 取初值x0 = 0, y0 = 0, 進(jìn)行3000次迭代,對(duì)于k>1000, 在(xk, yk)處亮一點(diǎn)(注意不要連線(xiàn))可得所謂Henon引力線(xiàn)圖。 x(1)=0;y(1)=0; for i=1:1:3000;%開(kāi)始先從一到3000 x(i+1)=1+y(i)-1.4*x(i)^2;y(i+1)=0.3*x(i);hold on plot(x(i),y(i),'*b')end 14:請(qǐng)?jiān)O(shè)計(jì)一個(gè)程序,程序完成下列功能:(1)讓用戶(hù)依次輸入兩個(gè)字符串s1和s2; (2)比較兩個(gè)字符串的長(zhǎng)度并顯示比較結(jié)果; (3)判斷s1與s2有沒(méi)有長(zhǎng)度在3個(gè)字符以上的相同子串,顯示判斷結(jié)果。 MATLAB實(shí)習(xí)報(bào)告 function f=title24()s1=input('please input s1:請(qǐng)以‘要輸入的字符串’ 格式輸入');s2=input('please input s2:同上');m=length(s1);n=length(s2);t=m;kk=0;if m>n t=n;disp('s1長(zhǎng)度>s2長(zhǎng)度');elseif m for r=1:kk if strcmp(s1(j:j+i-1),b{r})==1 l=1;break;end end if l==0 kk=kk+1;b{kk}=s1(j:j+i-1);end end end end end if kk>0 for i=1:kk fprintf('第%d個(gè)相同字符串:',i);disp(b{i});end MATLAB實(shí)習(xí)報(bào)告 else disp('沒(méi)有長(zhǎng)度在3字符個(gè)以上相同的字符串');end 15:編寫(xiě)程序模擬楊氏雙縫干涉 兩相干光源到接收屏上P點(diǎn)距離r1=(D2+(y-a/2)2)1/2, r2=(D2+(y+a/2)2)1/2,相位差 Φ=2π(r2-r1)/λ,光強(qiáng)I=4I0cos2(Φ/2)編寫(xiě)程序 function yangshi()lam=500e-9;a=2e-3;D=1;ym=5*lam*D/a;xs=ym;n=101;ys=linspace(-ym,ym,n);for i=1:n r1=sqrt((ys(i)-a/2).^2+D^2);r2=sqrt((ys(i)+a/2).^2+D^2);phi=2*pi*(r2-r1)./lam;B(i,:)=sum(4*cos(phi/2).^2);end N=255;Br=(B/4.0)*N;subplot(1,2,1);image(xs,ys,Br);colormap(gray(N));subplot(1,2,2);plot(B,ys); 16:編寫(xiě)程序模擬光柵衍射 公式:I=I0(sinα/α)2(sin(λβ)/sinβ)2 α=(πa/λ)sinΦ β=(πd/λ)sinΦ function guangpu()lam=500e-9;N=2; MATLAB實(shí)習(xí)報(bào)告 a=2e-4;D=5;d=5*a;ym=2*lam*D/a;xs=ym;n=1001;ys=linspace(-ym,ym,n);for i=1:n sinphi=ys(i)/D;alpha=pi*a*sinphi/lam;beta=pi*d*sinphi/lam;B(i,:)=(sin(alpha)./alpha).^2.*(sin(N*beta)./sin(beta)).^2;B1=B/max(B);end NC=255;Br=(B/max(B))*NC;subplot(1,2,1)image(xs,ys,Br);colormap(gray(NC));subplot(1,2,2)plot(B1,ys); 17:繪制三元函數(shù)w?x2?y2?z2的可視化圖形 x=-5:0.05:5;y=-5:0.05:5;z=-5:0.05:5;[x,y,z]=meshgrid(x,y,z);v=x.^2+y.^2+z.^2;isosurface(x,y,z,v,10);axis equal MATLAB實(shí)習(xí)報(bào)告 18:繪制 z?f(x,y)?(1?x)?12ln(x?y)的圖象 [x,y,z,v] = flow;q=1./sqrt(1-x).*log(x-y)-z;p = patch(isosurface(x, y, z, v, 0));isonormals(x,y,z,q,p)set(p, 'FaceColor', 'blue', 'EdgeColor', view(3)camlight;lighting 19: 試完成matlab 動(dòng)畫(huà) 霓虹燈效果動(dòng)畫(huà):一顆花心: clear;clc;close all c=5;t=linspace(-c,c);[x,y]=meshgrid(t);z=17*x.^2-16*abs(x).*y+17*y.^2-225;pcolor(x,y,z);shading interp pause(2);spinmap(10));'none'MATLAB實(shí)習(xí)報(bào)告 20:試完成matlab gui程序 function varargout = ex0(varargin)gui_Singleton = 1;gui_State = struct('gui_Name', mfilename,...'gui_Singleton', gui_Singleton,...'gui_OpeningFcn', @ex0_OpeningFcn,...'gui_OutputFcn', @ex0_OutputFcn,...'gui_LayoutFcn', [] ,...'gui_Callback', []);if nargin && ischar(varargin{1})gui_State.gui_Callback = str2func(varargin{1});end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});else gui_mainfcn(gui_State, varargin{:});end function ex0_OpeningFcn(hObject, eventdata, handles, varargin)handles.output = hObject;global i a i=0;a=floor(100*rand);guidata(hObject, handles);function varargout = ex0_OutputFcn(hObject, eventdata, handles)varargout{1} = handles.output; MATLAB實(shí)習(xí)報(bào)告 function x1_Callback(hObject, eventdata, handles)function x1_CreateFcn(hObject, eventdata, handles)if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');end function x2_Callback(hObject, eventdata, handles)function x2_CreateFcn(hObject, eventdata, handles)if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');end function p1_Callback(hObject, eventdata, handles)global i a x1= eval(get(handles.x1,'String'));if x1>a x2='high';set(handles.x2,'string',num2str(x2));elseif x1 x2='YOU ARE WIN';set(handles.x2,'string',num2str(x2));a=floor(100*rand);i=0;end i=i+1;if i==10 x2='YOU ARE LOSE';set(handles.x2,'string',num2str(x2));a=floor(100*rand);i=0;end function p2_Callback(hObject, eventdata, handles)close = questdlg('?úè·?¨òa1?±??e?','è·?¨1?±?','ê?','·?','ê?');switch close MATLAB實(shí)習(xí)報(bào)告 case '·?' case 'ê?' delete(handles.figure1)end 三、第二部分 1:某公司投資2000萬(wàn)元建成一條生產(chǎn)線(xiàn)。投產(chǎn)后,在時(shí)刻t 的追加成本和追加收益分別為G(t)= 5?t?2t2/3(百萬(wàn)元/年), H(t)=180?t2/3(百萬(wàn)元/年)。試確定該生產(chǎn)線(xiàn)在合適何時(shí)停產(chǎn)可獲最大利潤(rùn)?最大利潤(rùn)是多少? 要求:寫(xiě)出數(shù)學(xué)模型、M函數(shù)(如果需要的話(huà))、運(yùn)算命令和計(jì)算結(jié)果。解:利潤(rùn)函數(shù)R(t)=?(H(t)?G(t))dt?20(百萬(wàn)元)0f(t)=H(t)-G(t)=175-t-3t2/3,f(t)單調(diào)遞減,則當(dāng)f(t)=0時(shí)利潤(rùn)最大 f='175-t-3*t^(2/3)';t=double(solve(f))f=inline('175-t-3*t.^(2./3)');r=quad(f,0,107.2708)-20 t = 1.0e+002 * 1.9536-1.0860i 1.9536 + 1.0860i 1.0727 r =8.6397e+003 即在第108年停產(chǎn)可獲最大利潤(rùn),最大利潤(rùn)為8639.7百萬(wàn)元。:一幢樓房的后面是一個(gè)很大的花園。在花園中緊靠著樓房建有一個(gè)溫室,溫室高10英尺,延伸進(jìn)花園7尺。清潔工要打掃溫室上方的樓房的窗戶(hù)。他只有借助于梯子,一頭放在花園中,一頭靠在樓房的墻上,攀援上去進(jìn)行工作。他只有一架20米長(zhǎng)的梯子,你認(rèn)為他能否成功?能滿(mǎn)足要求的梯子的最小長(zhǎng)度是多少? 步驟: 1.先進(jìn)行問(wèn)題分析,明確問(wèn)題; 2.建立模型,并運(yùn)用Matlab函數(shù)求解; 3.對(duì)結(jié)果進(jìn)行分析說(shuō)明; 4.設(shè)計(jì)程序畫(huà)出圖形,對(duì)問(wèn)題進(jìn)行直觀(guān)的分析和了解(主要用畫(huà)線(xiàn)函數(shù)plot,line) 。若梯子能恰好放置,則梯子的長(zhǎng)度f(wàn)與傾角x關(guān)系如下: 7ab?f(x)?? (其中a=m, b=3.048m,0 3cosxsinx2接下來(lái)用Matlab求該函數(shù)的最小值: L=inline('3.048/sin(x)+2.333/cos(x)','x');x=fminbnd(L,0.01,pi/2-0.01)tMATLAB實(shí)習(xí)報(bào)告 l=subs(L)ezplot('3.048/sin(x)+2.333/cos(x)',[0,pi/2]) 由以上可知梯子的最小長(zhǎng)度為7.59m。所以他能成功。 3.某大學(xué)青年教師從31歲開(kāi)始建立自己的養(yǎng)老基金,他把已有的積蓄10000元也一次性地存入,已知月利率為0.001(以復(fù)利計(jì)),每月存入700元,試問(wèn)當(dāng)他60歲退休時(shí),他的退休基金有多少?又若,他退休后每月要從銀行提取1000元,試問(wèn)多少年后他的基金將用完? function f=title22()s=10000;t=0;for i=1:360 s=s*(1+0.001)+700;end fprintf('60歲退休時(shí)退休基金,%d.n',s);while s>0 s=(s-1000)*(1+0.001);t=t+1;end t=ceil(t/12);fprintf('退休后每月要從銀行提取1000元,多少年用完,%d.n',t);>> zs22 60歲退休時(shí)退休基金有317480.843330元.退休后每月要從銀行提取1000元,32年后基金將用完.4.經(jīng)調(diào)查發(fā)現(xiàn),電飯鍋銷(xiāo)售速度與當(dāng)時(shí)的銷(xiāo)量成正比。現(xiàn)在我們來(lái)建立一個(gè)數(shù)學(xué)模型以預(yù)測(cè)銷(xiāo)量。 close;fplot(‘exp(0.9*x)’, [0,10]);%模型1解析解 hold on;[t,x]=ode45(inline(‘0.9*x*(1-x/1000)’,‘t’,‘x’),[0 10],1);%模型2數(shù)值解 plot(t,x);axis([0 10 0 1500]); MATLAB實(shí)習(xí)報(bào)告 hold off; 四、心得體會(huì) 五、參考文獻(xiàn): 1.姚東.MATLAB及在電子信息課程中的應(yīng)用[M].第二版.北京:北京電子工業(yè)出版社,2000 2.張智星.MATLAB程序設(shè)計(jì)與應(yīng)用.北京:清華大學(xué)出版社,2002 3.肖偉、劉忠.MATLAB程序設(shè)計(jì)與應(yīng)用[M].北京:清華大學(xué)出版社 2005 南京工程學(xué)院 自動(dòng)化學(xué)院 2013/2014學(xué)年第一學(xué)期 實(shí)習(xí)報(bào)告 MATLAB與控制系統(tǒng)仿真實(shí)習(xí) 實(shí)習(xí)報(bào)告成績(jī):評(píng)閱老師簽字: 2014年 1月 實(shí)習(xí)學(xué)生班級(jí)自動(dòng)化 101實(shí)習(xí)學(xué)生姓名實(shí)習(xí)學(xué)生學(xué)號(hào)實(shí)習(xí)地 點(diǎn)基礎(chǔ)實(shí)驗(yàn)中心 B302實(shí)習(xí)指導(dǎo)老師陸鋒陳桂實(shí)習(xí)時(shí) 間19-20周第二篇:Matlab實(shí)習(xí)報(bào)告
第三篇:matlab實(shí)習(xí)報(bào)告(最新)
第四篇:MATLAB實(shí)習(xí)報(bào)告
第五篇:MATLAB實(shí)習(xí)報(bào)告封面