《Matlab》課程設(shè)計(jì)說明書MATLAB的基本運(yùn)算_第1頁
《Matlab》課程設(shè)計(jì)說明書MATLAB的基本運(yùn)算_第2頁
《Matlab》課程設(shè)計(jì)說明書MATLAB的基本運(yùn)算_第3頁
《Matlab》課程設(shè)計(jì)說明書MATLAB的基本運(yùn)算_第4頁
《Matlab》課程設(shè)計(jì)說明書MATLAB的基本運(yùn)算_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、武漢理工大學(xué)matlab課程設(shè)計(jì)說明書課程設(shè)計(jì)任務(wù)書學(xué)生姓名: 專業(yè)班級(jí): 通信0904班 指導(dǎo)教師: 工作單位: 信息工程學(xué)院 題 目: matlab的基本運(yùn)算 初始條件:1. matlab實(shí)驗(yàn)軟件2. 實(shí)驗(yàn)程序要求完成的主要任務(wù): 采用matlab選用適當(dāng)?shù)暮瘮?shù)或矩陣進(jìn)行如下計(jì)算(1) 極限的計(jì)算、微分的計(jì)算、積分的計(jì)算、級(jí)數(shù)的計(jì)算、求解代數(shù)方程、求解常微分方程;(2) 矩陣的最大值、最小值、均值、方差、轉(zhuǎn)置、逆、行列式、特征值的計(jì)算、矩陣的相乘、右除、左除、冪運(yùn)算;(3) 多項(xiàng)式加減乘除運(yùn)算、多項(xiàng)式求導(dǎo)、求根和求值運(yùn)算、多項(xiàng)式的部分分式展開、多項(xiàng)式的擬合、插值運(yùn)算。時(shí)間安排:1.第5周排

2、任務(wù),分組2.67周設(shè)計(jì)仿真,撰寫報(bào)告3.第8周完成設(shè)計(jì),提交報(bào)告,答辯指導(dǎo)教師簽名: 年 月 日系主任(或責(zé)任教師)簽名: 年 月 日課程設(shè)計(jì)目錄摘要11.前言21.1matlab的歷史以及應(yīng)用 32.程序和運(yùn)行結(jié)果52.1基礎(chǔ)微分計(jì)算62.11極限的計(jì)算82.12微分的計(jì)算92.13級(jí)數(shù)的計(jì)算 92.14求解代數(shù)方程 102.15求解常微分方差 112.2矩陣的基本運(yùn)算2.21矩陣的最值122.22均值、方差132.23轉(zhuǎn)置142.24逆矩陣152.25特征值162.26相乘172.27矩陣的右乘、左乘182.28矩陣的冪運(yùn)算192.3多項(xiàng)式的基本運(yùn)算202.31四則運(yùn)算212.32求導(dǎo)、

3、求值、求根232.33展開242.34多項(xiàng)式擬合252.35多項(xiàng)式插值運(yùn)算263.心得體會(huì)274.參考文獻(xiàn)283摘要matlab是一款功能強(qiáng)大而又齊全的軟件,受到各界人士的重視。不僅在仿真方面做的出色,在數(shù)值計(jì)算和科學(xué)的計(jì)算方面也有著重要的地位。對(duì)于它的學(xué)習(xí)不僅可以深入了解到它的重要地位更要的的是可以作為我們學(xué)習(xí)的輔助工具。本報(bào)告主要撰寫了matlab的基本知識(shí)和一些運(yùn)用常識(shí),包括了對(duì)函數(shù)的微分、倒數(shù)、定積分、不定積分的計(jì)算,矩陣和多項(xiàng)式的相關(guān)計(jì)算。這些簡單的運(yùn)用可以為我們以后對(duì)它的更深層次的了解打下基礎(chǔ),更進(jìn)步的還有對(duì)圖形的簡單處理,幫助我們了解到高斯、椒鹽噪聲,中值、維納、高通、低通濾波的

