数值分析作业

发布 2022-08-27 20:44:28 阅读 1477

刘涌。1. 算法的设计方案。

2. 全部源程序(要求注明主程序和每个子程序的功能)。

3. 用各种积分方法求出的数值解及节点的值。

4. 在同一坐标系内画出积分方程精确解的曲线和用各种积分方法求出的数值解的曲线。

5. 讨论不同积分法的优劣。

设在区间[a,b]上有二阶连续导数,取等距节点。

复化梯形公式。

其求积系数总满足。

对于问题中所给积分方程中的积分项,分别用复化梯形积分法的数值积分算法公式展开,得到含有未知数u(x)和x的方程,有如下形式:

再将各个方程积分节点带入各个方程,得到的(n+1)阶方程组。由于对角元素绝对占优,用gauss消去法解该方程组即可。

由于节点数目未知,需要进行迭代确定,每迭代一次,需要判断是否满足精度要求,节点数目增加,然后再进行。

设在区间[a,b]上有二阶连续导数,取2m+1个等距节点。

复化simpson公式为。

其求积系数总满足。

复化simpson积分法计算量较小,可以直接每次增加2个节点(区间必需取偶数)。

本题中采用下列公式。

若记,,积分区间在[a,b],其相应的正交多项式是ledendre多项式,其形式为如上求积公式,查表得n=ng时的积分节点及求积系数。

求解得ng个差值节点的值。

#include<>

#include<>

#include ""

#define n 2601

#define m 39

#define ng 9

double a1[n+1][n+1],g1[n+1],x1[n+1],u1[n+1];

file *fp;

/n:复化梯形计算的节点数:n+1

/m:复化simpson算法节点数:2*m+1

/ng:gauss算法节点数:ng

void gsxy(n)

/列主元素的gauss消去法求解线性方程组,用于梯形法中方程组的求解。

int n;

double fhtix()

/复合梯形法求解,因为计算量大,数组采用全局变量的形式存储,返回误差值,结果存入f:\\

for(i=0;i a1[i][i]=1.0+a1[i][i];

/ lu(a1,g1,n+1,u1);

gsxy(n);

er=0.0;

for(i=1;ier=er+(exp(4*x1[i])-u1[i])*exp(4*x1[i])-u1[i]);

er=er*h;

er=er+h*(exp(4*x1[0])-u1[0])*exp(4*x1[0])-u1[0])/2.0;

er=er+h*(exp(4*x1[n])-u1[n])*exp(4*x1[n])-u1[n])/2.0;

fprintf(fp,"梯形解法: error is:%.8e",er);

fputs("差值点,计算值,真实值",fp);

for(i=0;i fprintf(fp," f,%f,%f",x1[i],u1[i],exp(4*x1[i]))

return(er);

void lu(a,b,n,x)

double a,b,x;

int n;

*doolittle法解线性方程组,用于simpson和gauss方法中线性方程组的求解*/

for(k=1;k

y[0]=b[0];

for(i=1;i

x[n-1]=y[n-1]/u[(n-1)*n+n-1];

for(i=n-2;i>=0;i--)

free(l);

free(u);

free(y);

return;

double fhsimpson(double u[2*m+1])

/复合simpson求解,返回误差值,结果存入f:\\

double x[2*m+1],a[2*m+1][2*m+1],g[2*m+1],h,er;

int i,j;

h=1/(double)m;

for(i=0;i<(2*m+1);i++)

x[i]=-1.0+h*(double)i;

for(i=0;i<(2*m+1);i++)

g[i]=exp(4*x[i])+exp(x[i]+4)-exp(-1.0*(x[i]+4)))x[i]+4);

数值分析作业

12.求在 0,1 上的一次最佳平方逼近多项式与二次最佳平方逼近多项式。函数 function s zjpfbj n,a,b 创建一个函数,里面填入次数,和区间范围。base inline x j 1 x j 定义多项式。quan inline 1 x 权函数。a zeros n 1 y zeros...

数值分析作业

实验2.2算法设计与比较。实验目的 编制不同方法的matlab程序,这些方法的计算效果和特点。问题提出 非线性方程的数值解法很多,不同的方法效果如何,要靠计算的实践来分析 比较。实验内容 考虑下列算法 1 牛顿法 2 弦割法 3 抛物线法。分别编写它们的matlab程序。牛顿法程序 function...

数值分析作业

数值分析上机作业。zhh mushan 班级 土木工程一班。姓名 赵惠惠。班级 2010510359 二零一一年六月 舍入误差与有效数。一 问题说明。1 设,其精确值为。1 编制按从小到大的顺序计算通用程序。2 编制按从小到大的顺序计算通用程序。3 按两种顺序分别计算并指出有效位数。编制程序用单精度...