追赶法 解四阶方程组 c语言程序

追赶法 解四阶方程组 c语言程序,第1张

/* 很久以前学计算方法时写的,给你参考参考*/

#include<stdio.h>

#define n 4

void main()

{

 int i

 float a[n],b[n],c[n],d[n],u[n],l[n-1]

 float x[n],y[n]

 printf("请输入系数矩阵(按a[i],b[i],c[i],d[i]输入):\n")

 for(i=0i<ni++)

 {

  scanf("%f"此纯,&a[i])  //a[n]和c[n]要少一项,使a[n-1]=c[n-1]=0,便于输入.

  scanf("%f",&b[i])

  scanf("%f",&c[i]) 

  scanf("%f",&d[i])

 }

 u[0]=b[0]

 for(i=1i<ni++)

 {

  l[i-1]=a[i-1]/u[i-1]

  u[i]=b[i]-l[i-1]*c[i-1]

 }

/* for(i=0i<n-1i++)

  printf("岩做%f\n",l[i])

 for(i=0i<ni++)

  printf("%f\n",u[i])*/

 y[0]=d[0]

// 粗扒衡printf("y1=%f\n",y[0])

 for(i=1i<ni++)

 {

  y[i]=d[i]-l[i-1]*y[i-1]

//  printf("y%d=%f\n",i+1,y[i])

 }

x[n-1]=y[n-1]/u[n-1]

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

x[i]=(y[i]-c[i]*x[i+1])/u[i]

for(i=0i<ni++)

printf("x%d=%f\n",i+1,x[i])

}

// 程序7.5 追赶法扮者求解三对角方程组

#include <stdio.h>

#include <conio.h>

#include <math.h>

#define MAX_n 100

#define PRECISION 0.0000001

//解输出

void SulutionOutput(float x[],int n)

{

int i

for(i=1i<=n++i)

printf("\nx[%d]=%f",i,x[i])

}

//三对角方程组元素输入

void TriDiagonalMatrixInput(float a[],float b[],float c[],float f[],int n)

{

int i

printf("Input b[1],c[1],f[1]:")

scanf("%f %f %f",&b[1],&c[1],&f[1])

for(i=2i<n++i)

{

printf("Input a[%d],b[%d],c[%d],f[%d]:",i,i,i,i)

scanf("%f %f %f %f",&a[i],&b[i],&c[i],&f[i])

}

printf("Input a[%d],b[%d],f[%d]:",n,n,n)

scanf("%f %f %f",&a[n],&b[n],&f[n])

}

//三对角方程组求解 — 追赶厅坦薯法

int Z_G_method(float a[],float b[],float c[],float f[],int n)

{

int i

//

c[1]/=b[1]

for(i=2i<n++i)

c[i]/=(b[i]-a[i]*c[i-1])

//信掘

f[1]/=b[1]

for(i=2i<=n++i)

f[i]=(f[i]-a[i]*f[i-1])/(b[i]-a[i]*c[i-1])

//

for(i=n-1i>0--i)

f[i]-=c[i]*f[i+1]

}

void main()

{

int n

float a[MAX_n],b[MAX_n],c[MAX_n],f[MAX_n]

printf("\nInput n=")

scanf("%d",&n)

TriDiagonalMatrixInput(a,b,c,f,n)

Z_G_method(a,b,c,f,n)

SulutionOutput(f,n)

}

/*

运行实例:

Input n=4

Input b[1],c[1],f[1]:2 1 1

Input a[2],b[2],c[2],f[2]:1 3 1 2

Input a[3],b[3],c[3],f[3]:1 4 1 3

Input a[4],b[4],f[4]:1 5 4

x[1]=0.294118

x[2]=0.411765

x[3]=0.470588

x[4]=0.705882

*/


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12445978.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存