4、理論知識(shí)。通過對(duì)本軟件的基本了解,可以讓我們對(duì)本軟件有個(gè)大體的印象,認(rèn)識(shí)到它的重要作用,在以后的學(xué)習(xí)中藥重視它的學(xué)習(xí),它是聯(lián)系實(shí)際與理論的直接紐帶。241.前言matlab的由來及歷史matlab 是美國mathworks公司出品的商業(yè)數(shù)學(xué)軟件,用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計(jì)算的高級(jí)技術(shù)計(jì)算語言和交互式環(huán)境,主要包括matlab和simulink兩大部分。matlab是矩陣實(shí)驗(yàn)室(matrix laboratory)的簡稱,和mathematica、maple并稱為三大數(shù)學(xué)軟件。它在數(shù)學(xué)類科技應(yīng)用軟件中在數(shù)值計(jì)算方面首屈一指。matlab可以進(jìn)行矩陣運(yùn)算、繪制函數(shù)和數(shù)據(jù)、實(shí)現(xiàn)算法

5、、創(chuàng)建用戶界面、連接其他編程語言的程序等,主要應(yīng)用于工程計(jì)算、控制設(shè)計(jì)、信號(hào)處理與通訊、圖像處理、信號(hào)檢測、金融建模設(shè)計(jì)與分析等領(lǐng)域。matlab的基本數(shù)據(jù)單位是矩陣,它的指令表達(dá)式與數(shù)學(xué)、工程中常用的形式十分相似,故用matlab來解算問題要比用c,fortran等語言完相同的事情簡捷得多,并且mathwork也吸收了像maple等軟件的優(yōu)點(diǎn),使matlab成為一個(gè)強(qiáng)大的數(shù)學(xué)軟件。在新的版本中也加入了對(duì)c,fortran,c+ ,java的支持??梢灾苯诱{(diào)用,用戶也可以將自己編寫的實(shí)用程序?qū)氲絤atlab函數(shù)庫中方便自己以后調(diào)用,此外許多的matlab愛好者都編寫了一些經(jīng)典的程序,用戶可以

6、直接進(jìn)行下載就可以用。20世紀(jì)70年代,美國新墨西哥大學(xué)計(jì)算機(jī)科學(xué)系主任cleve moler為了減輕學(xué)生編程的負(fù)擔(dān),用fortran編寫了最早的matlab。1984年由little、moler、steve bangert合作成立了的mathworks公司正式把matlab推向市場。到20世紀(jì)90年代,matlab已成為國際控制界的標(biāo)準(zhǔn)計(jì)算軟件。2.程序及實(shí)驗(yàn)結(jié)果2.1微積分計(jì)算微積分的計(jì)算可以說是數(shù)學(xué)的基礎(chǔ),關(guān)于基礎(chǔ)的微機(jī)分計(jì)算主要有求函數(shù)的極限,微分運(yùn)算,積分運(yùn)算,級(jí)數(shù)的計(jì)算,代數(shù)的求解,以及常微分方程的求解,下面分別介紹。2.1.1計(jì)算極限matlab中極限函數(shù)limit格式如下:li

7、mit(f,x,a) ;limit(f,a);limit(f);limit(f,x,a,right);limit(f,x,a,left)其中f表示的是函數(shù)式,x表示求極限的變量,a表示的是變量取的值,left或right表示是取左極限還是右極限。例:求 y=分析:這是一個(gè)典型的求極限的題目,題目中涉及了兩個(gè)變量,故在程序開始應(yīng)該先定義兩個(gè)變量,然后直接利用函數(shù)limit編程計(jì)算。示例程序如下:syms x yy= limit(ex,x,2)運(yùn)行結(jié)果如下:y=e22.1.2 微分的計(jì)算matlab中微分函數(shù)diff格式如下:y = diff(x);y = diff(x,n);y = diff(x

8、,n,dim)其中x表示待微分的變量,n表示n次微分,第三式表示沿著定維dim的n階微分。例:求sin(x)*cos(x)的微分;分析:微分運(yùn)算能直觀的顯示函數(shù)值的變化快慢,在平時(shí)計(jì)算中常常反映變量的變化對(duì)函數(shù)值的影響大小這是一個(gè)簡單的一階微分式子,可以直接寫定義變量然后求結(jié)果。示例程序如下:syms x y dyy= sin(x)*cos(x)dy=diff(y)運(yùn)行結(jié)果如下:2.1.3 積分的計(jì)算matlab中積分常用函數(shù)為int,格式如下:int(f,x,a,b)其中f表示待積分的函數(shù),x表示積分變量,而a,b則分別表示積分起始終止點(diǎn)。例:求下列變上限積分分析:積分運(yùn)算大量運(yùn)用于求面積體

