西工大计算方法试题参考(完整版)
最新西工大计算流体力学试卷(整合)

试卷1. 简述计算流体力学的特点及其应用领域。
CFD 是以计算机作为模拟手段,运用一定的计算技术寻求流体力学各种复杂问题的离散化数值解。
它的主要特征:(1)数值解而不是解析解;(2)计算技术起关键作用;(3)与计算机的发展紧密相关。
(成本较低,适用范围宽,可靠性差,表达困难)应用领域:航空、航天、气象、船舶、武器装备、 水利、化工、建筑、机械、汽车、海洋、体育、环境、卫 生等2. 等步长网格分布情况下u x∂∂的一阶向前差分、22u x ∂∂的二阶中心差分表达式。
(P89) 一阶向前差分:1,,,()i j i j i j u u u x x x+-∂=+O ∆∂∆() 二阶中心差分:21,,1,2,222()()i j i j i j i j u u u u x x x +--+∂=+O ∆∂∆() 3. 简答题1) 什么是差分方程的相容性?差分方程与微分方程的差别是截断误差R 。
必要时通过缩小空间步长(网格尺寸)h 和时间步长t ,这一误差应可缩小至尽可能小。
当h->0和t->0时,若R->0,则差分方程趋于微分方程,表示这两个方程是一致的。
这时称该差分方程与微分方程是相容的。
2) 什么是差分解的收敛性?当微分方程在离散为差分方程来求解,当步长h 0→时,存在着差分方程的解n y 能够收敛到微分方程的准确解y()n x ,这就是差分方法的收敛性。
收敛性定义:对于任意节点的0n x x nh =+,如果数值解n y 当h 0→(同时n →∞)时趋向于准确解y()n x ,则称该方法是收敛的。
3) 什么是差分解的稳定性?数值计算时,除计算机舍入误差(字长有限)外,初始条件或方程中某些常数项也有可能给的不尽精确。
舍入误差和这些误差在计算过程中可能一步步积累与传递,误差的传递,有时可能变大,有时可能变小。
某一步舍入误差放大或缩小的问题,称为差分解的数值稳定性问题。
稳定性定义:对于存在正常数0h 和对于每个0ε>存在一个正常数δ,使得当初值和右端的扰动满足max ()h x I s x σδ∈+<时, 原方程与扰动方程的解对一切满足估计式max ()()hx I y x y x ε∈-<,则称该格式是稳定的。
西北工业大学计算机学院计算机专业基础历年考研真题汇编附答案

西北工业大学计算机学院计算机专业基础历年
考研真题汇编附答案
Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】
目 录
说明:2004年西北工业大学计算机专业基础科目代码是401,2016年科目代码是801,本书以此为准。
此外,本书还收录了4套兄弟院校计算机专业基础考研真题,并提供详细答案。
西北工业大学计算机学院
801计算机专业基础历年考研真题汇编
最新资料,WORD 格式,可编辑修改!
2004年西北工业大学计算机学院401计算机专业基础考研真题
2014年电子科技大学820计算机专业基础考研真题
2013年电子科技大学820计算机专业基础考研真题
2013年电子科技大学820计算机专业基础考研真题及详解
2012年电子科技大学820计算机专业基础考研真题
2012年电子科技大学820计算机专业基础考研真题及详解
2011年电子科技大学820计算机专业基础考研真题
2011年电子科技大学820计算机专业基础考研真题及详解。
西工大-有限元试题(附答案)

1、针对下图所示得3个三角形元,写出用完整多项式描述得位移模式表达式。
2、如下图所示,求下列情况得带宽:a)4结点四边形元;b)2结点线性杆元。
3、对上题图诸结点制定一种结点编号得方法,使所得带宽更小。
图左下角得四边形在两种不同编号方式下,单元得带宽分别就就是多大?4、下图所示,若单元就就是2结点线性杆单元,勾画出组装总刚后总刚空间轮廓线。
系统得带宽就就是多大?按一右一左重新编号(即6变成3等)后,重复以上运算。
5、设杆件1-2受轴向力作用,截面积为A,长度为L,弹性模量为E,试写出杆端力F1,F2与杆端位移之间得关系式,并求出杆件得单元刚度矩阵6、设阶梯形杆件由两个等截面杆件错误!与错误!所组成,试写出三个结点1、2、3得结点轴向力F1,F2,F3与结点轴向位移之间得整体刚度矩阵[K]。
7、在上题得阶梯形杆件中,设结点3为固定端,结点1作用轴向载荷F1=P,求各结点得轴向位移与各杆得轴力。
8、下图所示为平面桁架中得任一单元,为局部坐标系,x,y为总体坐标系,轴与x轴得夹角为。
(1) 求在局部坐标系中得单元刚度矩阵(2)求单元得坐标转换矩阵 [T];(3) 求在总体坐标系中得单元刚度矩阵9、如图所示一个直角三角形桁架,已知,两个直角边长度,各杆截面面积,求整体刚度矩阵[K]。
10、设上题中得桁架得支承情况与载荷情况如下图所示,按有限元素法求出各结点得位移与各杆得内力。
11、进行结点编号时,如果把所有固定端处得结点编在最后,那么在引入边界条件时就就是否会更简便些?12、针对下图所示得3结点三角形单元,同一网格得两种不同得编号方式,单元得带宽分别就就是多大?13、下图所示一个矩形单元,边长分别为2a与2b,坐标原点取在单元中心。
位移模式取为导出内部任一点位移与四个角点位移之间得关系式。
14 桁架结构如图所示,设各杆EA/L均相等,单元及结点编号如图所示,试写出各单元得单刚矩阵[k]e。
15 图所示三杆桁架,节点1、节点3处固定,节点2处受力Fx2,Fy2,所有杆件材料相同,弹性模量为E,截面积均为A,求各杆内力。
西工大计算方法作业答案

