資源描述:
《數(shù)值計算與MATLAB課件MATLAB數(shù)值計算-第1章-MATLAB介紹.docx》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、MATLAB數(shù)值計算(讀書日記及程序編寫)第一章MATLAB介紹2第一章目錄第二章MATLAB介紹2#對任意次方的方程求解的推廣:3#用Solve函數(shù)求解方程解4#定義一個函數(shù),通過畫圖的方式求解5#矩陣的幾個基本量的操作13第一章MATLAB介紹黃金分割點MatLab程序#直接求黃金分割點:phi=(1+sqrt(5))/2phi=1.6180#.變成長位求黃金分割點:fortmatlongphiphi=1.618033988749895(2013-06-18:課題提問:為什么同樣的文件可以存在32位的系統(tǒng),64位的系統(tǒng)中不
2、需要改變。一個移動硬盤可以掛在32位系統(tǒng)下,也可以掛在64位系統(tǒng)下。)任意步長:vpa(phi,50)#通過求解方程來求解:黃金分割定義來源于黃金矩形,一個矩形中間去除一個正方形,剩下的小的長方形還是和原來的長方形相似,就是一個數(shù)假設(shè)為1,分成兩半x和1-x,xyx-y也就是x:y=y:(x-y)求解為:定義向量P=[1-11]這代表多項式>>p=[1-1-1]p=1-1-1>>r=roots(p)r=-0.6180339887498951.618033988749895#對任意次方的方程求解的推廣:我們可以任意的擴展一個方程
3、求它的解p=[1234-1-12]p=1234-1-12>>r=roots(p)r=-0.196827012608535+1.689323166417738i-0.196827012608535-1.689323166417738i-1.590736107632120-1.0000000000000020.492195066424597+0.438639690146437i0.492195066424597-0.438639690146437i帶入-1進入,發(fā)現(xiàn)是滿足條件的還可以帶入復(fù)數(shù)的根,看是否是滿足條件的:>>p=0.4
4、92195066424597-0.438639690146437ip=0.492195066424597-0.438639690146437i>>p^6+2*p^5+3*p^4+4*p^3-p^2-p+2ans=0+1.443289932012704e-015i可見這是滿足條件的。#分形蕨的圖案直接執(zhí)行在默認目錄下的fern.m文件即可#用Solve函數(shù)求解方程解r=solve('1/x=x-1')r=5^(1/2)/2+1/21/2-5^(1/2)/2pretty函數(shù)能將結(jié)果顯示優(yōu)化pretty(r)其實就是#定義一個函數(shù),
5、通過畫圖的方式求解f=inline('1/x-(x-1)');>>ff=Inlinefunction:f(x)=1/x-(x-1)>>ezplot(f,0,4)phi=fzero(f,1)這是在x=1附近尋找函數(shù)f(x)為0的解,phi=1.6180holdonplot(phi,0,'o')holdonplot(phi,0,'o')#浮點數(shù)表示對于二進制的浮點數(shù)而言表示為:規(guī)定的IEEE雙精度,對于必須用最多52位的二進制表示,這是表示了精度的限制指數(shù)e的范圍如下,這是范圍上的限制雙浮點數(shù)存在一個64位的字中,52位存f(表示
6、小數(shù)精度),11位存e(表示數(shù)的范圍),1位表示為整個數(shù)的正負,舍入誤差最小級別的浮點數(shù)是(eps):a=2^(-52)a=2.220446049250313e-016對比后可見是一樣的epsans=2.220446049250313e-016表示的最小的浮點數(shù)realminrealminans=2.2251e-308a=2^(-1022)a=2.2251e-308最大的浮點數(shù)Realmax(2-eps)*2^1023#十進制轉(zhuǎn)換成二進制命令dec2bin(5)ans=101但是這個只能是整數(shù)的轉(zhuǎn)換而已,#浮點運算的誤差影響實
7、例-求解線性方程組可以看出,這兩個公式是同樣的,應(yīng)該是沒有解的,然而執(zhí)行下面的指令,在Matlab下竟然解出來了,不過Matlab也告訴你,這可能是一個奇異的誤差很大的數(shù)。>>A=[175;1.70.5]A=17.0000000000000005.0000000000000001.7000000000000000.500000000000000>>b=[22;2.2]b=22.0000000000000002.200000000000000>>x=AbWarning:Matrixisclosetosingularorbadl
8、yscaled.Resultsmaybeinaccurate.RCOND=3.265362e-018.x=-1.0588235294117658.000000000000000#多項式的描繪(浮點運算的誤差影響)x=0.988:.0001:1.012;y=x.^7-7*x.^