雙曲方程基于matlab的數(shù)值解法_第1頁
雙曲方程基于matlab的數(shù)值解法_第2頁
雙曲方程基于matlab的數(shù)值解法_第3頁
雙曲方程基于matlab的數(shù)值解法_第4頁
雙曲方程基于matlab的數(shù)值解法_第5頁
全文預覽已結束

下載本文檔

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

文檔簡介

./雙曲型方程基于MATLAB的數(shù)值解法〔數(shù)學1201,曉云,41262022一:一階雙曲型微分方程的初邊值問題精確解為二:數(shù)值解法思想和步驟2.1:網(wǎng)格剖分為了用差分方法求解上述問題,將求解區(qū)域作剖分。將空間區(qū)間作等分,將時間區(qū)間作等分,并記。分別稱和為空間和時間步長。用兩簇平行直線將分割成矩形網(wǎng)格。2.2:差分格式的建立2.2.1:Lax-Friedrichs方法對時間、空間采用中心差分使得則由上式得到Lax-Friedrichs格式截斷誤差為所以Lax-Friedrichs格式的截斷誤差的階式令:則可得差分格式為其傳播因子為:化簡可得:所以當時,,格式穩(wěn)定。*2.2.2:LaxWendroff方法用牛頓二次插值公式可以得到LaxWendroff的差分格式,在此不詳細分析,它的截斷誤差為,是二階精度;當時,,格式穩(wěn)定。在這里主要用它與上面一階精度的Lax-Friedrichs方法進行簡單對比。2.3差分格式的求解因為時格式穩(wěn)定,不妨取,則s=0.9差分格式寫成如下矩陣形式:則需要通過對k時間層進行矩陣作用求出k+1時間層。對上面的矩陣形式通過matlab編出如附錄的程序求出數(shù)值解、真實解和誤差。2.5算法以及結果function[PUExt]=PDEHyperbolic<uX,uT,M,N,C,type>formatlong%一階雙曲型方程的差分格式%[PUExt]=PDEHyperbolic<uX,uT,M,N,C,phi,psi1,psi2,type>%方程:u_t+C*u_x=00<=t<=uT,0<=x<=uX%初值條件:u<x,0>=phi<x>%輸出參數(shù):U-解矩陣%x-橫坐標%t-縱坐標,時間%輸入?yún)?shù):uX-變量x的上界%uT-變量t的上界%M-變量x的等分區(qū)間數(shù)%N-變量t的等分區(qū)間數(shù)%C-系數(shù)%phi-初值條件函數(shù),定義為聯(lián)函數(shù)%psi1,psi2-邊值條件函數(shù),定義為聯(lián)函數(shù)%type-差分格式,從下列值中選取%-type='LaxFriedrichs',采用Lax-Friedrichs差分格式求解%-type='LaxWendroff',采用Lax-Wendroff差分格式求解h=uX/M;%變量x的步長k=uT/N;%變量t的步長r=k/h;%步長比x=<0:M>*h;t=<0:N>*k;U=zeros<M+1,N+1>;%初值條件fori=1:M+1U<i,1>=cos<pi*x<i>>;P<i,1>=cos<pi*x<i>>;E<i,1>=0;end%邊值條件forj=1:N+1U<1,j>=cos<pi*t<j>>;E<1,j>=0;P<1,j>=cos<pi*t<j>>;U<M+1,j>=-cos<pi*t<j>>;P<M+1,j>=-cos<pi*t<j>>;E<M+1,j>=0;endswitchtypecase'LaxFriedrichs'ifabs<C*r>>1disp<'|C*r|>1,Lax-Friedrichs差分格式不穩(wěn)定!'>end%逐層求解forj=1:Nfori=2:MU<i,j+1>=<U<i+1,j>+U<i-1,j>>/2-C*r*<U<i+1,j>-U<i-1,j>>/2;P<i,j+1>=cos<pi*<x<i>+t<j+1>>>;E<i,j+1>=abs<U<i,j+1>-cos<pi*<x<i>+t<j+1>>>>;endend%Lax-Wendroff差分格式case'LaxWendroff'ifabs<C*r>>1disp<'|C*r|>1,Lax-Wendroff差分格式不穩(wěn)定!'>end%逐層求解forj=1:Nfori=2:MU<i,j+1>=U<i,j>-C*r*<U<i+1,j>-U<i-1,j>>/2+C^2*r^2*<U<i+1,j>-2*U<i,j>+U<i-1,j>>/2;P<i,j+1>=cos<pi*<x<i>+t<j+1>>>;E<i,j+1>=abs<U<i,j+1>-cos<pi*<x<i>+t<j+1>>>>;endendotherwisedisp<'差分格式類型輸入有誤!'>return;endU=U';P=P';E=E';%作出圖形精確解mesh<x,t,P>;title<'一階雙曲型方程的精確解圖像'>;xlabel<'空間變量x'>;ylabel<'時間變量t'>;zlabel<'一階雙曲型方程的解P'>%作出圖形數(shù)值解mesh<x,t,U>;title<[type'格式求解一階雙曲型方程的解的圖像']>;xlabel<'空間變量x'>;ylabel<'時間變量t'>;zlabel<'一階雙曲型方程的解U'>return;命令窗口輸入:>>uX=1;uT=1;M=90;N=100;C=-1;phi=inline<'cos<pi*x>'>;psi1=inline<'cos<pi*t>'>;psi2=inline<'-cos<pi*t>'>;type='LaxFriedrichs'或type='LaxWendroff';>>[PUExt]=PDEHyperbolic<uX,uT,M,N,C,type>從matlab的數(shù)值解法結果中抽出一部分數(shù)據(jù)進行比較表1LaxFriedrichs格式jk〔x,t數(shù)值解真實解誤差4611<0.5,0.1>-0.308981-0.3090170.0000364621<0.5,0.2>-0.587647-0.5877850.0001384631<0.5,0.3>-0.808731-0.8090170.0002864641<0.5,0.4>-0.950609-0.9510560.0004484651<0.5,0.5>-0.999409-1.0000000.0005914661<0.5,0.6>-0.950496-0.9510570.0005604671<0.5,0.7>-0.808539-0.8090170.0004784681<0.5,0.8>-0.587437-0.5877850.0003484691<0.5,0.9>-0.308833-0.3090170.00018446101<0.5,1.0>-0.000002-0.0000000.000002表2LaxWendroff格式jk〔x,t數(shù)值解真實解誤差4611<0.5,0.1>-0.309005-0.3090170.0000124621<0.5,0.2>-0.587765-0.5877850.0000204631<0.5,0.3>-0.808995-0.8090170.0000224641<0.5,0.4>-0.951040-0.9510560.0000164651<0.5,0.5>-0.999999-1.0000000.0000014661<0.5,0.6>-0.951074-0.9510570.0000174671<0.5,0.7>-0.809051-0.8090170.0000344681<0.5,0.8>-0.587833-0.5877850.0000484691<0.5,0.9>-0.309074-0.3090170.00005746101<0.5,1.0>-0.000006-0.0000000.000006備注:本來

溫馨提示

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

最新文檔

評論

0/150

提交評論