数值方法上机作业

发布 2022-09-05 09:45:28 阅读 7992

(1)列主元素消去法求解线性方程:

#include

#include

#define n 20

using namespace std;

void load();

float a[n][n];

int m;

int main() 将列最大数防在对角线上*/

for(p=0;p cout< cout< for(k=i+1;k

l[k][i]=a[k][i]/a[i][i];

for(r=i;r a[k][r]=a[k][r]-l[k][i]*a[i][r];

x[m-1]=a[m-1][m]/a[m-1][m-1];

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

cout<<"该方程组的解为:"

return 0;

void load()

int i,j;

for(i=0;ifor(j=0;jcin>>a[i][j];

运行结果:下面请输入未知数的个数m=3

请按顺序输入增广矩阵a:

0 -1.86265e-008 -0.115385 3.92308

该方程组的解为:

x[0]=-9.99999 x[1]=58 x[2]=-34 press any key to continue

总结:列主元素消去法的目的是为了防止减去一个较小的数时大数淹没小数,而使结果产生较大误差,本程序关键在每次消元时找到相应列中的最大项,然后交换两行位置,在进行计算。

1)拉格朗日差值多项式;

#include<>

#include<>

#define max 100

void main()

int i,j,k,m,n,n,mi;

float tmp,mx;

float x[max][max],y[max],x[max],y[max],a[max];

printf(" 输入拟合多项式的次数:");

scanf("%d",&m);

printf(" 输入给定点的个数n及坐标(x,y):");

scanf("%d",&n);

printf("");

for(i=0;i scanf("%f,%f",&x[i],&y[i]);

for(i=0;i<=m;i++)

for(i=0;i<=m;i++)

for(j=0;j

if(jtmp=y[j];

y[j]=y[mi];

y[mi]=tmp;

for(k=j;k<=m;k++)

tmp=x[j][k];

x[j][k]=x[mi][k];

x[mi][k]=tmp;

for(i=j+1;i<=m;i++)

a[m]=y[m]/x[m][m];

for(i=m-1;i>=0;i--)

printf(" 所求的二次多项式为:");

printf("p(x)=%f",a[0]);

for(i=1;i<=m;i++)

printf("+f)*x^%d",a[i],i);

运行结果:输入拟合多项式的次数:

输入给定点的个数n及坐标(x,y):

所求的二次多项式为:

p(x)=1.980417+(0.282759)*x^1+(-0.299937)*x^2+(0.022071)*x^3+(0.016624)*x^4+(-0.0

01934)*x^5press any key to continue

总结:拉格朗日计算公式中,只需要知道各个点即可。

数值计算方法上机作业

地球科学与技术学院地球探测与信息技术研11 6班孙殿强s1 实验2.1迭代法 初始值与收敛性。实验目的 初步认识非线性问题的迭代法与线性问题的迭代法的差别,迭代法及初始值与迭代收敛性的关系。问题提出 迭代法是求解非线性方程 组 的基本方法,与线性方程的情况一样,其构造方法多种多样,但关键是怎样才能使...

数值分析上机作业

一。上机作业任务一 用五点差分格式求解poisson方程边值问题,p 任选一题 二。上机作业任务二 用simpson求积法计算定积分。下面两种方法任选一。1 变步长复化simpson求积法2 自适应simpson求积法。三。上机作业任务三 用matlab语言编写连续函数最佳平方逼近的算法程序 函数式...

数值分析上机作业

今天的上机作业。1.lagrange 插值。给出的数值表。用lagrange 插值计算的近似值。2 newton插值。用newton插值计算x 0.41的近似值。3.插值法的全部内容。把chap 2试验。doc的全部内容作一边,粘在这个文件里 包括图形 答 插值。function f lagrang...