9、積等,此處選用的是一個(gè)變上限積分,屬于有些典型的積分例子,但任然是根據(jù)函數(shù)格式就可以寫出程序。示例程序如下:syms k x;y=k2;f=int(y,k,x,x2)運(yùn)行結(jié)果如下:2.1.4 級(jí)數(shù)的計(jì)算matlab中級(jí)數(shù)常用函數(shù)為symsum,格式如下:r = symsum(s);r = symsum(s,v);r = symsum(s,a,b);r = symsum(s,v,a,b)函數(shù)表達(dá)的意義是表達(dá)式s關(guān)于變量v從a到b求和。例: 計(jì)算級(jí)數(shù) 的值,示例程序如下:syms k;t=symsum(1/k,1,5)運(yùn)行結(jié)果如下: 2.1.5 求解代數(shù)方程代數(shù)方程分為很多種,有簡單有復(fù)雜,方法也

10、有很多。一般多項(xiàng)式方程的根可為實(shí)數(shù),也可為復(fù)數(shù),可用matlab符號(hào)工具箱中的solve( )函數(shù), matlab中求解代數(shù)方程常用函數(shù)solve格式如下:x,=solve(eqn1,eqn2,eqnn,x,)其中eqn表示的是式子,x等表示的是變量。例:求解方程5x+7=10示例程序如下:syms xx=solve(5*x+7=10,x)運(yùn)行結(jié)果如下:2.1.6 求解常微分方程未知的函數(shù)以及它的某些階的導(dǎo)數(shù)連同自變量都由一已知方程聯(lián)系在一起的方程稱為微分方程。如果未知函數(shù)是一元函數(shù),稱為常微分方程。matlab中主要用dsolve求符號(hào)解析解。dsolve的基本格式是:s=dsolve(方程

11、1, 方程2,初始條件1,初始條件2 ,自變量)例:求解微分方程 求解析解。示例程序如下:syms y ts=dsolve(dy=-y+t+1,y(0)=1,t);simplify(s)運(yùn)行結(jié)果如下:2.2 矩陣的基本計(jì)算矩陣計(jì)算是線性代數(shù)中的核心內(nèi)容,其對(duì)于整個(gè)數(shù)學(xué)系統(tǒng)的計(jì)算方面的意義是十分巨大的,集中它的基本運(yùn)算包括最大值、最小值、均值、方差、轉(zhuǎn)置、逆、行列式、特征值的計(jì)算、矩陣的相乘、右除、左除、冪運(yùn)算等等,下面將具體介紹。矩陣的運(yùn)算都是要以矩陣為基礎(chǔ)的,本報(bào)告中決定選用一組矩陣來完成幾乎全部可以完成的計(jì)算,那么首先就得生成矩陣了。矩陣的定義和分配可以 有多種方法。最簡單的方法是有方括號(hào)

12、包圍的逐行給定元素。若定義一個(gè)標(biāo)量,則方括號(hào)就不需要了。相同行中的元素是由一行或多個(gè)空格或一個(gè)逗號(hào), 分隔,列由分號(hào); 或回車鍵分隔。沒有結(jié)尾分號(hào)的每個(gè)命令在屏幕上顯示出其結(jié)果。若結(jié)尾帶分號(hào),就執(zhí)行計(jì)算,但計(jì)算結(jié)果并不顯示。如定義33矩陣如下: 則在命令窗口輸入:a=1 2 3;4 5 6;7 8 9屏幕顯示結(jié)果為:a=1 2 34 5 67 8 9 2.2.1 矩陣的最大值、最小值matlab中max函數(shù)可以表示求每一列的最大值,那么經(jīng)過分析可以知道,先求出每一列的最大值然后求出這些最大值里面的最大值,下面以a矩陣為例。示例程序如下:y=max(a)x=max(y)運(yùn)行結(jié)果如下:對(duì)比a中數(shù)值

