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

下載本文檔

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

文檔簡介

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

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

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

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

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

6、直接進行下載就可以用。20世紀70年代,美國新墨西哥大學(xué)計算機科學(xué)系主任cleve moler為了減輕學(xué)生編程的負擔,用fortran編寫了最早的matlab。1984年由little、moler、steve bangert合作成立了的mathworks公司正式把matlab推向市場。到20世紀90年代,matlab已成為國際控制界的標準計算軟件。2.程序及實驗結(jié)果2.1微積分計算微積分的計算可以說是數(shù)學(xué)的基礎(chǔ),關(guān)于基礎(chǔ)的微機分計算主要有求函數(shù)的極限,微分運算,積分運算,級數(shù)的計算,代數(shù)的求解,以及常微分方程的求解,下面分別介紹。2.1.1計算極限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=分析:這是一個典型的求極限的題目,題目中涉及了兩個變量,故在程序開始應(yīng)該先定義兩個變量,然后直接利用函數(shù)limit編程計算。示例程序如下:syms x yy= limit(ex,x,2)運行結(jié)果如下:y=e22.1.2 微分的計算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)的微分;分析:微分運算能直觀的顯示函數(shù)值的變化快慢,在平時計算中常常反映變量的變化對函數(shù)值的影響大小這是一個簡單的一階微分式子,可以直接寫定義變量然后求結(jié)果。示例程序如下:syms x y dyy= sin(x)*cos(x)dy=diff(y)運行結(jié)果如下:2.1.3 積分的計算matlab中積分常用函數(shù)為int,格式如下:int(f,x,a,b)其中f表示待積分的函數(shù),x表示積分變量,而a,b則分別表示積分起始終止點。例:求下列變上限積分分析:積分運算大量運用于求面積體

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

10、有很多。一般多項式方程的根可為實數(shù),也可為復(fù)數(shù),可用matlab符號工具箱中的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)運行結(jié)果如下:2.1.6 求解常微分方程未知的函數(shù)以及它的某些階的導(dǎo)數(shù)連同自變量都由一已知方程聯(lián)系在一起的方程稱為微分方程。如果未知函數(shù)是一元函數(shù),稱為常微分方程。matlab中主要用dsolve求符號解析解。dsolve的基本格式是:s=dsolve(方程

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

12、包圍的逐行給定元素。若定義一個標量,則方括號就不需要了。相同行中的元素是由一行或多個空格或一個逗號, 分隔,列由分號; 或回車鍵分隔。沒有結(jié)尾分號的每個命令在屏幕上顯示出其結(jié)果。若結(jié)尾帶分號,就執(zhí)行計算,但計算結(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)運行結(jié)果如下:對比a中數(shù)值

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

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

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

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

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

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

19、各點值的中值代替,讓周圍的像素值接近的真實值,從而消除孤立的噪聲點。方法是去某種結(jié)構(gòu)的二維滑動模板,將板內(nèi)像素按照像素值的大小進行排序,生成單調(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è)計分類,其采用的是巴特沃斯傳遞函數(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.心得體會matlab跟其他語言不一樣(我用的比較多的編程語言,除了matlab就應(yīng)該是c或c了,vb和delp

溫馨提示

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

最新文檔

評論

0/150

提交評論