参考答案 第一章1 *1x =1.7; *2x =1.73; *3x =1.732 。
2.3. (1) ≤++)(*3*2*1x x x e r 0.00050; (注意:应该用相对误差的定义去求) (2) ≤)(*3*2*1x x x e r 0.50517; (3) ≤)/(*4*2x x e r 0.50002。
4.设6有n 位有效数字,由6≈2.4494……,知6的第一位有效数字1a =2。
令3)1()1(1*1021102211021)(-----⨯≤⨯⨯=⨯=n n r a x ε 可求得满足上述不等式的最小正整数n =4,即至少取四位有效数字,故满足精度要求可取6≈2.449。
5. 答:(1)*x (0>x )的相对误差约是*x 的相对误差的1/2倍;(2)nx )(* 的相对误差约是*x 的相对误差的n 倍。
6. 根据********************sin 21)(cos 21sin 21)(sin 21sin 21)(sin 21)(c b a c e c b a c b a b e c a c b a a e c b S e r ++≤=******)()()(tgcc e b b e a a e ++ 注意当20*π<<c 时,0**>>c tgc ,即1*1*)()(--<c tgc 。
则有)()()()(****c e b e a e S e r r r r ++<7.设20=y ,41.1*0=y ,δ=⨯≤--2*001021y y 由 δ1*001*111010--≤-=-y y y y ,δ2*111*221010--≤-=-y y y yMδ10*991*10101010--≤-=-y y y y即当0y 有初始误差δ时,10y 的绝对误差的绝对值将减小1010-倍。
而11010<<-δ,故计算过程稳定。
西工大noj答案解析(完整版)

西北工业大学POJ答案绝对是史上最全版(不止100题哦……按首字母排序)1.“1“的传奇2.A+B3.A+BⅡ4.AB5.ACKERMAN6.Arithmetic Progressions7.Bee8.Checksum algorithm9.Coin Test10.Dexter need help11.Double12.Easy problem13.Favorite number14.Graveyard15.Hailstone16.Hanoi Ⅱ17.Houseboat18.Music Composer19.Redistribute wealth20.Road trip21.Scoring22.Specialized Numbers23.Sticks24.Sum of Consecutive25.Symmetric Sort26.The Clock27.The Ratio of gainers to losers28.VOL大学乒乓球比赛29.毕业设计论文打印30.边沿与内芯的差31.不会吧,又是A+B32.不屈的小蜗33.操场训练34.插入链表节点35.插入排序36.插入字符37.成绩表计算38.成绩转换39.出租车费40.除法41.创建与遍历职工链表42.大数乘法43.大数除法44.大数加法45.单词频次46.迭代求根47.多项式的猜想48.二分查找49.二分求根50.发工资的日子51.方差52.分离单词53.分数拆分54.分数化小数55.分数加减法56.复数57.高低交换58.公园喷水器59.韩信点兵60.行程编码压缩算法61.合并字符串62.猴子分桃63.火车站64.获取指定二进制位65.积分计算66.级数和67.计算A+B68.计算PI69.计算π70.计算成绩71.计算完全数72.检测位图长宽73.检查图像文件格式74.奖金发放75.阶乘合计76.解不等式77.精确幂乘78.恐怖水母79.快速排序80.粒子裂变81.链表动态增长或缩短82.链表节点删除83.两个整数之间所有的素数84.路痴85.冒泡排序86.你会存钱吗87.逆序整数88.排列89.排列分析90.平均值函数91.奇特的分数数列92.求建筑高度93.区间内素数94.三点顺序95.山迪的麻烦96.删除字符97.是该年的第几天98.是该年的第几天?99.数据加密100.搜索字符101.所有素数102.探索合数世纪103.特殊要求的字符串104.特殊整数105.完全数106.王的对抗107.危险的组合108.文件比较109.文章统计110.五猴分桃111.小型数据库112.幸运儿113.幸运数字”7“114.选择排序115.寻找规律116.循环移位117.延伸的卡片118.羊羊聚会119.一维数组”赋值“120.一维数组”加法“121.勇闯天涯122.右上角123.右下角124.圆及圆球等的相关计算125.圆及圆球等相关计算126.程序员添加行号127.找出数字128.找幸运数129.找最大数130.整数位数131.重组字符串132.子序列的和133.子字符串替换134.自然数立方的乐趣135.字符串比较136.字符串复制137.字符串加密编码138.字符串逆序139.字符串排序140.字符串替换141.字符串左中右142.组合数143.最次方数144.最大乘积145.最大整数146.最小整数147.最长回文子串148.左上角149.左下角1.“1“的传奇#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){int n,i,j,k=0,x=1,y,z,m,p,q,a,s=0; scanf("%d",&n);m=n;for(i=1;i<12;i++){m=m/10;k++;if(m==0)break;}q=n;k=k-1;for(a=1;a<=k;a++){x=x*10;}y=q%x;z=q/x;p=q-y;if(z>=2)s=s+x+z*k*(x/10);elses=s+z*k*(x/10);for(j=p;j<=n;j++){m=j;for(i=1;i<12;i++) {x=m%10;if(x==1)s++;m=m/10;if(m==0)break;}}printf("%d",s);return 0;}2.A+B#include <stdio.h>int doubi(int n,int m) {n=n+m;n=n%100;return n;}int main(){int t,i,a[100],n,m;scanf("%d",&t);for (i=0;i<=(t-1);i++){ scanf("%d%d",&n,&m); a[i]=doubi(n,m);}for (i=0;i<=(t-1);i++)printf("%d\n",a[i]); return 0;}3.A+BⅡ#include <stdio.h>int main(){int A,B,sum;scanf("%d%d",&A,&B);sum=A+B;printf("%d\n",sum); return 0;}4.AB#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){char s[100],q[100];double a,b,c;int n=0,i;scanf("%lf%lf",&a,&b);c=a*b;sprintf(s,"%.0lf",c);for(i=0;i<strlen(s);i++){n=n+s[i]-48;}while(n>=10){sprintf(q,"%d",n);n=0;for(i=0;i<strlen(q);i++) n=n+q[i]-48;}printf("%d",n);return 0;}5.ACKERMAN#include <stdio.h>#include <stdlib.h>#include <math.h>int ack(int x,int y){int n;if (x==0) {n=y+1;return n;}else if (y==0) n=ack(x-1,1);else n=ack(x-1,ack(x,y-1)); return n;}int main(){int m,b;scanf("%d%d",&m,&b);m=ack(m,b);printf("%d",m);return 0;}6.Arithmetic Progressions#include <stdio.h>#include <stdlib.h>#include <math.h>int g(int n){int i;if(n==1) return 0;if(n==2) return 1;if(n==3) return 1;for(i=2;i<=sqrt(n);i++) if(n%i==0) return 0; return 1;}int f(int a,int b,int c){int i=0,s=a-b;if(c==1&&g(a)==1) return a;if(b==0&&g(a)!=1) return -1;while(1){s=s+b;if(g(s)) i++;if(i>=c) break;}return s;int main(){int a,b,c,d[100],i=0,n;while(1){scanf("%d%d%d",&a,&b,&c); if(a==0&&b==0&&c==0) break; d[i]=f(a,b,c);i++;}n=i;for(i=0;i<n;i++)printf("%d\n",d[i]);return 0;}7.Bee#include <stdio.h>#include <stdlib.h>int main()int A[100],i=0,j,k,female=0,male=1,x; for(;;i++){scanf("%d",&A[i]);if(A[i]==-1)break;}for(j=0;j<i;j++){female=0,male=1;for(k=1;k<A[j];k++){x=female;female=male;male=x+male+1;}printf("%d %d\n",male,female+male+1);}return 0;}8.Checksum algorithm#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){int i,n,t,j;char s[100][100];for(i=0;;i++){gets(s[i]);if(s[i][0]=='#') break;}n=i;for(i=0;i<n;i++){t=0;for(j=0;j<strlen(s[i]);j++)if(s[i][j]==32) t=t;else t=t+(j+1)*(s[i][j]-64);printf("%d\n",t);}return 0;}9.Coin Test#include <stdio.h>#include <stdlib.h>int main(){char A[100000];int n,i=0,a=0,b=0,j; double x;while(1){scanf("%c",&A[i]);if(A[i]=='\n')break;i++;}for(j=0;j<i;j++){if(A[j]=='S'){printf("WA");goto OH;}if(A[j]=='U')a++;if(A[j]=='D')b++;}x=a*1.0/(a+b)*1.0;if(x-0.5>0.003||x-0.5<-0.003) printf("Fail");elseprintf("%d/%d",a,a+b);OH:return 0;}10.Dexter need help#include <stdio.h>int fun(int a){if(a==1) return 1;elsereturn fun(a/2)+1;}int main(){int a,b[100],i=0,j; while(1){scanf("%d",&a);if(a==0)break;b[i]=fun(a);i++;}for(j=0;j<i;j++){printf("%d\n",b[j]); }return 0;}11.Double#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){int a[100],b[100],i,j,n,t=0; for(i=0;;i++){scanf("%d",&a[i]);if(a[i]==0) break;}n=i;for(i=0;i<n;i++)b[i]=2*a[i];for(i=0;i<n;i++)for(j=0;j<n;j++)if(a[i]==b[j]) t++;printf("%d",t);return 0;}12.Easy problem#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){int N,i,n,j=0;scanf("%d",&N);for(i=2;i<N+1;i++){if((N+1)%i==0)j++; }printf("%d",j/2);return 0;}13.Favorite number#include <stdio.h>#include <string.h>#define MAXNUM 100000int prime_number = 0;int prime_list[MAXNUM]; bool is_prime[MAXNUM];int ans[MAXNUM + 2];int dp[MAXNUM + 2];void set_prime() {int i, j;memset(is_prime, 0, sizeof(is_prime));for (i = 2; i < MAXNUM; i++) {if (is_prime[i] == 0) {prime_list[prime_number++] = i;if (i >= MAXNUM / i) continue;for (j = i * i; j < MAXNUM; j+=i) { is_prime[j] = 1;}}}}int main() {int i, j, k,o=0,d[100];memset(dp, -1, sizeof(dp));set_prime();ans[0] = 0;dp[1] = 0;for (i = 1; i <= MAXNUM; i++) {ans[i] = ans[i - 1] + dp[i];if (dp[i + 1] == -1 || dp[i + 1] > dp[i] + 1) {dp[i + 1] = dp[i] + 1;}for (j = 0; j < prime_number; j++) {if (i > MAXNUM / prime_list[j]) break; k = i * prime_list[j];if (dp[k] == -1 || dp[k] > dp[i] + 1) { dp[k] = dp[i] + 1;}}}while (scanf("%d%d", &i, &j) == 2 && (i || j)) { d[o]=ans[j] - ans[i - 1];o++;}for(i=0;i<o;i++)printf("%d\n",d[i]);}14.Graveyard#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){int a[100],b[100],n,i,j;double s,p,l,t;for(i=0;;i++){scanf("%d%d",&a[i],&b[i]);if(a[i]==0&&b[i]==0) break;}n=i;for(i=0;i<n;i++){p=10000;if(b[i]%a[i]==0){printf("0.0000\n");continue;}; t=10000/((double)a[i]);for(j=1;j<a[i]+b[i];j++){l=10000/((double)(a[i]+b[i]));l=t-j*l;l=fabs(l);if(l<p) p=l;}s=(a[i]-1)*p;printf("%.4lf\n",s); }return 0;}15.Hailstone#include <stdio.h>#include <stdlib.h>#include <string.h>int f(int n){int s=1;while(1){if(n==1) return s;else if(n%2==0) n=n/2,s++; else n=3*n+1,s++;}}int main(){int n,m,i,j=0,t;scanf("%d%d",&m,&n);printf("%d %d",m,n);if(m>n) t=m,m=n,n=t;for(i=m;i<=n;i++)if(f(i)>j) j=f(i);printf(" %d",j);return 0;}16.Hanoi Ⅱ#include <stdio.h>#include <stdlib.h>#define M 70int start[M], targe[M];long long f(int *p, int k, int fina) {if(k==0) return 0;if(p[k]==fina) return f(p,k-1,fina);return f(p,k-1,6-fina-p[k])+(1LL<<(k-1));}int main (){long long ans;int n;while(scanf("%d",&n),n){int i;for(i=1;i<=n;i++) scanf("%d",&start[i]);for(i=1;i<=n;i++) scanf("%d",&targe[i]);int c=n;for(;c>=1&&start[c]==targe[c];c--);if(c==0){printf("0\n"); continue;}int other=6-start[c]-targe[c];ans=f(start,c-1,other)+f(targe,c-1,other)+1; printf("%lld\n",ans);}return 0;}17.Houseboat#include <stdio.h>#include <stdlib.h>#include <math.h>#define pi 3.1415926int f(float x,float y){int i;for(i=0;;i++)if(50*i>sqrt(x*x+y*y)*sqrt(x*x+y*y)*pi/2) break;return i;}int main(){int n,i,a[100];float x,y;scanf("%d",&n);for(i=0;i<n;i++){scanf("%f%f",&x,&y);a[i]=f(x,y);}for(i=0;i<n;i++)printf("%d %d\n",i+1,a[i]);return 0;}18.Music Composer19.Redistribute wealth#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){inta[1000],b[1000],n,i,j,s,sum,t,m,mid,c[100],k=0; while(1){scanf("%d",&n);if(n==0) break;{s=0;for(i=1;i<=n;i++){scanf("%d",&a[i]);s=s+a[i];}m=s/n;b[1]=a[1]-m;b[0]=0;for(i=2;i<n;++i)b[i]=b[i-1]+a[i]-m;for(i=0;i<n;i++)for(j=0;j<n-1-i;j++)if(b[j]>b[j+1])t=b[j],b[j]=b[j+1],b[j+1]=t;mid=b[n/2];sum=0;for(i=0;i<=n-1;++i) sum=sum+fabs(mid-b[i]); c[k]=sum;k++;}}for(i=0;i<k;i++) printf("%d\n",c[i]);return 0;}20.Road trip#include <stdio.h>#include <stdlib.h>#include <math.h>int f(int n){int a[100],b[100],i,s;for(i=0;i<n;i++)scanf("%d%d",&a[i],&b[i]); s=a[0]*b[0];for(i=1;i<n;i++)s=s+a[i]*(b[i]-b[i-1]);return s;}int main(){int n,c[100],i=0;while(1){scanf("%d",&n);if(n==-1) break;c[i]=f(n);i++;}n=i;for(i=0;i<n;i++)printf("%d\n",c[i]);return 0;}21.Scoring#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){int i,j,sum,min,c,count,n,a,b; char s1[50],s2[50];scanf("%d",&n);for(i=0;i<n;i++){count=sum=0;scanf("%s",s2);for(j=0;j<4;j++){scanf("%d%d",&a,&b);if(b!=0){sum+=(a-1)*20+b;count++;}}if(i==0){c=count,min=sum;strcpy(s1,s2);}else if(count>c||(count==c&&sum<min)) {min=sum;c=count;strcpy(s1,s2);}}printf("%s %d %d\n",s1,c,min); return 0;}22.Specialized Numbers#include <stdio.h>#include <stdlib.h>int main(){int i,n,sum10,sum12,sum16;for(i=2992;i<3000;i++){n=i;sum10=0;while(n){sum10+=n%10;n/=10;}n=i;sum12=0;while(n){sum12+=n%12;n/=12;}n=i;sum16=0;while(n){sum16+=n%16;n/=16;}if(sum10==sum12&&sum12==sum16) printf("%d\n",i);}return 0;}23.Sticks#include <stdio.h>#include <string.h>#include <stdlib.h>int len[64], n, minlen, get;bool b[64];int cmp(const void *a, const void *b){return *(int *)a < *(int *)b ? 1 : -1;}bool dfs(int nowlen, int nowget, int cnt){if(cnt >= n) return false;if(get == nowget) return true;int i;bool f = false;if(nowlen == 0) f = true;for(i = cnt; i < n; i++){if(!b[i]){if(len[i] + nowlen == minlen) {b[i] = true;if(dfs(0, nowget+1, nowget)) return true;b[i] = false;return false;}else if(len[i] + nowlen < minlen){b[i] = true;if(dfs(nowlen+len[i], nowget, i+1)) return true;b[i] = false;if(f) return false;while(i + 1 < n && len[i] == len[i+1]) i++;}}}return false;}int main(){int i, tollen;while(scanf("%d", &n), n){tollen = 0;int j = 0, p;for(i = 0; i < n; i++){scanf("%d", &p);if(p <= 50){len[j] = p;tollen += len[j];j++;}}n = j;if(n == 0){printf("0\n");continue;}qsort(len, n, sizeof(int), cmp); for(minlen = len[0]; ; minlen++) {if(tollen % minlen) continue; memset(b, 0, sizeof(b));get = tollen / minlen;if(dfs(0, 0, 0)){printf("%d\n", minlen);break;}}}return 0;}24.Sum of Consecutive#include <stdio.h>#include <stdlib.h>#include <string.h>int len[64],n,minlen,get;int b[64];int cmp(const void *a,const void *b){return *(int *)a<*(int *)b?1:-1;}int dfs(int nowlen,int nowget,int cnt){if(cnt>=n) return 0;if(get==nowget) return 1;int i,f=0;if(nowlen==0) f=1;for(i=cnt;i<n;i++){if(len[i]+nowlen==minlen){b[i]=1;if(dfs(0,nowget+1,nowget)) return 1;b[i]=0;return 0;}else if(len[i]+nowlen<minlen){b[i]=1;if(dfs(nowlen+len[i],nowget,i+1)) return 1;b[i]=0;if(f) return 0;while(i+1<n&&len[i]==len[i+1]) i++;}}return 0;}int main(){int i,tollen,q=0,c[100];while(scanf("%d",&n),n){tollen=0;int j=0,p;for(i=0;i<n;i++){scanf("%d",&p);if(p<=50){len[j]=p;tollen+=len[j];j++;}}n=j;if(n==0){printf("0\n");continue;}qsort(len,n,sizeof(int),cmp); for(minlen=len[0];;minlen++){if(tollen%minlen) continue; memset(b,0,sizeof(b));get=tollen/minlen;if(dfs(0,0,0)){c[q]=minlen;q++;break;}}}for(i=0;i<q;i++)printf("%d\n",c[i]);return 0;}25.Symmetric Sort#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){double A[100];int i=0,j=0,k=0,l=0,sum=0; while(1){scanf("%lf",&A[i]);if(A[i]==0)break;i++;}for(j=0;j<i;j++){if(A[j]==2)printf("1\n");else{int B[10000],m=1,number=0;double n;B[0]=2;for(k=3;k<=A[j];k+=2){n=(double)k;for(l=2;l<=sqrt(n);l++){if(k%l==0)goto ai;}B[m]=k;m++;ai:;}for(k=0;k<m;k++){sum=0;for(l=k;l<m;l++){sum+=B[l];if(sum==A[j]){number++;break;}}}printf("%d\n",number);}}return 0;}26.The Clock#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){char s[100][100],a[100];int i,j,n;scanf("%d",&n);for(i=0;i<n;i++) scanf("%s",s[i]);for(i=0;i<n-1;i++)for(j=0;j<n-1-i;j++)if(strlen(s[i])>strlen(s[i+1]))strcpy(a,s[i]),strcpy(s[i],s[i+1]),strcpy(s[i+1],a) ;if(n%2==0){for(i=0;i<n-1;i=i+2) printf("%s ",s[i]);printf("%s ",s[n-1]);for(i=i-3;i>0;i=i-2) printf("%s ",s[i]);}else{for(i=0;i<n-1;i=i+2) printf("%s ",s[i]); printf("%s ",s[n-1]);for(i=i-1;i>0;i=i-2) printf("%s ",s[i]); }return 0;}27.The Ratio of gainers to losers#include<stdio.h>int main(){char s[5];int i,sum=0;gets(s);for(i=0;s[i]!='\0';i++){switch(s[i]){case'I': sum+=1;break;case'V': sum=5-sum;break; case'X':sum=10-sum;break; }}printf("%d\n",sum);return 0;}28.VOL大学乒乓球比赛#include <stdio.h>#include <stdlib.h>int main(){printf("A=Z\nB=X\nC=Y\n"); return 0;}29.毕业设计论文打印#include <stdio.h>#include <stdlib.h>int main(){int a[100],j=1,i,n,m;scanf("%d%d",&n,&m);for(i=0;i<n;i++)scanf("%d",&a[i]);for(i=0;i<n;i++)if(a[i]>a[m]) j++;printf("%d",j++);return 0;}30.边沿与内芯的差#include <stdio.h>#include <stdlib.h>int main(){int A[100][100],i,j,m,n,s=0,t=0; scanf("%d%d",&n,&m);for(i=1;i<=n;i++){for(j=1;j<=m;j++){scanf("%d",&A[i][j]);。
西北工业大学计算方法第四周作业答案第四章作业答案

4
3
12
1 x2 7 x 66
将 x 2 代入 L2 (x) ,得到 2 的近似值为 1.6667 。 2. 解:如果得到 x f 1( y) 的插值多项式,则该多项式的常数项就是 f (x) 0 的根的近似值,这种方
法被称为反插值法,利用上述数据,得到的反插值公式为:
x (y 1)(y 1) (1) (y 2)(y 1) 0
当 t [0,1] , max t(t 1) max t(1 t) max(t t2 ) ,当 t 1 , max t(t 1) 1 ,因此有
2
4
R 0.8415 h2 1 104
8
2
解得 h 0.0218 ,需要将区间至少 92 等分,总共 93 个节点。
5. 证明:基于 n 1个节点的不超过 n 次的 Lagrange 多项式为
)( x
2
)
1 24
cos( )x2 (x
)( x
2
)。
4. 解: 当 xi x xi1, (i 0,1, 2,, n 1) ,分段线性插值的截断误差公式为:
R
1 2!
f
(
)( x
xi
)( x
xi 1 )
R
1 2!
f
(
)( x
xi
)( x
xi 1 )
max
f ( )
1 2!
(
x
xi
)(
4 3
;
回代得到
p3 ( x)
2
x
1
4 3
(x
0)( x
)(x 2
)
。
化简得到
p3 ( x)
4 3
x3
西北工业大学计算方法试题

x ( k +1)
=
x(k)
−
ω
A(
x
(
k
+1
)
+ 2
x(k)
)
−
b
ω >0 , k = 0,1,2,⋯
对任意初始向量 x (0) , x (k+1) 是否收敛到方程组 Ax = b 的解?为什么?
西北工业大学考试试题(卷)-计算方法二
1 填空 1). 近似数 x* = 0.0142 关于真值 x = 0.0139 有__为有效数字。
0
试求满足插值条件的四次多项式 p(x).
6 设有如下的常微分方程初值问题
dy dx
=
x ,1 < y
x ≤ 1.4
y(1) = 1
1)写出每步用欧拉法预估,用梯形法进行一次校正的计算格式。 2)取步长 0.2 用上述格式求解。
∫ 7 设有积分 I = 0.6 e x2 dx 0
1)取 7 个等距节点(包括端点),列出被积函数在这些点出的值(保留到小数 点后 4 位) 2)用复化 simpson 公式求该积分的近似值。
(4) 取 3 ≈ 1.732 ,迭代过程 yn+1 = yn + 0.1 3 是否稳定?______(是或否);
∫ (5) 求积公式 3 f ( x)dx ≈ 2 f (2) 有______次代数精度。 1
2.取初值 x0 = 1.6 ,用牛顿迭代法求 3.1 的近似值 xn+1 ,要求先论证收敛性,当
xn+1 − xn ≤ 10−5 时停止迭代。
3.用最小二乘法确定 y = a 1 + bx 2 中的常数 a 和 b ,使该函数曲线拟合 x
西工大计算智能试题

