资源描述:
《北航数值分析大作业(三)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、北航数值分析大作业(三)(看到那个收10个财富值的就不舒服,共享的精髓就在于免费)一、题目关于x,y,t,u,v,w的下列方程组0.5cost+u+v+w-x=2.67t+0.5sinu+v+w-y=1.070.5t+u+cosv+w-x=3.74t+0.5u+v+sinw-y=0.79以及关于z,t,u的下列二维数表zut00.40.81.21.620-0.5-0.340.140.942.063.50.2-0.42-0.5-0.260.31.182.380.4-0.18-0.5-0.5-0.180.461.420.60
2、.22-0.34-0.58-0.5-0.10.620.80.78-0.02-0.5-0.66-0.5-0.021.01.50.46-0.26-0.66-0.74-0.5确定了一个二元函数z=f(x,y)。1.试用数值方法求出f(x,y)在区域D={(x,y)︱0≤x≤0.8,0.5≤y≤1.5}上的一个近似表达式要求p(x,y)一最小的k值达到以下的精度其中xi=0.08i,yj=0.5+0.05j。2.计算f(xi*,yj*),p(xi*,yj*)(i=1,2,…,8;j=1,2,…,5)的值,以观察p(x,y)逼近f
3、(x,y)的效果,其中xi*=0.1i,yj*=0.5+0.2j。二、算法设计方案1.将和代入非线性方程组中,用牛顿法解出和;2.以采取分片二次插值,选择(m,n)满足如果或,则m=1或4;如果或,则n=1或n=4。选择为插值节点,相应的Lagrange形式的插值多项式为其中(k=m-1,m,m+1)(r=n-1,n,n+1)并将和代入,便得到了数表。3.进行曲面拟和系数矩阵,其中,k从0逐渐增大,直到,便得到了要求精度的系数。三、全部源程序//在visualStudio2010的c语言环境下编译通过#include4、ath.h>#include#include#definen4staticdoublex[n],x_[n],U[11][21],t[11][21],u[11][21],tt[8][5],uu[8][5],UU[8][5],c[9][9];intk;doubleMAX(doublea[n])//求数组中的最大值{inti;doublemax;max=fabs(a[0]);for(i=0;imax)max=fabs(a[i]);return(max
5、);}voidDooLittle(doublea[n][n],doubleb[n])//选主元的DooLittle分解法求线性方程组{inti,j,k,t,i_k,m[n];doubleu[n][n],l[n][n],s[n],y[n];doubleu_x,l_u,max,temp;for(k=1;k<=n;k++){for(i=k;i<=n;i++){l_u=0;for(t=1;t<=k-1;t++)l_u=l_u+l[i-1][t-1]*u[t-1][k-1];s[i-1]=a[i-1][k-1]-l_u;}max=
6、fabs(s[k-1]);i_k=k;m[k-1]=k;for(i=k;i<=n;i++){if(fabs(s[i-1])>max){max=fabs(s[i-1]);i_k=i;m[k-1]=i_k;}}if(i_k!=k){for(t=1;t<=k-1;t++){temp=l[k-1][t-1];l[k-1][t-1]=l[i_k-1][t-1];l[i_k-1][t-1]=temp;}for(t=k;t<=n;t++){temp=a[k-1][t-1];a[k-1][t-1]=a[i_k-1][t-1];a[i_k
7、-1][t-1]=temp;}temp=s[k-1];s[k-1]=s[i_k-1];s[i_k-1]=temp;}u[k-1][k-1]=s[k-1];for(j=k+1;j<=n;j++){l_u=0;for(t=1;t<=k-1;t++)l_u=l_u+l[k-1][t-1]*u[t-1][j-1];u[k-1][j-1]=a[k-1][j-1]-l_u;}for(i=k+1;i<=n;i++)l[i-1][k-1]=s[i-1]/u[k-1][k-1];}for(k=1;k<=n-1;k++){temp=b[k-
8、1];b[k-1]=b[m[k-1]-1];b[m[k-1]-1]=temp;}y[0]=b[0];for(i=2;i<=n;i++){l_u=0;for(t=1;t<=i-1;t++)l_u=l_u+l[i-1][t-1]*y[t-1];y[i-1]=b[i-1]-l_u;}x_[n-1]=y[n-1]/u[n-1