当前位置: 首页 > news >正文

做网站策划计划书正规东莞网站建设

做网站策划计划书,正规东莞网站建设,上海网站建设服务宁德,网站建设是自己做好还是外包目录 一、研究目标 二、理论推导 三、算例实现 四、结论 一、研究目标 我们在前几节中介绍了Poisson方程的边值问题#xff0c;接下来对椭圆型偏微分方程的混合边值问题进行探讨#xff0c;研究对象为#xff1a; 其中#xff0c;为矩形区域#xff0c;为上的连续函数…目录 一、研究目标 二、理论推导 三、算例实现 四、结论 一、研究目标 我们在前几节中介绍了Poisson方程的边值问题接下来对椭圆型偏微分方程的混合边值问题进行探讨研究对象为 其中为矩形区域为上的连续函数是上的单位法向量从而表示方向导数为的连续函数且非负。对于矩形区域而言其边界上的法向量没有统一的表达式需要对四条边界线段分别讨论。可见 在左边界边界条件为 在右边界边界条件为 在下边界边界条件为 在上边界边界条件为。 于是公式1可以具体写为 二、理论推导 首先进行矩形区域的等距剖分得到各网格节点且。然后弱化原方程使其仅在离散节点上成立从而有 将上式中的一阶、二阶偏导数分别用关于一阶导数的中心差商和关于二阶导数的中心差商来近似得 用数值解代替精确解并忽略高阶项得到以下数值格式 其中。该格式的局部截断误差为同时需要处理其中的下标越界问题。由于函数的连续性我们认为公式2中的第1式对i0也成立即有 再成公式2的第2式中解出代入上式得 同样设公式2中的第1式分别对成立再分别从公式2的第3、4、5式中解出代入前面刚得到的方程就可以处理掉越界下标得到以下格式 至此我们共有m1xn1个待求量,而现有m-1xn-1个关于内节点的方程2n-1个关于左、右边界上的节点不含端点的方程及2m-1个关于上、下边界上的节点也不含端点的方程还需要补充 个方程也就是关于矩形区域的4个顶点的方程。为此设公式2中第1式对成立即 然后再从公式2的第2式和第4式中分别解出和代入公式3中得到左下顶点处的方程 上式可以简化为 同样设公式2中第1式分别对、和成立然后再从公式2中第3式和第4式解出分别代入刚才得到的3个方程就得到的右下顶点、左上顶点、和右上顶点处的方程这样我们就有了完整的处理带导数边界条件的椭圆型方程的数值格式 记有 为计算分别可将上述方程组写成矩阵形式。 首先将公式4中第4、6、7式写成 上面的式子可以简记为 其中为m1阶单位矩阵且C为公式5最左端的三对角矩阵为公式5右端的向量。接着公式4中的第1,2,3式可以写成 , 该式可以简记为 其中为公式6中的三对角矩阵为公式6右端的向量。最后公式4的第5、8、9式可以写成 该式可以简记为 其中D为公式7中的三对角矩阵为公式7右端的向量。于是由公式5、6、7可得到公式4写成块三对角矩阵为 采用Gauss-Seidel迭代法求解公式8。 三、算例实现 用差分格式-公式8求解椭圆型方程混合边值问题 已知精确解为。分别取步长为和输出6个节点和处的数值解并给出误差要求在各节点处最大误差的迭代误差限为。 代码如下 #include cmath #include stdlib.h #include stdio.h #define pi 3.14159265359int main(int argc, char*argv[]) {int m,n,i,j,k;double xa,xb,ya,yb,dx,dy,alpha,beta,gamma,maxerr;double *x,*y,**u,**v,**lambda,*d,kexi,eta,temp;double f(double x, double y);double lambda_function(double x, double y);double phi1(double y);double phi2(double y);double psi1(double x);double psi2(double x);double exact(double x, double y);xa0.0;xb2.0;ya0.0;yb1.0;m64;n32;printf(m%d,n%d.\n,m,n);dx(xb-xa)/m;dy(yb-ya)/n;beta1.0/(dx*dx);gamma1.0/(dy*dy);alpha2*(betagamma);kexi2.0/dx;eta2.0/dy;x(double*)malloc(sizeof(double)*(m1));for(i0;im;i)x[i]xai*dx;y(double*)malloc(sizeof(double)*(n1));for(j0;jn;j)y[j]yaj*dy;u(double**)malloc(sizeof(double*)*(m1));v(double**)malloc(sizeof(double*)*(m1));lambda(double**)malloc(sizeof(double*)*(m1));for(i0;im;i){u[i](double*)malloc(sizeof(double)*(n1));v[i](double*)malloc(sizeof(double)*(n1));lambda[i](double*)malloc(sizeof(double)*(n1));}for(i0;im;i){for(j0;jn;j){u[i][j]0.0;v[i][j]0.0;lambda[i][j]lambda_function(x[i],y[j]);}}d(double*)malloc(sizeof(double)*(m1));k0;do{maxerr0.0;for(i0;im;i)d[i]f(x[i],y[0])-eta*psi1(x[i]);d[0]d[0]-kexi*phi1(y[0]);d[m]d[m]kexi*phi2(y[0]);v[0][0](d[0]2*gamma*u[0][1]2*beta*u[1][0])/(alpha(kexieta)*lambda[0][0]);for(i1;im;i)v[i][0](d[i]2*gamma*u[i][1]beta*(v[i-1][0]u[i1][0]))/(alphaeta*lambda[i][0]);v[m][0](d[m]2*gamma*u[m][1]2*beta*v[m-1][0])/(alpha(kexieta)*lambda[m][0]);for(j1;jn;j){for(i0;im;i){d[i]f(x[i],y[j]);}d[0]d[0]-kexi*phi1(y[j]);d[m]d[m]kexi*phi2(y[j]);v[0][j](d[0]gamma*(u[0][j1]v[0][j-1])2*beta*u[1][j])/(alphakexi*lambda[0][j]);for(i1;im;i){v[i][j](d[i]gamma*(v[i][j-1]u[i][j1])beta*(v[i-1][j]u[i1][j]))/alpha;}v[m][j](d[m]gamma*(v[m][j-1]u[m][j1])2*beta*v[m-1][j])/(alphakexi*lambda[m][j]);}for(i0;im;i)d[i]f(x[i],y[n])eta*psi2(x[i]);d[0]d[0]-kexi*phi1(y[n]);d[m]d[m]kexi*phi2(y[n]);v[0][n](d[0]2*gamma*v[0][n-1]2*beta*u[1][n])/(alpha(kexieta)*lambda[0][n]);for(i1;im;i)v[i][n](d[i]2*gamma*v[i][n-1]beta*(v[i-1][n]u[i1][n]))/(alphaeta*lambda[i][n]);v[m][n](d[m]2*gamma*v[m][n-1]2*beta*v[m-1][n])/(alpha(kexieta)*lambda[m][n]);for(i0;im;i){for(j0;jn;j){tempfabs(u[i][j]-v[i][j]);if(tempmaxerr)maxerrtemp;u[i][j]v[i][j];}}kk1;}while((maxerr0.5*1e-10)(k1e8));printf(k%d\n,k);km/4;for(ik;im;iik){printf((%.2f,0.25), y%f, err%.4e.\n,x[i],u[i][n/4],fabs(exact(x[i],y[n/4])-u[i][n/4]));}km/4;for(ik;im;iik){printf((%.2f,0.50), y%f, err%.4e.\n,x[i],u[i][n/2],fabs(exact(x[i],y[n/2])-u[i][n/2]));}for(i0;im;i){free(u[i]);free(v[i]);free(lambda[i]);}free(u);free(v);free(lambda);free(x);free(y);free(d);return 0; }double f(double x, double y) {return (pi*pi-1)*exp(x)*sin(pi*y); } double lambda_function(double x, double y) {return x*xy*y; } double phi1(double y) {return (1-y*y)*sin(pi*y); } double phi2(double y) {return (5.0y*y)*exp(2.0)*sin(pi*y); } double psi1(double x) {return pi*exp(x); } double psi2(double x) {return -pi*exp(x); } double exact(double x, double y) {return exp(x)*sin(pi*y); } 当时计算结果如下 m32,n16. k4323 (0.50,0.25), y1.152179, err1.3643e-02. (1.00,0.25), y1.911016, err1.1100e-02. (1.50,0.25), y3.162159, err6.8738e-03. (0.50,0.50), y1.638607, err1.0115e-02. (1.00,0.50), y2.711255, err7.0265e-03. (1.50,0.50), y4.479936, err1.7526e-03. 当时计算结果如下 m64,n32. k16007 (0.50,0.25), y1.162412, err3.4097e-03. (1.00,0.25), y1.919341, err2.7745e-03. (1.50,0.25), y3.167313, err1.7193e-03. (0.50,0.50), y1.646193, err2.5286e-03. (1.00,0.50), y2.716524, err1.7575e-03. (1.50,0.50), y4.481249, err4.3972e-04. 四、结论 从计算结果可知当步长减小为1/2时误差减小为原来的1/4可见该数值格式是二阶收敛的。
http://www.dnsts.com.cn/news/193846.html

