文档介绍:第三章实验作业
由物理实验得到下列一组数据:
X. 1
1
2
3
4
5
6
y
1
214第三章实验作业
由物理实验得到下列一组数据:
X. 1
1
2
3
4
5
6
y
1
x
1
7
8
y
1
用抛物线y二a + bx + ex2做曲线拟合。
-S 图;
输入斗y <i=lf 及
nb n
I
生成中间矩阵C
I
生成法方程组的系数
矩阵a=c7c
I
生成法方程组心3眇的右端
向 Mb=cr¥
~~解法方程组 相3$)得
ai (i=0, 1,…,n)
输出® (i=0, h n)
m
J=1
f=l
7 = 1
… X时
?=1
--Z -vr1
7 = 1
5
一
Tn
1=1
j=l
Cl
N7
Z <+i
i=l
7=1
L 用」
S X;兀
_ 1=1
()
C语言程序:
#include ""
#include ""
#include ""
#include ""
#define N 15//N 个节点
#define M 2//M 次拟合
#define K 2*M
void zhuyuan (int k,int n,float a[M+1][M+2])
{int
float x,y; x=fabs(a[k][k]);t=k;
for (i=k+1;i<=n;i++)
讦(fabs(a[i][k])>x)
{x=fabs(a[i][k]);t=i;}
for (j=k;j<=n+1;j++)
{y=a[k][j];a[k][j]=a[t][j];a[t][j]=y;}
}
void xiaoyuan(int n,float a[M+1][M+2])
{int k,i,j;
for(i=0;i<n;i++)
{zhuyuan(i,n,a);
for (j=i+1;j<=n;j++)
for (k=i+1;k<=n+1;k++)
a[j][k]=a[j][k]-a[j][i]*a[i][k]/a[i][i];
}
}
void huidai(int n,float a[M+1][M+2],float x[M+1]) {int i,j;
x[n]=a[n][n+1]/a[n][n]; for (i=n-1;i>=0;i--)
{ x[i]=a[i][n+1];
for (j=i+1;j<=n;j++) x[i]=x[i]-a[i][j]*x[j]; x[i]=x[i]/a[i