13、發(fā)現(xiàn)結(jié)果是正確的。matlab中求最小值的函數(shù)為min,求解思路與求最大值思路類似,仍然以矩陣a為例。示例程序如下:y=min(a)x=min(y)運(yùn)行結(jié)果如下:對(duì)比a中數(shù)值發(fā)現(xiàn)結(jié)果是正確的。2.2.2 矩陣的均值、方差matlab中求解矩陣均值的函數(shù)是mean,它的具體用法如下:mean(a,1)表示對(duì)列取平均,mean(a,2)表示對(duì)行取平均,mean(a)則默認(rèn)為mean(a,1)。下面以矩陣b分別舉例,程序示例如下:a=mean(a)b=mean(a,2)運(yùn)行結(jié)果如下:觀察可知,a,b分別顯示出了矩陣行列的均值。如果想求矩陣的均值可以進(jìn)行2次操作。示例程序如下:c=mean(a)運(yùn)行結(jié)

14、果如下:可以觀察到c的值就是矩陣b所有值的均值。matlab中求解矩陣方差的函數(shù)是var,它的常用格式是v = var(x),如果x是一個(gè)矩陣,var(x)返回一個(gè)包含矩陣x每一列方差的行向量。下面還是以矩陣a來示例,程序如下:d=var(var(a)運(yùn)行結(jié)果如下:2.2.3 矩陣的轉(zhuǎn)置矩陣的一個(gè)重要的運(yùn)算是轉(zhuǎn)置,如果a是一個(gè)實(shí)數(shù)矩陣,那么它被轉(zhuǎn)置時(shí),第1行變成第1列,第2行變成第2列,依此類推,一個(gè)mn矩陣變?yōu)橐粋€(gè)nm矩陣。如果矩陣是方陣,那么這個(gè)矩陣在主對(duì)角線反映出來。matlab中求轉(zhuǎn)置的函數(shù)是“”,以a為例,編程如下:e=a運(yùn)行結(jié)果如下:轉(zhuǎn)置矩陣e 2.2.4 矩陣的逆、行列式 實(shí)際中

15、求矩陣的逆跟行列式均要求矩陣是方陣,matlab中求逆的函數(shù)是inv,格式為y = inv(x), 求矩陣的函數(shù)是det,格式為y = det(x)。下面仍以矩陣a 為例來編程示例,如下:f=inv(a)運(yùn)行結(jié)果如下:編程如下:c=det(a)運(yùn)行結(jié)果:2.2.5 矩陣特征值的計(jì)算矩陣的特征值的求解,就是找到方程組的解:其中是一個(gè)標(biāo)量,x是一個(gè)長度為n的列向量。標(biāo)量是a的特征值,x是相對(duì)應(yīng)的特征向量。對(duì)于實(shí)數(shù)矩陣a來說,特征值和特征向量可能是復(fù)數(shù)。一個(gè) nn的矩陣有n個(gè)特征值,表示為。求矩陣的特征值和特征向量可用eig函數(shù)。eig(a)求包含矩陣a的特征值的向量。v,d =eig(a)產(chǎn)生一個(gè)

16、矩陣a的特征值在對(duì)角線上的對(duì)角矩陣d和矩陣v,它的列是相應(yīng)的特征向量,滿足av=vd,下面以矩陣a為例來演示。編程如下: v,d =eig(a)運(yùn)行結(jié)果如下2.2.6 矩陣的相乘 假定有兩個(gè)矩陣a和b,若a為mn矩陣,b為np矩陣,則c=ab為mp矩陣。元素是a的第i行和b的第j列的點(diǎn)積。對(duì)于方陣,也定義了積b a,但其結(jié)果通常與a b不同。matlab中求矩陣的乘積直接用符號(hào)*即可,下面以a、b矩陣為例來分別演示ab與ba區(qū)別。示例程序如下:c=a*bd=b*a運(yùn)行結(jié)果如下:對(duì)比可以知道,ab與ba的結(jié)果是有區(qū)別的。2.2.7 矩陣右除和左除在matlab中,有兩個(gè)矩陣除法的符號(hào),左除“ ”

