您的位置:首页 > 编程语言 > C语言/C++

10个重要的算法C语言实现源代码:拉格朗日,牛顿插值,高斯,龙贝格,牛顿迭代,牛顿-科特斯,雅克比,秦九昭,幂法,高斯塞德尔

2008-05-15 00:17 1011 查看
1.拉格朗日插值多项式 ,用于离散数据的拟合

#include <stdio.h>

#include <conio.h>

#include <alloc.h>

main()

#include <stdio.h>

#include <conio.h>

#include <alloc.h>

void difference(float *x,float *y,int n)

main()

#include<stdio.h>

#include <math.h>

#define N 20

int main()

#include<math.h>

#include<stdio.h>

#define NUMBER 20

#define Esc 0x1b

#define Enter 0x0d

float A[NUMBER][NUMBER+1] ,ark;

int flag,n;

exchange(int r,int k);

float max(int k);

message();

main()

exchange(int r,int k)

float max(int k)

message()

#include<stdio.h>

#include<math.h>

#define f(x) (sin(x)/x)

#define N 20

#define MAX 20

#define a 2

#define b 4

#define e 0.00001

float LBG(float p,float q,int n)

void main()

#include<stdio.h>

#include<math.h>

#include<conio.h>

#define N 100

#define PS 1e-5

#define TA 1e-5

float Newton(float (*f)(float),float(*f1)(float),float x0 )

float f(float x)

float f1(float x)

void main()

#include<stdio.h>

#include<math.h>

int NC(a,h,n,r,f)

float (*a)[];

float h;

int n,f;

float *r;

main()

#include <stdio.h>

#include <math.h>

#define N 20

#define MAX 100

#define e 0.00001

int main()

#include <math.h>

float qin(float a[],int n,float x)

main()

#include<stdio.h>

#include<math.h>

#define N 100

#define e 0.00001

#define n 3

float y
;

main()

#include<math.h>

#include<stdio.h>

#define N 20

#define M 99

float a

;

float b
;

int main()

...{ int i,j,k,n;


float sum,no,d,s,x
;


printf(" Input dim of n:");


scanf("%d",&n);


if(n>N)




...{ printf("Faild! Check if 0<n<N! "); getch();


return 1;


}


if(n<=0)




...{ printf("Faild! Check if 0<n<N! ");getch();return 1;}


printf("Input a[i,j],i,j=0…%d: ",n-1);


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


for(j=0;j<n;j++)


scanf("%f",&a[i][j]);


printf("Input b[i],i=0…%d: ",n-1);


for(i=0;i<n;i++) scanf("%f",&b[i]);


for(i=0;i<n;i++) x[i]=0;


k=0;


printf(" k=%dx=",k);


for(i=0;i<n;i++) printf("%12.8f",x[i]);


do




...{ k++;




if(k>M)...{printf(" Error! ”);getch();}


break;


}


no=0.0;


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




...{ s=x[i];


sum=0.0;


for(j=0;j<n;j++)


if (j!=i) sum=sum+a[i][j]*x[j];


x[i]=(b[i]-sum)/a[i][i];


d=fabs(x[i]-s);


if (no<d) no=d;


}


printf(" k=%2dx=",k);


for(i=0;i<n;i++) printf("%f",x[i]);


}


while (no>=0.1e-6);


if(no<0.1e-6)




...{ printf(" answer= ");


printf(" k=%d",k);


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


printf(" x[%d]=%12.8f",i,x[i]);


}


getch();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