数值分析 各个算法的C语言程序
#include<stdio.h> #include<stdlib.h> #include<math.h>
double FSP(int n,float a,float b) { double f1=0,f2=0,h,*x1,*y1,*x2,*y2; int i; x1=(double*)malloc((n+1)*sizeof(double)); y1=(double*)malloc((n+1)*sizeof(double)); x2=(double*)malloc(n*sizeof(double)); y2=(double*)malloc(n*sizeof(double)); h=(b-a)/n;
for(i=0;i<n+1;i++) {x1[i]=a+h*i;y1[i]=sin(x1[i])*x1[i];} for(i=0;i<n;i++) {x2[i]=x1[i]+h/2;y2[i]=sin(x2[i])*x2[i];} for(i=1;i<n;i++) f1=f1+2*y1[i]; for(i=0;i<n;i++) f2=f2+4*y2[i];
printf("输出函数值:%f\n",h/6*(y1[0]+f1+f2+y1[n])); return 1; }
void main() { float a,b; int n; printf("输入区间上,下限:"); scanf("%f %f",&a,&b); printf("输入等分区间数:"); scanf("%d",&n); FSP(n,a,b);
}
七、 直接三角分解法
#include<stdio.h> #include<stdlib.h> #include<math.h> void main() {double
A[3][3]={0.25,0.2,0.166667,0.3333,0.25,0.2,0.5,1,2},x[3],y[3],b[3]={9,8,8},L[3][3],U[3][3],f1=0,