17、和右除“/”。如果a是一個(gè)非奇異方陣,那么a b和b / a對(duì)應(yīng)a的逆與b的左乘和右乘,即分別等價(jià)于命令 inv(a)*b和b*inv(a)??墒牵琺atlab執(zhí)行它們時(shí)是不同的,且在matlab中求解一個(gè)系統(tǒng)用左除比用逆和乘法所需的運(yùn)算次數(shù)要少。令r=b/a, l=ab , 下面仍然以a、b為例來演示。示例程序如下:r=b/al=ab 運(yùn)行結(jié)果如下:2.2.8 矩陣的冪運(yùn)算 對(duì)于二維方陣,a的p次乘方可以用ap實(shí)現(xiàn)。如果p是一個(gè)正整數(shù),那么這個(gè)冪可以由許多矩陣乘法運(yùn)算定義。對(duì)于 p= 0,得到與a維數(shù)相同的同一個(gè)矩陣;當(dāng) p空域卷積。5.維納濾波:從噪聲中提取信號(hào)波形的各種估計(jì)方法中,維納(

18、wiener)濾波是一種最基本的方法,適用于需要從噪聲中分離出的有用信號(hào)是整個(gè)信號(hào)(波形),而不只是它的幾個(gè)參量。 設(shè)維納濾波器的輸入為含噪聲的隨機(jī)信號(hào)。期望輸出與實(shí)際輸出之間的差值為誤差,對(duì)該誤差求均方,即為均方誤差。因此均方誤差越小,噪聲濾除效果就越好。為使均方誤差最小,關(guān)鍵在于求沖激響應(yīng)。如果能夠滿足維納霍夫方程,就可使維納濾波器達(dá)到最佳。根據(jù)維納霍夫方程,最佳維納濾波器的沖激響應(yīng),完全由輸入自相關(guān)函數(shù)以及輸入與期望輸出的互相關(guān)函數(shù)所決定。6.中值濾波:中值濾波是基于排序統(tǒng)計(jì)理論的一種能有效抑制噪聲的非線性信號(hào)處理技術(shù),中值濾波的基本原理是把數(shù)字圖像或數(shù)字序列中一點(diǎn)的值用該點(diǎn)的一個(gè)鄰域中

19、各點(diǎn)值的中值代替,讓周圍的像素值接近的真實(shí)值,從而消除孤立的噪聲點(diǎn)。方法是去某種結(jié)構(gòu)的二維滑動(dòng)模板,將板內(nèi)像素按照像素值的大小進(jìn)行排序,生成單調(diào)上升(或下降)的為二維數(shù)據(jù)序列。二維中值濾波輸出為g(x,y)=medf(x-k,y-l),(k,lw) ,其中,f(x,y),g(x,y)分別為原始圖像和處理后圖像。w為二維模板,通常為2*2,3*3區(qū)域,也可以是不同的的形狀,如線狀,圓形,十字形,圓環(huán)形等。7. 巴特沃斯低通濾波:巴特沃斯濾波器是濾波器的一種設(shè)計(jì)分類,其采用的是巴特沃斯傳遞函數(shù),有高通、低通、帶通、帶阻等多種濾波器類型。 巴特沃斯濾波器在通頻帶內(nèi)外都有平穩(wěn)的幅頻特性,但有較長的過渡

20、帶,在過渡帶上很容易造成失真。(2).圖像加噪聲原始圖像:(1).圖像加高斯噪聲程序:axes(handles.axes2);x=(handles.img);y=imnoise(x,gaussian,0,0.05); %加高斯噪聲imshow(y);imwrite(y,gaussian.jpg);title(加高斯噪聲) (2).圖像加椒鹽噪聲程序:axes(handles.axes2);x=(handles.img);y=imnoise(x,salt & pepper,0.04); %加椒鹽噪聲imshow(y);imwrite(y,salt.jpg);title(加椒鹽噪聲)2.濾波(1)

21、中值濾波程序: axes(handles.axes2);x=(handles.img);y=imnoise(x,salt & pepper,0.04); %加椒鹽噪聲z=medfilt2(y,5 5,symmetric); %中值濾波imshow(z);imwrite(z,medfilt.jpg);title(中值濾波)(2)維納濾波程序:axes(handles.axes2);x=(handles.img);y=imnoise(x,gaussian,0,0.05); %加高斯噪聲z=wiener2(y,5 5); %維納濾波imshow(z);imwrite(z,wiener.jpg);title(維納濾波) 4.心得體會(huì)matlab跟其他語言不一樣(我用的比較多的編程語言,除了matlab就應(yīng)該是c或c了,vb和delp

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論