相关文章:

  • 织梦响应式网站模板沈阳网站制作策划
  • 游戏模型外包网站服务公司商标
  • 网站建设会计帐务处理浙江省建设职业注册中心网站
  • 网站改版公司制作个网站
  • 企业网站的建立要做的准备深圳网站定制深圳网站建设公司
  • 怀化同城网站百度小程序注册流程
  • 网站建设课程下载免费发布信息网站平台
  • 网站开发通用流程孟村网站建设价格
  • 备案期间网站能访问吗推广方式是什么意思
  • 怎么制作网站教程图片北镇建设局网站
  • 怎么在word里做网站怎么编程做一个小游戏
  • 兰州市建设局官方网站济南网站建设方案服务
  • 郑州专业网站建设公司首选网站域名变更怎么查
  • 360网站咋做西安模板建网站
  • 成都网站建设工作新浪云建设自己的网站
  • 塑料瓶手工制作大全泊头网站优化
  • 网站推广页面 英语三门峡市建设局网站
  • 做单位网站的公司吗腾讯云部署wordpress
  • 智能手表网站wordpress修改源代码
  • 十大免费网站免费下载软件有口碑的南昌网站建设
  • 潍坊网站建设咨询广东省建设工程交易中心网站
  • 网站开发课设报告书wordpress接入对象存储
  • qq直接登录网站无需下载百度网页版官网
  • 如何用VS2017做网站哈尔滨网站建设价格
  • 网站开发专业优势门户网站综合型门户
  • 江苏电商网站开发wordpress数据查询主题
  • 专门做网站需要敲代码么手机网页打不开是什么原因
  • 电商购物网站开发需求分析网络管理系统中驻留在被管对象
  • 苏州网站建设自学苏州知名网站建设公司排名
  • 网络营销型网站建设的内容招网站建设销售