數學畢業(yè)論文《行列式計算的若干種方法及算法實現》_第1頁
數學畢業(yè)論文《行列式計算的若干種方法及算法實現》_第2頁
數學畢業(yè)論文《行列式計算的若干種方法及算法實現》_第3頁
數學畢業(yè)論文《行列式計算的若干種方法及算法實現》_第4頁
數學畢業(yè)論文《行列式計算的若干種方法及算法實現》_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

PAGE4山西師范大學本科畢業(yè)論文行列式計算的若干種方法及算法實現姓名系別專業(yè)班級學號指導教師答辯日期成績

行列式計算的若干種方法及算法實現內容摘要行列式是高等數學中基本而又重要的內容之一,那么認識行列式,并且掌握行列式的性質就顯得尤為重要,在此基礎上,我們還需要搞清楚行列式的若干種計算方法,這不僅僅是用于高等數學中的計算,行列式也可用于解決許多實際問題。本文通過行列式的定義,把握行列式的性質,透徹全面的概括了6種行列式的計算方法,包括定義法,化三角法,應用一行(列)展開公式,范德蒙行列式,遞推公式法以及加邊,本文還提出運用MATLAB來幫助計算行列式,正確的選擇計算行列式的方法,使計算更為快捷。通過這一系列的方法進一步提高我們對行列式的認識,為我們以后的學習帶來十分有益的幫助?!娟P鍵詞】行列式性質計算方法MATLABThedeterminantofseveralkindsofcalculatingmethodandalgorithmAbstractThedeterminantofhighermathematicsisthebasicandimportantcontentof,thenknowthedeterminant,andgraspsthenatureofthedeterminantisparticularlyimportant,basedonthis,wealsoneedtofigureoutsomekindofcalculationmethodofthedeterminant,itisnotusedinthecalculationofhighermathematics,thedeterminantcanalsobeusedtosolvemanyproblems.Inthispaperthedeterminantdounderstandafter,graspthenatureofthedeterminant,thoroughlycomprehensivesummarysixkindsofdeterminantcalculationmethod,includingdefinitionmethod,thetrianglemethod,theapplicationofrow(column)onaformula,Vandermondedeterminants,recursiveformulamethodandaddedgemethod.ThispaperalsoputsforwardtohelpwithMATLABcalculationdeterminants;therightchoicecalculationmethodofthedeterminant,makingthecalculationismorequickly.Throughthisaseriesofmethodstofutureimproveourunderstandingofthedeterminant,fortherestoflearningbringsveryusefulhelp.【Keywords】DeterminantPropertiesCalculationmethodMATLAB目錄TOC\o"1-2"\u一、行列式概念的提出 1二、行列式的定義 1(一)定義1 2(二)定義2 2(三)定義3 2三、行列式的性質 2四、行列式的若干種計算方法 4(一)定義法 4(二)化三角形法 5(三)應用一行(列)展開公式 5(四)范德蒙行列式 5(五)遞推公式法 6(六)加邊法 7五、運用MATLAB來解決行列式的問題 8六、結束語 13參考文獻 13致謝 14PAGE13行列式計算的若干種方法及算法實現學生姓名:指導老師:一、行列式概念的提出我們知道,行列式是高等代數中的一個計算工具,無論是數學中的高深領域,還是現實生活中的實際問題,都或多或少的與行列式有著直接或間接地關系。如:我們可以利用行列式求解線性方程組,或者,通過統(tǒng)計數據建立關系來判斷其變化規(guī)律,來做出預測,還可以預知自然生態(tài)中物種的存活期等等的這些生活中的實際問題,都離不開行列式的參與。那么,了解行列式,認識行列式,并且掌握行列式就顯得尤為重要。行列式的概念最初是伴隨著方程組的求解而引起了人們的注意,對其定義的提出需要追溯到十七世紀中期,是由日本數學家關孝和德國數學家戈特弗里德·萊布尼茨各自獨立提出,時間大致相同;十八世紀開始,行列式作為獨立的數學概念被廣泛研究,但并未形成統(tǒng)一的理論,符號記法也沒有得到很好的規(guī)范;在十九世紀,經柯西、凱萊(ArthurCayley,1821-1895)和西爾維斯特(JamesJosephSylvester,1814-1897)等數學家的努力,行列式的理論進一步的被人們認識,并發(fā)展和完善李文林,數學史概論,高等教育出版社,2011年2月第三版,219-220.。李文林,數學史概論,高等教育出版社,2011年2月第三版,219-220.柯西于1812年在法蘭西學院發(fā)表了一篇行列式的相關論文,這篇文章于1815年在“綜合工科學校雜志”(Journaldel’ecolePolytechnipue)正式發(fā)表,柯西在這篇長達84頁的論文中,將貝祖,范德蒙德及萊布尼茨等人使用過的算式正式命名,并稱其為“行列式”。(在柯西之前,高斯的著作中曾經出現過“行列式”這一名詞,但其文章中所謂的行列式實際是指二次型的“判別式”,他稱二元二次型的“判別式”為該二次型的“行列式”。)柯西把行列式作為一類函數來研究,他稱這類函數為“交錯對稱函數”,意即對于任意的變量置換,這種函數只取兩個值,其絕對值相等而符號相反。這導致了幾乎是現代的行列式的定義。柯西還陳述了行列式的運算法則,特別是證明了著名的行列式乘法原理,并從這個定理出發(fā),推導出了一系列的漂亮而重要的結論??挛魇状伟研辛惺降脑嘏懦煞疥?,并采用了雙足標記法。在柯西的著作中一個階行列式記為?,F今通用的行列式記號則是凱萊于1841年在其“論位置幾何學的一條定理”(Onatheoremingeometryofposition)一文中首先創(chuàng)用。柯西等人的代數行列式理論稍后被雅克比(CarlGustarJacobJacobi,1804-1851)推廣到行列式情形。雅克比的長篇論文《行數行列式》(1841)引進了后以他名字命名的行列式——“雅克比行列式”,并將其卓有成效地應用到函數組的相關性、多重積分的變量變換和偏微分方程的研究中。二、行列式的定義行列式是由一些數據排列成的方陣經過規(guī)定的計算方法而得到的一個數。當然,如果行列式中含有未知數,那么行列式就是一個多項式,它本質上代表一個數值。我們所說的行列式包括二階行列式、三階行列式直至N階行列式,下面簡述行列式的定義,以方便后面的論述:定義1:階行列式,等于所有取自不同行不同列的個元素的乘積的代數和,這里為自然數1,2,…,n的一個排列,每一項都按下列規(guī)則帶有符號:當為偶排列時,帶有正號,當為奇排列時,帶有負號。這一定義可以寫成,這里表示對所有級排列求和高等代數,高等教育出版社,2003年7月第3版,56-57.。高等代數,高等教育出版社,2003年7月第3版,56-57.定義2在一個排列中,如果一對數的前后位置與大小順序相反,即前面的數大于后面的數,那么他們就稱為一個逆序,一個排列中逆序的總數就稱為這個排列的逆序數。例如:2431中,21,43,41,31是逆序,2431的逆序數就是4,而45321的逆序數就是5.排列的逆序數記為(三)定義3逆序數為偶數的排列稱為偶排列;逆序數是奇數的排列稱為奇排列。三、行列式的性質通過上面的一些了解,我們知道直接用定義只能計算一些階數較低的行列式,對于一些階數較高的行列式,如果還是運用定義來計算結果,那么工作量必會非常大,而且計算結果的準確性也具有了一定的不確定性,那么這就需要我們通過嘗試來總結一些規(guī)律,明確行列式的性質,運用這些規(guī)律性質來簡化計算。通過總結。我們得出行列式只要包括以下幾個性質:性質1:行列式D與它的轉置行列式相等。性質2:把行列式D中某一行(列)的所有元素同乘以常數K,相當于用數K乘這個行列式,即。依據上面的性質2的倍法變換我們推導出了下面的兩個推論:推論1:一個行列式中某一行(列)所有元素的公因式可以提到行列式的符號外面。性質3:交換行列式D中的某兩行(列),行列式改變符號。即設,則必有:D1=-D。根據行列式性質三的換法變換,我們又能推導出兩個相關的結論,如下:推論2:如果行列式中有兩行(列)的元素對應成比例,則這個行列式等于零。性質4:如果行列式中某一行(列)中的所有元素都可表成兩項之和,則該行列式可拆成兩個行列式之和。性質5:把行列式中的某一行(列)的所有元素同乘以上一個數K再加到另一行(列)的對應元素上,所得到的行列式與原來的行列式相等。即四、行列式的若干種計算方法計算行列式的方法是多種多樣的,我們只能是針對每個題的特征,來選取合適的計算方法求解。基本的行列式解法包括:定義法、化三角形法、應用一行(列)展開公式、遞推公式法、加邊法等等。(一)定義法例1:計算行列式的值對于這樣的行列式,顯然我們可以用定義來得出結果。解:由行列式的定義可知:=1×4×4+2×2×2+1×3×6-1×4×2-2×3×4-1×2×6=-2.(二)化三角形法運用行列式的性質是計算行列式的一個重要途徑,大部分的行列式的計算都與它的性質密不可分,現將給出的行列式化成上三角(下三角)的形式,再依據行列式的定義來計算得出結論。其計算步驟可歸納如下:有公因子的先提出公因子;進行初等變換化成上三角(下三角)的行列式;由行列式的定義進行計算。例2:計算下面行列式的值解::在上述解法中,先用了運算,其目的是把換成1,從而利用運算,即可把變?yōu)?.如果不先做,則由于原式中,需用運算把變?yōu)?,這樣計算時就比較麻煩。第二步把和寫在一起,這是兩次運算,并把第一次運算結果的書寫省略了。(三)應用一行(列)展開公式應用一行(列)展開應遵循以下原則:N階行列式的某一行(列)的元素與另外一行(列)對應的元素的代數余子式的乘積之和等于零。N階行列式的某一行(列)的元素與其代數余子式的乘積之和等于例3:計算解:由按照某一行(列)展開公式得=這與利用行列式的性質計算做對比,顯然,按照某一行(列)展開更加簡便快捷,所以我們在應對不同的題時,應根據其題型特征,來選取最恰當的計算方法。(四)范德蒙行列式我們會遇到形如這樣的式子,其中記號“”表示全體同類因子的乘積。例4:計算分析:通過觀察,發(fā)現此行列式類似于范德蒙行列式,為了得到一個范德蒙行列式,現添加.得到,明顯的,為的余子式,即的系數的相反數。由范德蒙行列式知:,所以的系數為故原行列式等于(五)遞推公式法在我們所熟知的領域中,遞推公式有著廣泛的運用,在行列式中,我們運用遞推法,按照行列式的某一行(列)展開,會產生階數比原行列式低但卻與原行列式有著相同類型的新的行列式,逐層降階后,最終計算出原行列式的值。遞推法常用的兩個公式包括:若時,則;若時,則(其中A1A2為待定系數)。在2中出現了兩個未知數,t1t2可以通過的兩根來確定。例5:計算階行列式解:把第一行展開得,即(六)加邊法有時為了計算行列式,特意把等階的行列式增加一行一列變?yōu)殡A行列式,再通過性質化簡算出結果,這種方法稱為加邊法或升階法。當然,加邊后必須是保值的,而且要使所得的高一階行列式較易計算。例6:計算,其中.解:加邊得加邊法最大的特點就是要找出每行或每列相同的因子,那么升階之后,就可利用的性質把絕大部分元素化為零,然后再化為三角形行列式,這樣就達到了簡化計算的效果。五、運用MATLAB來解決行列式的問題我們知道,線性代數是基于矩陣的運算,而MATLAB語言就是一門矩陣運算語言,因此,MATLAB提供了求解線性代數問題的強大功能,可以很方便的求解線性代數中的復雜問題。當行列式的行和列相同時,就可以運用MATLAB進行矩陣的行列式操作。我們在計算行列式的過程中,對于一些階數較高,計算化解比較復雜的行列式,很難準確判斷解決該行列式應運用哪種計算方法較為簡便,這時我們可以運用強大地MATLAB計算功能,來幫助我們確定該行列式的類型判斷是否準確。由于MATLAB已經提供了det函數來求矩陣的行列式的值,但是針對一些比較有特點的行列式,我們選擇針對該類型行列式的計算語句來計算,會表現的更加迅速,快捷。這樣我們就可以通過計算的快慢來幫助我們驗證對于該行列式我們所選取的計算方法是否準確。通過實驗,我們得出以下四種方法的計算程序,第一種是用matlab的矩陣計算語句計算,即用det函數來計算;第二種是化行列式為上三角行列式進行計算;第三種是用按行展開降階的方法計算;第四種是從定義出發(fā)計算。以下即為該運算過程的詳細程序。程序functionhnaglieshiclc;A=input('輸入矩陣:')[m,n]=size(A);fp=fopen('E:\data.txt','wt+');%在E盤創(chuàng)建并打開txt文本fprintf(fp,'%g',A);fclose(fp);ifm~=ndisp('error!行列不相等');elsejieshu=m%輸出矩陣的階數disp('*********計算行列式*********');%選擇菜單disp('1、用matlab的矩陣計算語句計算');disp('2、上三角行列式進行計算');disp('3、遞歸方式計算');disp('4、定義計算');disp('5、退出');globalywhile6num=input('選擇求解行列式的方法:');switchnumcase1y=yujujisuan(A,n)case2y=triangle(A,n)case3y=f(A)case4y=dingyi(A)case5break;otherwisedisp('輸入錯誤,請重新輸入!');endfp=fopen('data.txt','at+');%結果輸出到一個文本文件中存盤fprintf(fp,'%d',y);fclose(fp);endendend%==========================================用matlab的矩陣計算語句計算functiony=yujujisuan(A,n)y=det(A);end%==========================================化行列式為上三角行列式進行計算functiony=triangle(A,n)an=0;fori=1:nb=0;forj=i:nifb<abs(A(j,i))b=abs(A(j,i));r=j;endendifr>ic=A(i,:);A(i,:)=A(r,:);A(r,:)=c;an=an+1;endfork=i+1:nA(k,:)=A(k,:)-(A(k,i)/A(i,i))*A(i,:);endendline=diag(A)';y=(-1).^an*prod(line);end%=====================================按行展開降階的方法(用遞歸方式)計算functiony=f(A)[n,n]=size(A);y=0;ifn==1y=A;elseforj=1:ny=y+A(1,j)*(-1)^(j+1)*f(A(2:n,setdiff(1:n,j)));endendend%===========================================定義計算functiony=dingyi(A)n=size(A);B=perms(1:n);%排列[s,m]=size(B);%排列種類sD1=0;fort=1:sa1=1;

溫馨提示

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

評論

0/150

提交評論