用直接分解法求方程组的C语言程序,直接法解线性方程组程序.doc

本文详细介绍了如何使用C语言编程实现追赶法和高斯列主元消去法解决线性方程组。实验中,作者通过代码展示了这两种方法的具体步骤,并给出了实验结果。通过对不同方法的比较,强调了理解解法构造过程和选择合适解法的重要性,旨在提升使用计算机解决科学计算问题的能力。
摘要由CSDN通过智能技术生成

数学与计算科学学院

实 验 报 告

实验项目名称 直接法解线性方程组

所属课程名称 数值方法A

实 验 类 型 验证型

实 验 日 期 2014.11.28

班 级 信计12-

学 号 201253100

姓 名

成 绩

一、实验概述:【实验目的】

1.掌握用C语言编程实现追赶法求解三对角线性方程组;

2.掌握运用高斯列主元消去法解线性方程组;

3.加深对解线性方程组的直接法——高斯列主消元法和LU分解法的构造过程的理解;

4.熟悉并掌握各种方法的适用对象及优缺点,学会针对不同问题选择不同方法;

5.培养使用电子计算机进行科学计算和解决问题的能力。

【实验原理】

1.追赶法原理

2.高斯列主元消去法

【实验环境】

1.硬件环境

2.软件环境

(1)

(2)VC++ 6.0

二、实验内容:【实验过程】(实验步骤)

1.实验步骤

1)深入了解解题过程并依次写出解题算法;

2)依照算法用C语言编写解题程序;

3)上机时将写好的程序输入到VC++中并调试运行得出方程的解;

4)比较几种方法之间的联系与区别。

2.1追赶法

根据以上的实验原理,在VC++编辑框中输入源程序:

由原理可知:b[1]=2,c[1]=-1,f[1]=1

a[2]=-1,b[2]=2,c[2]=-1,f[2]=0

a[3]=-1,b[3]=2,c[3]=-1,f[3]=0

a[4]=-1,b[4]=2,c[4]=-1,f[4]=0

a[5]=-1,b[5]=2 ,f[5]=0

将上述系数逐个输入运行框, 并经过多次调试运行,最终运行出结果如下:

2.1 Gauss消元法

1)数据输入

main(void)

{

float A[4][4]={{0.4096,0.1234,0.3678,0.2943},

{0.2246,0.3872,0.4015,0.1129},

{0.3645,0.1920,0.3781,0.0643},

{0.1784,0.4002,0.2786,0.3927}};

float b[4]={0.4043,0.1550,0.4240,-0.2557};

float x[4]={0};

float Aik,S;

int i,j,k;

int size=4;

printf("A[][]\n");

for(i=0;i

{

for(j=0;j

printf("%f ",A[i][j]);

printf("\n");

}

printf("b[]\n");

for(i=0;i

printf("%f ",b[i]);

printf("\n\n");

2)消去过程

//消去过程

for(k=0;k

{

if(!A[k][k])

return -1;

for(i=k+1;i

{

Aik=A[i][k]/A[k][k];

for(j=k;j

{

A[i][j]=A[i][j]-Aik*A[k][j];

}

b[i]=b[i]-Aik*b[k];

}

}

//消去的结果

printf("A[]\n");

for(i=0;i

{

for(j=0;j

printf("%f ",A[i][j]);

printf("\n");

}

printf("b[]\n");

for(i=0;i

printf("%f ",b[i]);

printf("\n\n");

3)回代过程

//回代过程

x[size-1]=b[size-1]/A[size-1][size-1];

for(k=size-2;k>=0;k--)

{

S=b[k];

for(j=k+1;j

{

S=S-A[k][j]*x[j];

}

x[k]=S/A[k][k];

}

4)结果输出

//so

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值