欢迎来到天天文库
浏览记录
ID:41478384
大小:85.08 KB
页数:15页
时间:2019-08-25
《椭圆型微分方程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、纟汐理工只联数学与计算科学学院实验报告实验项目名称所属课程名称实验类型实验日期椭圆型方程数值解微分方程数值解法验证信计0902一、实验概述:【实验目的】1掌握椭圆型方程的五点差分方法2掌握求解线性方程组的Jacobi迭代法[实验原理】【实验环境】MicrosoftVisualC++6.0二、实验内容:[实验方案】用五点差分格式的Jacobi迭代法求解单位正方形区域Q上的Laplace方程Dirichlet边值问题务茅Ogg)1ST}u(儿y)h=/(匕刃=兀2-尸【实验过程】(实验步骤、记录、数据、分析)1,部分主要算法代码:仃)Dirichlet边值、系数矩阵A以及向量序列K的初步赋
2、值for(i=0;i<=m;i++)//Dirichlet边界值{U[i][O]=f(x[i],y[O]);U[i][m]=f(x[i],y[m]);U[0][i]二f(x[O],y[i]);}for(i=O;i3、r(i=0;ivn;i++)〃将K矩阵赋值if(i==O)K[O]=U[1][O]+U[O][1];elseif(i>0&&in-m+1&&i4、)*O+l)-l]=U[m][j+l];(2)Jacobi迭代法intJacobi(inta[n][n],doubleb[n],doublex[n]){inti,j;doubleFan8;//定义向量无穷范数doublesuml,sum2;〃定义累加器intcount=0;//it数器doublex0[n],x1[n];for(i=0;i5、;j++)suml=suml+a[i-l][j-l]*xO[j-l];for(j=i+1,sum2=0;j<=n;j++)sum2=sum2+a[i-1][j-1]*xO[j-1];xl[i-l]=(b[i-l]-sum1-sum2)/a[i-1][i-1];//Jacobi迭代公式}count++;for(Fan8=fabs(xl[0]-x0[0]),i=0;ic);for(i=0;i6、回printf("Jacobi方法迭代次数为%d次!",count);retum0;}⑶Gauss_seidel迭代法仅将Jacobi迭代代码的suml=suml+a[i-ll[j-l]*xO[j-l]处改为suml=suml+a[i-l][j-l]*xl[j-l];(4)SOR迭代法intSOR(inta[n][n],doubleb[n],doublex[n]){inti,j;intcount=0;//计数器doubleFan8;//定义向虽:无穷范数doublesuml,sum2;〃定义累加器doublex0[n],xl[n];〃初值序列for(i=0;i7、[i]=l;for(i=0;i8、j-l];for(j=i,sum2=0;j<=n;j++)sum2=sum2+a[i-l][j-l]*xO9、j-l];xlfi-1]=xO[i-l]+w*(b[i-l]
3、r(i=0;ivn;i++)〃将K矩阵赋值if(i==O)K[O]=U[1][O]+U[O][1];elseif(i>0&&in-m+1&&i4、)*O+l)-l]=U[m][j+l];(2)Jacobi迭代法intJacobi(inta[n][n],doubleb[n],doublex[n]){inti,j;doubleFan8;//定义向量无穷范数doublesuml,sum2;〃定义累加器intcount=0;//it数器doublex0[n],x1[n];for(i=0;i5、;j++)suml=suml+a[i-l][j-l]*xO[j-l];for(j=i+1,sum2=0;j<=n;j++)sum2=sum2+a[i-1][j-1]*xO[j-1];xl[i-l]=(b[i-l]-sum1-sum2)/a[i-1][i-1];//Jacobi迭代公式}count++;for(Fan8=fabs(xl[0]-x0[0]),i=0;ic);for(i=0;i6、回printf("Jacobi方法迭代次数为%d次!",count);retum0;}⑶Gauss_seidel迭代法仅将Jacobi迭代代码的suml=suml+a[i-ll[j-l]*xO[j-l]处改为suml=suml+a[i-l][j-l]*xl[j-l];(4)SOR迭代法intSOR(inta[n][n],doubleb[n],doublex[n]){inti,j;intcount=0;//计数器doubleFan8;//定义向虽:无穷范数doublesuml,sum2;〃定义累加器doublex0[n],xl[n];〃初值序列for(i=0;i7、[i]=l;for(i=0;i8、j-l];for(j=i,sum2=0;j<=n;j++)sum2=sum2+a[i-l][j-l]*xO9、j-l];xlfi-1]=xO[i-l]+w*(b[i-l]
4、)*O+l)-l]=U[m][j+l];(2)Jacobi迭代法intJacobi(inta[n][n],doubleb[n],doublex[n]){inti,j;doubleFan8;//定义向量无穷范数doublesuml,sum2;〃定义累加器intcount=0;//it数器doublex0[n],x1[n];for(i=0;i5、;j++)suml=suml+a[i-l][j-l]*xO[j-l];for(j=i+1,sum2=0;j<=n;j++)sum2=sum2+a[i-1][j-1]*xO[j-1];xl[i-l]=(b[i-l]-sum1-sum2)/a[i-1][i-1];//Jacobi迭代公式}count++;for(Fan8=fabs(xl[0]-x0[0]),i=0;ic);for(i=0;i6、回printf("Jacobi方法迭代次数为%d次!",count);retum0;}⑶Gauss_seidel迭代法仅将Jacobi迭代代码的suml=suml+a[i-ll[j-l]*xO[j-l]处改为suml=suml+a[i-l][j-l]*xl[j-l];(4)SOR迭代法intSOR(inta[n][n],doubleb[n],doublex[n]){inti,j;intcount=0;//计数器doubleFan8;//定义向虽:无穷范数doublesuml,sum2;〃定义累加器doublex0[n],xl[n];〃初值序列for(i=0;i7、[i]=l;for(i=0;i8、j-l];for(j=i,sum2=0;j<=n;j++)sum2=sum2+a[i-l][j-l]*xO9、j-l];xlfi-1]=xO[i-l]+w*(b[i-l]
5、;j++)suml=suml+a[i-l][j-l]*xO[j-l];for(j=i+1,sum2=0;j<=n;j++)sum2=sum2+a[i-1][j-1]*xO[j-1];xl[i-l]=(b[i-l]-sum1-sum2)/a[i-1][i-1];//Jacobi迭代公式}count++;for(Fan8=fabs(xl[0]-x0[0]),i=0;ic);for(i=0;i6、回printf("Jacobi方法迭代次数为%d次!",count);retum0;}⑶Gauss_seidel迭代法仅将Jacobi迭代代码的suml=suml+a[i-ll[j-l]*xO[j-l]处改为suml=suml+a[i-l][j-l]*xl[j-l];(4)SOR迭代法intSOR(inta[n][n],doubleb[n],doublex[n]){inti,j;intcount=0;//计数器doubleFan8;//定义向虽:无穷范数doublesuml,sum2;〃定义累加器doublex0[n],xl[n];〃初值序列for(i=0;i7、[i]=l;for(i=0;i8、j-l];for(j=i,sum2=0;j<=n;j++)sum2=sum2+a[i-l][j-l]*xO9、j-l];xlfi-1]=xO[i-l]+w*(b[i-l]
6、回printf("Jacobi方法迭代次数为%d次!",count);retum0;}⑶Gauss_seidel迭代法仅将Jacobi迭代代码的suml=suml+a[i-ll[j-l]*xO[j-l]处改为suml=suml+a[i-l][j-l]*xl[j-l];(4)SOR迭代法intSOR(inta[n][n],doubleb[n],doublex[n]){inti,j;intcount=0;//计数器doubleFan8;//定义向虽:无穷范数doublesuml,sum2;〃定义累加器doublex0[n],xl[n];〃初值序列for(i=0;i7、[i]=l;for(i=0;i8、j-l];for(j=i,sum2=0;j<=n;j++)sum2=sum2+a[i-l][j-l]*xO9、j-l];xlfi-1]=xO[i-l]+w*(b[i-l]
7、[i]=l;for(i=0;i8、j-l];for(j=i,sum2=0;j<=n;j++)sum2=sum2+a[i-l][j-l]*xO9、j-l];xlfi-1]=xO[i-l]+w*(b[i-l]
8、j-l];for(j=i,sum2=0;j<=n;j++)sum2=sum2+a[i-l][j-l]*xO
9、j-l];xlfi-1]=xO[i-l]+w*(b[i-l]
此文档下载收益归作者所有