一、 数值求解如下正方形域上的poisson方程边值问题。
二、 二、用椭圆型第一边值问题的五点差分格式得到线性方程组为。
写成矩阵形式au=f。其中。
三 、编写求解线性方程组au=f的算法程序,用下列方法编程计算,并比较计算速度。
1. 用jacobi迭代法求解线性方程组au=f。
2. 用块jacobi迭代法求解线性方程组au=f。
3. 用sor迭代法求解线性方程组au=f,用试算法确定最佳松弛因子。
4. 用块sor迭代法求解线性方程组au=f,用试算法确定最佳松弛因子。
5. 用gauss-seidel迭代法求解线性方程组au=f。
6. 用块gauss-seidel迭代法求解线性方程组au=f。
四、上机报告要求。
1.简述方法的基本原理。
2.程序中要加注释。
3.对程序中的主要变量给出说明。
4.附原程序及计算结果。
5.迭代法效率分析:比较迭代法的效率,记录所需的迭代次数,所花费的计算时间。
6.此题可分组做,每组1-3人。需要注明每人完成的任务。
附参考程序:
1、用gauss-seidel迭代法求解线性方程组au=f,具体程序如下:
function [u,k]=xsgs(n)
f(2:n+1,2:n+1)=(n+1)^(2)*2;
u=zeros(n+2,n+2);
e=0.000000001;
for k=1:1000迭代求解。
er=0;
for j=2:n+1
for i=2:n+1
ub=u(i,j);
u(i,j)=(u(i-1,j)+u(i+1,j)+u(i,j-1)+u(i,j+1)+f(i,j))/4;
er=er+abs(ub-u(i,j估计误差。
endend
if er/n^2end
2、用块gauss-seidel迭代法求解线性方程组au=f,具体程序及结果如下:
function[u,k,]=xsbgs(n)
xsbgs:用块gauss-seidel迭代法求解线性方程组a*u=f
u: 方程组的解; k: 迭代次数; n: 非边界点数
a: 方程组系数矩阵的下对角线元素; b: 方程组系数矩阵的主对角线元素;
c: 方程组系数矩阵的上对角线元素;d: 追赶法所求方程的右端向量;
e: 允许误差界; er:迭代误差;
f=2*1/(n+1)^2*ones(n+2,n+2);
a=-1*ones(1,n); b=4*ones(1,n);c=-1*ones(1,n); u=zeros(n+2,n+2);e=0.00001;
for k=1:2000
er=0;for j=2:n+1
ub=u(:,j);
d(1:n)=f(2:n+1,j)+u(2:n+1,j-1)+u(2:n+1,j+1) ;
x=zg(a,b,c,d用追赶法求解。
u(2:n+1,j)=x';
er=er+norm(ub-u(:,j),1);
endif er/n^2end
附参考程序:解线性方程组au=f的gauss-seidel迭代法。
> n=9;
b(2:n+1,2:n+1)=0.02;
u=zeros(n+2,n+2);
e=0.000000001;
tic;for k=1:1000迭代求解。
er=0;
for j=2:n+1
for i=2:n+1
ub=u(i,j);
u(i,j)=(u(i-1,j)+u(i+1,j)+u(i,j-1)+u(i,j+1)+b(i,j))/4;
er=er+abs(ub-u(i,j估计误差。
endend
if er/n^2end
t=tocku
数值分析上机作业
一。上机作业任务一 用五点差分格式求解poisson方程边值问题,p 任选一题 二。上机作业任务二 用simpson求积法计算定积分。下面两种方法任选一。1 变步长复化simpson求积法2 自适应simpson求积法。三。上机作业任务三 用matlab语言编写连续函数最佳平方逼近的算法程序 函数式...
数值分析上机作业
今天的上机作业。1.lagrange 插值。给出的数值表。用lagrange 插值计算的近似值。2 newton插值。用newton插值计算x 0.41的近似值。3.插值法的全部内容。把chap 2试验。doc的全部内容作一边,粘在这个文件里 包括图形 答 插值。function f lagrang...
数值分析上机作业
第二次上机作业。一。任务 用matlab语言编写连续函数最佳平方逼近的算法程序 函数式m文件 并用此程序进行数值试验,写出计算实习报告。二。程序功能要求 在后面的附一的基础上进行修改,使其更加完善。要求算法程序可以适应不同的具体函数,具有一定的通用性。所编程序具有以下功能 1.用lengendre多...