(偏微分课设.docxVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(偏微分课设

一维热传导方程问题介绍考虑一维热传导方程:(1) 其中a是正常数,是给定的连续函数。按照定解条件的不同给法,可将方程(1)的定解问题分为两类:第一类、初值问题(也称Cauthy问题):求具有所需次数偏微商的函数,满足方程(1)()和初始条件:(2) 第二类、初边值问题(也称混合问题):求具有所需次数偏微商的函数,满足方程(1)()和初始条件:(3)及边值条件(4) 假定在相应区域光滑,并且在满足相容条件,使上述问题有唯一充分光滑的解。区域剖分考虑边值问题(1),(4)的差分逼近。去空间步长和时间步长,其中N,M都是正整数。用两族平行直线:将矩形域分割成矩形网格,网格节点为。以表示网格内点集合,即位于开矩形G的网点集合;表示所有位于闭矩形的网点集合;=--是网格界点集合。离散格式第k+1层值通过第k层值明显表示出来,无需求解线性代数方程组,这样的格式称为显格式。第k+1层值不能通过第k层值明显表示出来,而由线性代数方程组确定,这样的格式称为隐格式。显格式。第k+1层值不能通过第k层值明显表示出来,而由线性代数方程组确定,这样的格式称为隐格式。向前差分格式(5), , ,其中j = 1,2,…,N-1,k = 1,2,…,M-1。以表示网比。则方程(5)可以改写为:易知向前差分格式是显格式。向后差分格式(6), ,其中j = 1,2,…,N-1,k = 1,2,…,M-1,易知向前差分格式是显格式。六点对称格式(Grank-Nicolson格式)将向前差分格式和向后差分格式作算术平均,即得到六点对称格式:(7) =利用和边值便可逐层求到。六点对称格式是隐格式,由第k层计算第k+1层时需解线性代数方程组(因系数矩阵严格对角占优,方程组可唯一求解)。将其截断误差于(=)展开,则得= 。Richardson格式(8) ,或(9)。这是三层显示差分格式。截断误差阶为。为了使计算能够逐层进行,除初值外,还要用到,这可以用前述二层差分格式计算(为保证精度,可将[0,]分成若干等份)。格式稳定性通过误差估计方程(1) 可知对任意的r ,Richardson格式都不稳定,所以Richardson格式绝对不稳定。(2) 当时,向前差分格式趋于稳定;当时,向前差分格式的误差无限增长。因此向前差分格式是条件稳定。(3) 向后差分格式和六点对称格式都绝对稳定,且各自的截断误差阶分别为和。五、 数值例子 令f(2)=0 ,a 从函数中输入 u(x,t)=1-x; 其边值条件u(o,t)=1,u(1,t)=0用的是Richardson格式 程序代码: #includeiostream#define Max_size 1000 using namespace std;double v[Max_size][Max_size],u[Max_size][Max_size], exc[Max_size][Max_size], a[Max_size], c[Max_size],f[Max_size],b[Max_size], y[Max_size],beta[Max_size],Err[Max_size]; int n, m; double Realvalue(double a) { double c; return c=1-a; }void catchup(){int i;beta[1]=c[1]/b[1];for(i=2;in;i++)beta[i]=c[i]/(b[i]-a[i]*beta[i-1]);y[1]=f[1]/b[1];for(i=2;i=n;i++)y[i]=(f[i]-a[i]*y[i-1])/(b[i]-a[i]*beta[i-1]);u[n][1]=y[n];for(i=n-1;i0;i--)u[i][1]=y[i]-beta[i]*u[i+1][1];} int main(){double h,t,r,f1;cout 请输入 n 地值 endl;cinn;cout 请输入 m 的值 endl;cinm;cout 请输入网格比系数 a 的值 endl;cinf1;h=1.0/(n+1);t=1.0/(m+1);r=(f1*t)/(h*h);for(int k=0; km+1;k++) for(int j=1; j=n+1;j++) v[j][k]=Realvalue(j*h);//真实值 for(int i=0;i=n+1;i++)//初值条件{u[i][0]=Realvalue(i*h); } for(k=0;k=m+1;k++)//边值条件{u[0][k]=Realvalue(k*t);u[n+1][k]=Realvalue((n+1)*h+k*t);} b[1]=1+r; c[1]=-r/2;a[n]=-r/2;b[n]

文档评论(0)

xedake873 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档