建环计算机应用试题,建环计算机应用程序部分.doc

建环计算机应用程序部分

专业计算方法最优化部分程序

习题2.

程序代码:

#include

float insert(float x,float y,float z);

void main()

{

int i;

float f[6],g[6],a,b,c,d,e;

printf("请输入风阀的一组度数(°):\n");

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

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

printf("\n");

printf("请输入风阀试验的阻力系数:\n");

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

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

printf("\n");

printf("请输入你要插入的值:\n");

scanf("%f",&e);

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

if(f[i]

{a=(e-f[i])*(e-f[i+1])/((f[i-1]-f[i])*(f[i-1]-f[i+1]))*g[i-1];

b=(e-f[i-1])*(e-f[i+1])/((f[i]-f[i-1])*(f[i]-f[i+1]))*g[i];

c=(e-f[i-1])*(e-f[i])/((f[i+1]-f[i-1])*(f[i+1]-f[i]))*g[i+1];}

d=insert(a,b,c);

printf("调节阀的阻力系数为:%0.2f",d);

}

float insert(float x,float y,float z)

{return x+y+z;}

习题3.

程序代码:

#include "stdio.h"

#include "math.h"

#define num 10

float neiji(float b[num],float c[num])

{ int p;

float nj=0;

for (p=1;p

nj+=c[p]*b[p];

return nj;

}

float s[num],x[num],y[num],fai[num][num],afa[num],beida[num],a[num],xfai[num],yd[num],max,pcpfh;

void main()

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

char conti;

conti=' ';

printf("请输入已知点的个数n=\n");

scanf("%d",&n);

printf("请输入x和y:\n");

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

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

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

printf("y[%d]=",i);

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

}

while(conti==' ')

{ printf("请输入拟和次数=");

scanf("%d",&index);

pcpfh=0;

afa[1]=0;

a[0]=0;

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

{afa[1]+=x[i];

a[0]+=y[i];

fai[0][i]=1;

}

afa[1]=afa[1]/n;

a[0]=a[0]/n;

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

{

fai[1][i]=x[i]-afa[1];

}

a[1]=neiji(fai[1],y)/neiji(fai[1],fai[1]);

for(k=1;k

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

xfai[i]=x[i]*fai[k][i];

afa[k+1]=neiji(fai[k],xfai)/neiji(fai[k],fai[k]);

beida[k]=neiji(fai[k],fai[k])/neiji(fai[k-1],fai[k-1]);

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

fai[k+1][j]=(x[j]-afa[k+1])*fai[k][j]-beida[k]*fai[k-1][j];

a[k+1]=neiji(fai[k+1],y)/neiji(fai[k+1],fai[k+1]);

}

printf("%d次拟和结果为\n",index);

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

printf("a[%d]=%f\n",i,a[i]);

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

{ for(k=0;k<=index;k++)

s[i]+=a[k]*fai[k][i];

yd[i]=float(fabs(y[i]-s[i]));

pcpfh+=yd[i]*yd[i

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值