数值分析作业Word文件下载.docx
- 文档编号:22017215
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:28
- 大小:66.97KB
数值分析作业Word文件下载.docx
《数值分析作业Word文件下载.docx》由会员分享,可在线阅读,更多相关《数值分析作业Word文件下载.docx(28页珍藏版)》请在冰豆网上搜索。
doublesum,max,tem;
inti,j,r,im;
for(r=0;
r<
n;
r++)
{
im=r;
max=fabs(a1[r][r]);
for(i=r;
i<
i++)
{
if(fabs(a1[(i+1)][r])>
=max)
max=fabs(a1[(i+1)][r]);
im=i+1;
}
}
for(j=r;
j<
j++)
tem=a1[im][j];
a1[im][j]=a1[r][j];
a1[im][j]=tem;
}
for(i=r+1;
tem=a1[i][r]/a1[r][r];
for(j=r+1;
a1[i][j]=a1[i][j]-tem*a1[r][j];
g1[i]=g1[i]-tem*g1[r];
u1[n-1]=g1[n-1]/a1[n-1][n-1];
for(i=n-2;
i>
=0;
i--)
sum=0.0;
for(j=i+1;
sum=sum+a1[i][j]*u1[j];
u1[i]=(g1[i]-sum)/a1[i][i];
}
doublefhtix()
//复合梯形法求解,因为计算量大,数组采用全局变量的形式存储,返回误差值,结果存入F:
\\rezult4.txt
doubleh,er;
inti,j,n;
n=N+1;
h=2/(double)N;
for(i=0;
x1[i]=-1.0+h*(double)i;
g1[i]=exp(4*x1[i])+(exp(x1[i]+4)-exp(-1.0*(x1[i]+4)))/(x1[i]+4);
for(j=0;
if((j==0)||(j==N))
a1[i][j]=h*exp(x1[i]*x1[j])/2;
else
a1[i][j]=h*exp(x1[i]*x1[j]);
a1[i][i]=1.0+a1[i][i];
//lu(a1,g1,N+1,u1);
gsxy(n);
er=0.0;
for(i=1;
N;
er=er+(exp(4*x1[i])-u1[i])*(exp(4*x1[i])-u1[i]);
er=er*h;
er=er+h*(exp(4*x1[0])-u1[0])*(exp(4*x1[0])-u1[0])/2.0;
er=er+h*(exp(4*x1[N])-u1[N])*(exp(4*x1[N])-u1[N])/2.0;
fprintf(fp,"
梯形解法:
erroris:
%.8e\n"
er);
fputs("
差值点,计算值,真实值\n"
fp);
i=i+20)
%f,%f,%f\n"
x1[i],u1[i],exp(4*x1[i]));
return(er);
voidlu(a,b,n,x)
doublea[],b[],x[];
/*Doolittle法解线性方程组,用于simpson和gauss方法中线性方程组的求解*/
intk,t,j,i;
double*l,*u,*y;
doublesum;
l=malloc(n*n*sizeof(double));
u=malloc(n*n*sizeof(double));
y=malloc(n*sizeof(double));
for(k=0;
k<
k++)
l[k*n+k]=1.0;
u[j]=a[j];
if(j>
0)
l[j*n]=a[j*n]/u[0];
for(k=1;
for(j=k;
{sum=0.0;
for(t=0;
t<
k;
t++)
sum=sum+l[k*n+t]*u[t*n+j];
u[k*n+j]=a[k*n+j]-sum;
if(k<
(n-1))
for(i=(k+1);
sum=0.0;
sum=sum+l[i*n+t]*u[t*n+k];
l[i*n+k]=(a[i*n+k]-sum)/u[k*n+k];
y[0]=b[0];
{sum=0.0;
i;
sum=sum+l[i*n+t]*y[t];
y[i]=b[i]-sum;
x[n-1]=y[n-1]/u[(n-1)*n+n-1];
for(t=i+1;
sum=sum+u[i*n+t]*x[t];
x[i]=(y[i]-sum)/u[i*n+i];
free(l);
free(u);
free(y);
return;
doublefhSimpson(doubleu[2*M+1])
//复合Simpson求解,返回误差值,结果存入F:
doublex[2*M+1],a[2*M+1][2*M+1],g[2*M+1],h,er;
inti,j;
h=1/(double)M;
(2*M+1);
x[i]=-1.0+h*(double)i;
g[i]=exp(4*x[i])+(exp(x[i]+4)-exp(-1.0*(x[i]+4)))/(x[i]+4);
if((j==0)||(j==2*M))
a[i][j]=h*exp(x[i]*x[j])/3;
elseif(j%2==0)
a[i][j]=2*h*exp(x[i]*x[j])/3;
else
a[i][j]=4*h*exp(x[i]*x[j])/3;
a[i][i]=1.0+a[i][i];
lu(a,g,2*M+1,u);
for(i=2;
2*M;
i=i+2)
er=er+(exp(4*x[i])-u[i])*(exp(4*x[i])-u[i]);
er=er*h*2/3;
er=er*h*4/3;
er=er+h*(exp(4*x[0])-u[0])*(exp(4*x[0])-u[0])/3;
er=er+h*(exp(4*x[2*M])-u[2*M])*(exp(4*x[2*M])-u[2*M])/3;
Simpson解法:
%f,%f,%f\n"
x[i],u[i],exp(4*x[i]));
doublegauss(doubleu[NG])
//Gauss积分法求解,返回误差值,结果存入F:
doublex[NG]={-0.9681602395,-0.8360311073,-0.6133714327,-0.3242534234,0,0.3242534234,0.6133714327,0.8360311073,0.9681602395};
doublea1[NG]={0.0812743884,0.1806481607,0.2606106964,0.3123470770,0.3302393550,0.3123470770,0.2606106964,0.1806481607,0.0812743884};
//NG=9时节点值及系数
//doublex[NG]={-0.9602898565,-0.7966664774,-0.5255324099,-0.1834346425,0.1834346425,0.5255324099,0.7966664774,0.9602898565};
//doublea1[NG]={0.1012285363,0.2223810345,0.3137066459,0.3626837834,0.3626837834,0.3137066459,0.2223810345,0.1012285363};
//NG=8时节点值及系数
//doublex[NG]={-0.9324695142,-0.6612093865,-0.2386191861,0.2386191861,0.6612093865,0.9324695142};
//doublea1[NG]={0.1713244924,0.3607615730,0.4679139346,0.4679139346,0.3607615730,0.1713244924};
////NG=6时节点值及系数
//doublex[NG]={-0.9491079123,-0.7415311856,-0.4058451514,0,0.4058451514,0.7415311856,0.9491079123};
//doublea1[NG]={0.1294849662,0.2797053915,0.3818300505,0.4179591837,0.3818300505,0.2797053915,0.1294849662};
//NG=7时节点值及系数
doublea[NG][NG],g[NG],er;
NG;
a[i][j]=a1[j]*exp(x[i]*x[j]);
lu(a,g,NG,u);
er=0;
er=er+a1[i]*(exp(4*x[i])-u[i])*(exp(4*x[i])-u[i]);
Gauss解法:
%f,%f,%f\n"
voidmain()
//主函数,调用各子函数求解方程,结果存入F:
doubleu2[2*M+1],u3[NG];
doubler1,r2,r3;
fp=fopen("
F:
\\rezult4.txt"
"
w"
);
r1=fhtix(u1);
printf("
er1is:
r1);
r2=fhSimpson(u2);
er2is:
r2);
r3=gauss(u3);
er3is:
r3);
fclose(fp);
四、计算结果
复化梯形积分法
复化Simpon积分法
Guass积分法
节点值
数值解
-1
0.018317
-0.96816
0.020803
-0.99231
0.018889
-0.97561
0.020194
-0.83603
0.035291
-0.98462
0.019479
-0.95122
0.022263
-0.61337
0.085993
-0.97693
0.020087
-0.92683
0.024544
-0.32425
0.273347
-0.96924
0.020715
-0.90244
0.02706
1
-0.96155
0.021362
-0.87805
0.029832
0.324253
3.658356
-0.95386
0.022029
-0.85366
0.03289
0.613371
11.62881
-0.94618
0.022717
-0.82927
0.03626
0.836031
28.33576
-0.93849
0.023426
-0.80488
0.039976
0.96816
48.06917
-0.9308
0.024158
-0.78049
0.044072
-0.92311
0.024913
-0.7561
0.048589
-0.91542
0.025691
-0.73171
0.053568
-0.90773
0.026493
-0.70732
0.059057
-0.90004
0.027321
-0.68293
0.065109
-0.89235
0.028174
-0.65854
0.071781
-0.88466
0.029054
-0.63415
0.079137
-0.87697
0.029961
-0.60976
0.087247
-0.86928
0.030897
-0.58537
0.096188
-0.86159
0.031862
-0.56098
0.106045
-0.8539
0.032857
-0.53659
0.116912
-0.84621
0.033884
-0.5122
0.128893
-0.83852
0.034942
-0.48781
0.142102
-0.83083
0.036033
-0.46342
0.156664
-0.82315
0.037159
-0.43902
0.172719
-0.81546
0.038319
-0.41463
0.190419
-0.80777
0.039516
-0.39024
0.209932
-0.80008
0.040751
-0.36585
0.231446
-0.79239
0.042023
-0.34146
0.255164
-0.7847
0.043336
-0.31707
0.281312
-0.77701
0.04469
-0.29268
0.310141
-0.76932
0.046085
-0.26829
0.341924
-0.76163
0.047525
-0.2439
0.376963
-0.75394
0.049009
-0.21951
0.415594
-0.74625
0.05054
-0.19512
0.458183
-0.73856
0.052119
-0.17073
0.505137
-0.73087
0.053747
-0.14634
0.556903
-0.72318
0.055425
-0.12195
0.613973
-0.71549
0.057157
-0.09756
0.676892
-0.70781
0.058942
-0.07317
0.746259
-0.70012
0.060783
-0.04878
0.822734
-0.69243
0.062681
-0.02439
0.907047
-0.68474
0.064639
-0.67705
0.066658
0.02439
1.102478
-0.66936
0.06874
0.04878
1.215459
-0.66167
0.070887
0.073171
1.340017
-0.65398
0.073101
0.097561
1.47734
-0.64629
0.075385
0.121951
1.628736
-0.6386
0.077739
0.146341
1.795646
-0.63091
0.080168
0.170732
1.979662
-0.62322
0.082672
0.195122
2.182535
-0.61553
0.085254
0.219512
2.406198
-0.60784
0.087917
0.243902
2.652782
-0.60015
0.090663
0.268293
2.924635
-0.59246
0.093495
0.292683
3.224348
-0.58478
0.096415
0.317073
3.554775
-0.57709
0.099426
0.341463
3.919064
-0.5694
0.102532
0.365854
4.320684
-0.56171
0.105735
0.390244
4.763462
-0.55402
0.109037
0.414634
5.251615
-0.54633
0.112443
0.439024
5.789794
-0.53864
0.115955
0.463415
6.383124
-0.53095
0.119577
0.487805
7.037259
-0.52326
0.123312
0.512195
7.758428
-0.51557
0.127164
0.536585
8.553501
-0.50788
0.131136
0.560976
9.430053
-0.50019
0.135232
0.585366
10.39643
-0.4925
0.139456
0.609756
11.46185
-0.48481
0.143811
0.634146
12.63644
-0.47712
0.148303
0.658537
13.93141
-0.46944
0.152936
0.682927
15.35908
-0.46175
0.157713
0.707317
16.93306
-0.45406
0.162639
0.731707
18.66833
-0.44637
0.167719
0.756098
20.58144
-0.43868
0.172958
0.780488
22.6906
-0.43099
0.17836
0.804878
25.0159
-0.4233
0.183931
0.829268
27.5795
-0.41561
0.189676
0.853659
30.40581
-0.40792
0.195601
0.878049
33.52176
-0.40023
0.20171
0.902439
36.95702
-0.39254
0.208011
0.926829
40.74433
-0.38485
0.214508
0.95122
44.91975
-0.37716
0.221208
0.97561
49.52307
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数值 分析 作业