一、选择题(10小题,共10分)6、产生式系统的推理不包括()A)正向推理B)逆向推理C)双向推理D)简单推理8、在公式中∀y∃xp(x,y)),存在量词是在全称量词的辖域内,我们允许所存在的x可能依赖于y值。
令这种依赖关系明显地由函数所定义,它把每个y值映射到存在的那个x。
这种函数叫做()A) 依赖函数B)Skolem函数C)决定函数D)多元函数9、子句~P∨Q和P经过消解以后,得到( )A)P B)~PC)Q D) P∨Q10、如果问题存在最优解,则下面几种搜索算法中,()必然可以得到该最优解。
A)宽度(广度)优先搜索B)深度优先搜索C) 有界深度优先搜索D)启发式搜索二、填空题(10个空,共10分)1、化成子句形式为:~。
2、假言推理(A→B)∧A⇒B,假言三段论(A→B)∧(B→C)⇒ A —〉C.3、在启发式搜索当中,通常用启发函数来表示启发性信息.5、状态空间法三要点分别是:状态和算符, 状态空间方法。
6. 鲁宾逊提出了⑦归结原理使机器定理证明成为可能。
7。
宽度优先搜索与深度优先搜索方法的一个致命的缺点是当问题比较复杂是可能会发生组合爆炸。
8、产生式系统是由___综合数据库知识库___和_推理机________三部分组成的。
9、谓词公式G是不可满足的,当且仅当对所有的解释G都为假.10、谓词公式与其子句集的关系是包含。
11、利用归结原理证明定理时,若得到的归结式为空集,则结论成立。
12、若C1=┐P∨Q,C2=P∨┐Q,则C1和C2的归结式R(C1,C2)= ┐P∨P或┐Q∨Q。
13、在框架和语义网络两种知识表示方法中,框架适合于表示结构性强的知识,而语义网络则适合表示一些复杂的关系和联系的知识。
三、简答题(4小题,共40分)1.什么是A*算法的可纳性?(4分)答:在搜索图存在从初始状态节点到目标状态节点解答路径的情况下,若一个搜索法总能找到最短(代价最小)的解答路径,则称算法具有可采纳性.2.在一般图搜索算法中,当对某一个节点n进行扩展时,n的后继节点可分为三类,请举例说明对这三类节点的不同的处理方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
y(x0 ) y0
的如下格式
yn1 ayn1 byn chf (xn , yn )
如假设 yn1 y(xn1), yn y(xn ) 问常数 a,b, c 为多少时使得该格式为
二阶格式?
2005-2006 第二学期
一.填空(3*5)
1.设近似数 x1* 1.2250, x2* 0.5168 都是四舍五入得到的,则相对误
y' f (x, y)
六.证明求解初值问题
y(x0 ) y0
的如下单步法
yn1 yn K2 K1 hf (xn , yn )
K
2
hf
( xn
1 2
h,
yn
1 2
K1 )
是二阶方法。(10 分)
七.试证明复化梯形求积公式
b a
f
( x)dx
h( 2
f
(x0 )
n1
2
i 1
f
3 1
f
( x)dx
2
f
(2)
有几次的代数精确度?
二. 取初值 x0 1.6 ,用牛顿迭代法求 3.1 的近似值,要求先论证
收敛性。当 xn1 xn 105 时停止迭代。
y a 1 bx2
三.用最小二乘法确定 x 中的常数 a 和 b,使该曲线拟合
于下面的四个点(1,1.01)(2,7.04)(3,17.67)(4,31.74)
4.给出拟合三点 A (0,1), B (1, 0) 和 C (1,1) 的直线方程。
5.推导中矩形求积公式
b f (x)dx (b a) f ( a b) 1 f '' ()(b a)3
a
2 24
6.试证明插值型求积公式
b
a
f
( x)dx
n
i0
Ai
f
( xi
)
的代数精确度至少
是 n 次。
7.已知非线性方程 x f (x) 在区间 a,b 内有一实根,试写出该实
根的牛顿迭代公式。
8.用三角分解法求解线性方程组
1 2 1 x1 0
2
2
3
x2
3
1 3 0 x3 2
二.给出下列函数值表
xi
0.4
0.5
0.6
0.7
0.8
f (xi )
0.38
0.47
0.56
0.64
0.71
942
943
464
422
736
要用二次插值多项式计算 f (0.63891) 的近似值,试选择合适的插 值节点进行计算,并说明所选用节点依据。(保留 5 位有效数字)(12 分)
三. 已知方程 x ln x 0 在 (0,1) 内有一实根 ( 1) 给出 求 该 实 根 的 一个 迭 代公式 ,试 之对任意的初始近似 x0 (0,1) 迭代法都收敛,并证明其收敛性。 ( 2) x0 0.5 试 用 构 造 的 迭 代 公 式 计 算 的 近 似 值 xn , 要 求 xn xn1 103 。 四. 设有方程组
(xi )
f
(xn ))
h ba n
对任意多的积分节点数 n+1,该公式都是数值稳定的。(6 分)
2003-2004 第一学期
一.填空(3*5)
1.近似数 x* 0.231关于真值 x 0.229 有_____-位有效数字。
2. n x* 的相对误差为 x* 的相对误差的_______倍。 3.设 f (x) 可微,求 x f (x) 根的牛顿迭代公式______。
max
出解向量的近似向量,要求满足 1i3
x(k 1) i
x(k) i
106
。
六.用校正一次的欧拉预估校正格式求解初值问题
y' y2 +1
y(0) 0
的解函数在 x 0.6 处的近似值,要求写出计算格式。(步长 h 0.3,
小数点后保留 5 位有效数字)
y' f (x, y)
七.设有求解初值问题
a 1 3 x1 b1
1
a
2
x2
b2
3 2 a x3 b3
当参数 a 满足什么条件时,雅可比方法对任意的初始向量都收敛。
写出与雅求解初值问题
y'
y
2x
y
(0 x 0.2)
y(0) 1
取 h=0.1,小数点后保留 5 位。(8 分)
P(x) ,并写出误差的表达形式。
三.(1)用复化辛浦森公式计算
1 e x dx 0
为了使所得的近似值有
6
位
有效数字,问需要被积函数在多少个点上的函数值?
( 2) 取 7 个 等 距 节 点 ( 包 括 端 点 ) 用 复 化 辛 浦 森 公 式 计 算
7 1
x2
lg
xdx
,小数点后至少保留
4
位。
差 er (x1*x2*) ______。
2.矛盾方程组
x1 x1
2.8 3.2
的最小二乘解为_______。
3.近似数 x* 0.01999 关于真值 x* 0.02000 有______位有效数字.
4.取 3 1.732 ,迭代过程 yn1 yn 0.1 3 是否稳定?
5.求积公式
四.曲线 y x3 与 y 1 x 在点(0.7,0.3)附近有一个交点 (x, y) ,试用
牛顿迭代公式计算 x 的近似值 xn ,要求 xn xn1 103
五. 用雅可比方法解方程组
1 2 2 x1 5
1 1
1
x2
1
2 2 1 x3 3
是否对任意的初始向量 x(0) 都收敛,为什么?取 x(0) (0, 0, 0)T ,求
(计算结果保留到小数点后 4 位)
四.用乘幂法求矩阵 A 的按模最大的特征值 1的第 k 次近似值
1(k) 及相应的特征向量 x1 ,要求取初值 u0
4.
插
值
型
求
积
公
式
b a
f
( x)dx
n
i0
Ai
f
( xi
)
的
代
数
精
确
度
至
少
是
______次。
5.拟合三点 A (1, 0), B (1,3) 和 C (2, 2) 的常函数是 ________。
二.已知 f (x) 有如下的数据
xi
1
2
3
f (xi )
2
4
12
f ' (xi )
3
试写出满足插值条件 P(xi ) f (xi ) 以及 P '(2) f '(2) 的插值多项式
2002-2003 第一学期
一.计算及推导(5*8) 1.已知 x* 3.141, x ,试确定 x *近似 x 的有效数字位数。 2. 有 效 数 x1* 3.105, x2* 0.001, x3* 0.100 , 试 确 定 x1* x2* x3* 的 相 对 误差限。
3.已知 f (x) 0.5x3 0.1x 2 ,试计算差商 f 0,1, 2,3