下载此文档

实验求解线性方程组直接法.doc


文档分类:高等教育 | 页数:约20页 举报非法文档有奖
1/20
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/20 下载此文档
文档列表 文档介绍
数值分析实验报告二
求解线性方程组的直接方法(2学时)
班级专业 11信科一班姓名李国中学号 18 日期 4/9
一实验目的
;
2. 掌握求解线性方程组的克劳特法;
3. 掌握求解线性方程组的平方根法。
二实验内容
(精度要求为):
(精度要求为)。
3. 用平方根法求解上述方程组(精度要求为)。
4. 用列主元素法求解方程组(精度要求为):
三实验步骤(算法)与结果
1高斯消元法
#include<>
#include <>
#include <>
#define N 3
int main()
{
double u[3][3]={0},l[N][N]={0},x[N]={0},z[N]={0},sum1=0,sum2=0,sum3=0,sum4=0,sum;
int k,i=1,j=1,t;
printf("------------------------------------\n");
printf("the fuction is :\n");
printf("\t3*x1-x2+2*x3=7\n");
printf("\t-x1+2*x2-2*x3=-1\n");
printf("\t2*x1-2*x2+4*x3=0\n");
printf("------------------------------------\n");
int a[3][3]={3,-1,2,
-1,2,-2,
2,-2,4};
int b[N]={7,-1,0};
for(i=0;i<=N+1;i++)
l[i][i]=1;

for(j=0;j<=N-1;j++)
u[0][j]=a[0][j];

for(i=0;i<=N-1;i++)
{
for(j=0;j<=N-1;j++)
{

if(i>j)
{
for(k=0,sum=0;k<=j-1;k++)
sum+=l[i][k]*u[k][j];
l[i][j]=(a[i][j]-sum)/u[j][j];
}
else
{
for(k=0,sum=0;k<=i-1;k++)
sum+=l[i][k]*u[k][j];
u[i][j]=a[i][j]-sum;
}
}

z[0] = -;
z[1]=b[1]-l[1][0]*z[0];
z[2]=b[2]-l[2][0]*z[0]-l[2][1]*z[1];
}
x[2]=b[2]/u[2][2];
x[1]=(b[1]-u[1][2]*x[2])/u[1][1];
x[0]=(b[0]-u[0][1]*x[1]-u[0][2]*x[2])/u[0][0];
printf("\n");

printf("l矩阵如下\n");
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{printf("%lf ",l[i][j]);}
printf("\n");
}
printf("\n");

printf("u矩阵如下\n");
for(i=0;i<=N-1;i++)
{
for(j=0;j<=N-1;j++)
printf("%-10lf",u[i][j]);
printf("%-10lf\n",-z[i]);
}
x[0]=;x[1]=;x[2]=;
for(i=0;i<=N-1;i++)
printf("x(%d)=%-lf\n",i+1,x[i]);
return 0;
}
2克劳特法
#include <>
#include <>
#include <>
#define N 3

int main()
{
int i,j;
double a[3][4]={3,-1,2,7,-1,2,-2,1,2,-2,4,0};
double u[3][4]={0};
double l[3][3]={0};
double x[3]={0};

printf("------------------------------------\n");
printf("the fuction is :\n");
printf

实验求解线性方程组直接法 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数20
  • 收藏数0 收藏
  • 顶次数0
  • 上传人ipod0c
  • 文件大小145 KB
  • 时间2017-09-10