资源描述:
《福建农林大学2008数值分析考卷及答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2008-2009年(1)福建农林大学机电工程学院研究生《数值分析》课程试卷姓名:郑金凤专业年级:08级机械设计及理论学号:1081302成绩:注:以下试题编程语言任选。要求上机调试通过,提供原程序清单、计算结果。1、分别用列主元法和Gauss-Seidel迭代法(要求)求解方程组。(1)列主元法#include#includeGaussdiedai(n,a,x)intn;double*a,*x;{inti,j,k,r;doublem;for(k=0;k2、a[k*(n+1)+k]);for(i=k+1;im){r=i;m=fabs(a[i*(n+1)+k]);}if(r>k)for(j=k;j3、-1]=a[(n-1)*(n+1)+n]/a[(n-1)*(n+1)+(n-1)];for(i=n-2;i>=0;i--){m=a[i*(n+1)+n];for(j=i+1;j4、n",x[1]);printf("x3=%f",x[2]);}(2)Gauss-Seidel迭代法#include"stdio.h"#include"math.h"#include"malloc.h"GaussSeidel(n,a,b,x)intn;double*a,*b,*x;{inti,j;doublet,u,m=0,eps;while(1){eps=0;for(i=0;i5、+i];m=0;u=x[i];if(fabs(u-t)>eps)eps=fabs(u-t);}if(eps<1e-4)return1;}}main(){inti;doublea[3][3]={{10,-2,-1},{-2,10,-3},{-1,-2,5}},b[3]={3,15,10},x[3]={0,0,0};GaussSeidel(3,a,b,x);printf("%s","解得");printf("x1=%f",x[0]);printf("x2=%f",x[1]);printf("x3=%f",x[2]);
6、}1、用简单迭代法求解方程,要求#include"math.h"#include"stdio.h"main(){doublex1=0.0,x0;x0=x1;x1=cos(x0);while(fabs(x0-x1)>0.000001){x0=x1;x1=cos(x0);}printf("%s","解得");printf("x=%f",x1);printf("");}1、已知函数表如下,用二次插值求y(0.85)的近似值。Xi0.500.700.800.90Yi0.100.120.130.14#include"math.
7、h"doublenlg3(doublex[],doubley[],intn,doublet){inti,j,k,m;doublez,s;z=0.0;if(n<1)return(z);if(n==1){z=y[0];return(z);}if(n==2){z=(y[0]*(t-x[1])-y[1]*(t-x[0]))/(x[0]-x[1]);return(z);}if(t<=x[1]){k=0;m=2;}elseif(t>=x[n-2]){k=n-3;m=n-1;}else{k=1;m=n;while(m-k!=1){i=(k+m
8、)/2;if(t