计算方法大作业第一次

合集下载

2022年秋季国开一网一平台《计算方法》下载作业一

2022年秋季国开一网一平台《计算方法》下载作业一

计算方法下载作业(一)姓名:提交作业方式有以下三种,请务必与辅导教师沟通后选择:1.将此次作业用A4纸打印出来,手工书写答题,字迹工整,解答题要有解答过程,完成作业后交给辅导教师批阅.2.在线提交word文档.3.自备答题纸张,将答题过程手工书写,并拍照上传.一、填空题(每题2分,共10分)1./(0) = 1, /(2) = 3 ,用拉格朗日插值法求得的/⑴的近似值为•2.过(/"(/)), a,/区)),(/,/(%2))点的抛物插值多项式的余项为.3.用梯形公式计算积分.Ji %4.求矛盾方程组的最小二乘解是使最小.5.求向量X = (2,-4, 8)T的2-范数因b=.二、计算题(每题10分,共70分)1./ = 1, " = 2,亚=3,用牛顿插值法求正的近似值,并估计误差.X] += 4 X] 一 尤2 =3 21]-x 2 = 62.求矛盾方程组2.求矛盾方程组 的最小二乘解.求最小二乘一次式g]求)=% + a[x.4.求积分1)(幻口以/=;,%=;,%2=1为节点的内插求积公式,并求其代数精确度.5.用I复化梯形公式计算积打白“并估计误差.2X] + 3X2+5X3 = 2 6.用列主元消元法和全主元消元法解线性方程组<3再+5% +82=3 .X] + 3X2+3X3 = 22X1 + 3X 2 + 2X 3 = 1411+ 5X 2 + 3%3 = 2 .2%j + 4X 2 + 4X 3 = 27.用直接三角分解法解线性方程组 7.用直接三角分解法解线性方程组三、证明题(每题10分,共20分)n]1.设a(i=o,i,・・・.)为内插求积公式系数,其中〃>2,证明Zai=鼻(犷-。

D./=03.设X =0一.,%")' 证明口|X||C||X『<||X。

2022吉林《计算方法》大作业

2022吉林《计算方法》大作业

2022吉林《计算方法》大作业一、构造次数不超过三次的多项式P3(某),使满足:P3(0)=1;P3(1)=0;P3′(0)=P3′(1)=0。

(10分)解:求解这种带有导数的多项式逼近,我们考虑埃尔米特(Hermite)插值法。

采用构造差值基函数的方法,设P3(某)h0(某)某1h1(某)某0H0(某)某0H1(某)某0h(0某)上式中,h0,h1,H0,H1均为插值基函数,其中h0(某)(ab(某0))某(=0。

求得,a=1,b=2;所以综上P3(某)2某33某21某121;P3(1)=0;P3′(0)=P3′(1)),代入P3(0)=01二、设f(某i)=i(i=0,1,2),构造二次式p2(某),使满足:p2(某i)=f(某i)(i=0,1,2)(10分)解:本题没有明确给出某i的取值,为便于计算,我们取某i=i(i=0,1,2)。

依据公式P(某)(n2i0nki,k0nki,k0(某某k)(某i某k)f(某i))化简,利用MATLAB进行快速计算,我们得到多项式为P2(某)3某22某MATLAB代码如下:a=[0,1,2];b=[0,1,2];ym某yy1y2y=0;fori=1:length(a)y1=1;y2=1;forj=1:length(a)ifi~=jy1=y1某(某-a(j));y2=y2某(a(i)-a(j));endendy=y1某y2某b(i)+y;endcollect(y)三、设节点某i=i(i=0,1,2,3),f(0)=1,f(1)=0,f(2)=-7,f(3)=26,构造次数不超过3次的多项式p3(某),满足p3(某i)=f(某i),i=0,1,2,3(10分)解:依据公式P(某)(n3i1nki,k0nki,k0(某某k)(某i某k)f(某i))化简,利用MATLAB进行快速计算,我们得到多项式为P3(某)164某3488某2288某36MATLAB代码如下:a=[0,1,2,3];b=[1,0,-7,26];ym某yy1y2y=0;fori=1:length(a)y1=1;y2=1;forj=1:length(a)ifi~=jy1=y1某(某-a(j));y2=y2某(a(i)-a(j));endendy=y1某y2某b(i)+y;endcollect(y)四、对于上题的问题,构造Newton插值多项式。

计算方法大作业1 克服Runge现象

计算方法大作业1  克服Runge现象

x3
x2
x
1
S1 ( x)
-0.34685
0.2086
0.073964
0.038462
S2 (x)
S (xi 0 ) S x(i 0 )

S
'
(xi

0) S
xi' (
0 )i

S
'
'
x(i

0)S
xi' ' (
0)
1 ,n2, . . . , 1
(1)
这里共有了 3n-3 个条件,再加上条件(2)中的 n+1 个插值条件,共有 4n-2 个条件,
因此还需要 2 个方程才能确定 S (x) .通常可在区间[a, b]的端点 a x0,b xn 上各加一个边

dn1

1
2


Mn


dn

(6)
2 1


2
2
2
1 M1 d1

M2


d2




n 1
2
n
1


M
n
1

dn1
n
n 2 M n dn
由式(1)内点拼接条件,可得
i M i1 2M i i M i1 d j i 1, 2,..., n 1
(3) (4)
其中
i

hi 1 hi1
, hi

i

hi hi 1

计算方法大作业作业((北京科技大学研究生结课考试)

计算方法大作业作业((北京科技大学研究生结课考试)

《计算方法》平时作业(2010-2011学年第一学期)学 院:_________________________ 专 业:_________________________ 姓 名:_________________________ 学 号:_________________________ 联 系 方 式:_________________________机研111班机械工程学院作业(考试前交, 给出证明或计算过程、计算程序及计算结果) 1. 对向量()12Tn x x x x = 定义1211,max ,nk k k nk x x xx x ∞≤≤====∑设A 是n n ⨯矩阵,规定1111max x A Ax ==,1max x A Ax ∞∞∞==,2221max x A Ax ==证明111112max (),max (),.n nkj jk j nj nk k T A a A a A A A λ∞≤≤≤≤=====∑∑列范数行范数是最大特征值证明:1) 证明111||||max||nijj n i A a≤≤==∑1111111111||||max ||max ||||max ||||||max ||nnn nij iiji ij ij j nj nj nj ni i i i AX a x ax a x a ≤≤≤≤≤≤≤≤=====≤≤=∑∑∑∑所以 111||||111||||max ||||max||nijx j ni A Ax a=≤≤==≤∑设 1111max||||,1,0,1,0,||||1,nnijip i ip i ip j ni i aa x a x a x ≤≤====≥=-<=∑∑取若取若则11||n nip i ip i i a x a ===∑∑且。

因此,1111111||||max ||||||max ||n nn nij i ip iip ij j nj ni i i i Ax a x ax a a ≤≤≤≤=====≥==∑∑∑∑即 111||||111||||max ||||max||nijx j ni A Ax a=≤≤==≥∑ 则 111||||m a x ||nij j ni A a ≤≤==∑2)证明11||||max||niji n j A a∞≤≤==∑11111111||||m a x ||m a x ||||m a x ||||||m a x||nnnni j j i j j i j i j i ni ni ni nj j j j A X a x a x a x a ∞∞≤≤≤≤≤≤≤≤=====≤≤=∑∑∑∑ 所以 ||||111||||m a x ||||m a x ||nij x i n j A Ax a ∞∞∞=≤≤==≤∑设 111max||||,1,0,1,0,||||1,nnijpj j pj j pj i nj j aa x a x a x ∞≤≤====≥=-<=∑∑取若取若则11||nn pj j pj j j a a ===∑∑且。

北航数值分析大作业第一题幂法与反幂法

北航数值分析大作业第一题幂法与反幂法

《数值分析》计算实习题目第一题:1. 算法设计方案(1)1λ,501λ和s λ的值。

1)首先通过幂法求出按模最大的特征值λt1,然后根据λt1进行原点平移求出另一特征值λt2,比较两值大小,数值小的为所求最小特征值λ1,数值大的为是所求最大特征值λ501。

2)使用反幂法求λs ,其中需要解线性方程组。

因为A 为带状线性方程组,此处采用LU 分解法解带状方程组。

(2)与140k λλμλ-5011=+k 最接近的特征值λik 。

通过带有原点平移的反幂法求出与数k μ最接近的特征值 λik 。

(3)2cond(A)和det A 。

1)1=nλλ2cond(A),其中1λ和n λ分别是按模最大和最小特征值。

2)利用步骤(1)中分解矩阵A 得出的LU 矩阵,L 为单位下三角阵,U 为上三角阵,其中U 矩阵的主对角线元素之积即为det A 。

由于A 的元素零元素较多,为节省储存量,将A 的元素存为6×501的数组中,程序中采用get_an_element()函数来从小数组中取出A 中的元素。

2.全部源程序#include <stdio.h>#include <math.h>void init_a();//初始化Adouble get_an_element(int,int);//取A 中的元素函数double powermethod(double);//原点平移的幂法double inversepowermethod(double);//原点平移的反幂法int presolve(double);//三角LU 分解int solve(double [],double []);//解方程组int max(int,int);int min(int,int);double (*u)[502]=new double[502][502];//上三角U 数组double (*l)[502]=new double[502][502];//单位下三角L 数组double a[6][502];//矩阵Aint main(){int i,k;double lambdat1,lambdat2,lambda1,lambda501,lambdas,mu[40],det;init_a();//初始化Alambdat1=powermethod(0);lambdat2=powermethod(lambdat1);lambda1=lambdat1<lambdat2?lambdat1:lambdat2;lambda501=lambdat1>lambdat2?lambdat1:lambdat2;presolve(0);lambdas=inversepowermethod(0);det=1;for(i=1;i<=501;i++)det=det*u[i][i];for (k=1;k<=39;k++){mu[k]=lambda1+k*(lambda501-lambda1)/40;presolve(mu[k]);lambda[k]=inversepowermethod(mu[k]);}printf("------------所有特征值如下------------\n");printf("λ=%1.11e λ=%1.11e\n",lambda1,lambda501);printf("λs=%1.11e\n",lambdas);printf("cond(A)=%1.11e\n",fabs(lambdat1/lambdas));printf("detA=%1.11e \n",det);for (k=1;k<=39;k++){printf("λi%d=%1.11e ",k,lambda[k]);if(k % 3==0) printf("\n");} delete []u;delete []l;//释放堆内存return 0;}void init_a()//初始化A{int i;for (i=3;i<=501;i++) a[1][i]=a[5][502-i]=-0.064;for (i=2;i<=501;i++) a[2][i]=a[4][502-i]=0.16;for (i=1;i<=501;i++) a[3][i]=(1.64-0.024*i)*sin(0.2*i)-0.64*exp(0.1/i); }double get_an_element(int i,int j)//从A中节省存储量的提取元素方法{if (fabs(i-j)<=2) return a[i-j+3][j];else return 0;}double powermethod(double offset)//幂法{int i,x1;double beta=0,prebeta=-1000,yita=0;for (i=1;i<=501;i++)u[i]=1,y[i]=0;//设置初始向量u[]for (int k=1;k<=10000;k++){yita=0;for (i=1;i<=501;i++) yita=sqrt(yita*yita+u[i]*u[i]);for (i=1;i<=501;i++) y[i]=u[i]/yita;for (x1=1;x1<=501;x1++){u[x1]=0;for (int x2=1;x2<=501;x2++)u[x1]=u[x1]+((x1==x2)?(get_an_element(x1,x2)-offset):get_an_element(x1,x2))*y[x2];} prebeta=beta;beta=0;for (i=1;i<=501;i++) beta=beta+ y[i]*u[i];if (fabs((prebeta-beta)/beta)<=1e-12) {printf("offset=%f lambda=%f err=%e k=%d\n",offset,(beta+offset),fabs((prebeta-beta)/beta),k);break;};//输出中间过程,包括偏移量,误差,迭代次数}return (beta+offset);}double inversepowermethod(double offset)//反幂法{int i;double u[502],y[502];double beta=0,prebeta=0,yita=0;for (i=1;i<=501;i++)u[i]=1,y[i]=0; //设置初始向量u[]for (int k=1;k<=10000;k++){yita=0;for (i=1;i<=501;i++) yita=sqrt(yita*yita+u[i]*u[i]);for (i=1;i<=501;i++) y[i]=u[i]/yita;solve(u,y);prebeta=beta;beta=0;for (i=1;i<=501;i++) beta=beta+ y[i]*u[i];beta=1/beta;if (fabs((prebeta-beta)/beta)<=1e-12) {printf("offset=%f lambda=%f err=%e k=%d\n",offset,(beta+offset),fabs((prebeta-beta)/beta),k);break;};//输出中间过程,包括偏移量,误差,迭代次数}return (beta+offset);}int presolve(double offset)//三角LU分解{int i,k,j,t;double sum;for (k=1;k<=501;k++)for (j=1;j<=501;j++){u[k][j]=l[k][j]=0;if (k==j) l[k][j]=1;} //初始化LU矩阵for (k=1;k<=501;k++){for (j=k;j<=min(k+2,501);j++){sum=0;for (t=max(1,max(k-2,j-2)) ; t<=(k-1) ; t++)sum=sum+l[k][t]*u[t][j];u[k][j]=((k==j)?(get_an_element(k,j)-offset):get_an_element(k,j))-sum;}if (k==501) continue;for (i=k+1;i<=min(k+2,501);i++){sum=0;for (t=max(1,max(i-2,k-2));t<=(k-1);t++)sum=sum+l[i][t]*u[t][k];l[i][k]=(((i==k)?(get_an_element(i,k)-offset):get_an_element(i,k))-sum)/u[k][k];}}return 0;}int solve(double x[],double b[])//解方程组{int i,t;double y[502];double sum;y[1]=b[1];for (i=2;i<=501;i++){sum=0;for (t=max(1,i-2);t<=i-1;t++)sum=sum+l[i][t]*y[t];y[i]=b[i]-sum;}x[501]=y[501]/u[501][501];for (i=500;i>=1;i--){sum=0;for (t=i+1;t<=min(i+2,501);t++)sum=sum+u[i][t]*x[t];x[i]=(y[i]-sum)/u[i][i];}return 0;}int max(int x,int y){return (x>y?x:y);}int min(int x,int y){return (x<y?x:y);}3.计算结果结果如下图所示:部分中间结果:给出了偏移量(offset),误差(err),迭代次数(k)4.讨论迭代初始向量的选取对计算结果的影响,并说明原因使用u[i]=1(i=1,2,...,501)作为初始向量进行迭代,可得出以上结果。

北航数值分析全部三次大作业

北航数值分析全部三次大作业

北航数值分析全部三次大作业第一次大作业是关于解线性方程组的数值方法。

我们被要求实现各种常用的线性方程组求解算法,例如高斯消元法、LU分解法和迭代法等。

我首先学习了这些算法的原理和实现方法,并借助Python编程语言编写了这些算法的代码。

在实验中,我们使用了不同规模和条件的线性方程组进行测试,并比较了不同算法的性能和精度。

通过这个作业,我深入了解了线性方程组求解的原理和方法,提高了我的编程和数值计算能力。

第二次大作业是关于数值积分的方法。

数值积分是数值分析中的重要内容,它可以用于计算曲线的长度、函数的面积以及求解微分方程等问题。

在这个作业中,我们需要实现不同的数值积分算法,例如矩形法、梯形法和辛普森法等。

我学习了这些算法的原理和实现方法,并使用Python编写了它们的代码。

在实验中,我们计算了不同函数的积分值,并对比了不同算法的精度和效率。

通过这个作业,我深入了解了数值积分的原理和方法,提高了我的编程和数学建模能力。

第三次大作业是关于常微分方程的数值解法。

常微分方程是数值分析中的核心内容之一,它可以用于描述众多物理、化学和生物现象。

在这个作业中,我们需要实现不同的常微分方程求解算法,例如欧拉法、龙格-库塔法和Adams法等。

我学习了这些算法的原理和实现方法,并使用Python编写了它们的代码。

在实验中,我们解决了一些具体的常微分方程问题,并比较了不同算法的精度和效率。

通过这个作业,我深入了解了常微分方程的原理和方法,提高了我的编程和问题求解能力。

总的来说,北航数值分析课程的三次大作业非常有挑战性,但也非常有意义。

通过这些作业,我在数值计算和编程方面得到了很大的提升,也更加深入地了解了数值分析的理论和方法。

虽然这些作业需要大量的时间和精力,但我相信这些努力将会对我未来的学习和工作产生积极的影响。

数值计算方法大作业

数值计算方法大作业

数值计算方法大作业
嘿,咱今儿来聊聊数值计算方法大作业呀!这可真是个有趣又有点
头疼的事儿呢!
你想想看,数值计算方法就像是一把神奇的钥匙,能打开好多好多
知识的大门。

做数值计算方法大作业的时候,那感觉就好像在探索一
个神秘的宝藏岛,每一步都充满了未知和挑战。

比如说吧,遇到一个复杂的公式,就像是在森林里碰到了一团乱麻,得耐心地一点点解开。

有时候可能会觉得,哎呀,这可咋整呀,咋这
么难呢!但别急呀,咱得静下心来,仔细琢磨。

这不就跟咱平时解一
道特别难的谜题一样嘛,刚开始觉得毫无头绪,可一旦找到那个关键点,嘿,豁然开朗啦!
在做这个大作业的过程中,可千万不能马虎哟!每一个数据都得像
宝贝一样对待,要是不小心弄错了一个,那可能整个结果都跑偏啦!
这就好比盖房子,一块砖没放好,那房子说不定就歪了呀。

而且呀,团队合作也很重要呢!大家一起讨论,一起想办法,那可
比一个人闷头苦干强多啦。

就好像一群小伙伴一起去冒险,每个人都
能发挥自己的长处,互相帮助,多有意思呀!
还有啊,别忘了多检查几遍自己的成果。

这就跟出门前照镜子一样,得看看自己有没有哪里不妥当。

可别嫌麻烦,这可是关乎最后成果好
不好的关键一步呢!
数值计算方法大作业,它既是挑战,也是机会呀!通过完成它,我们能学到好多好多实用的知识和技能,以后遇到类似的问题,咱就可以轻松应对啦,这多棒呀!所以呀,别害怕它,勇敢地去面对,去探索,去享受这个过程吧!咱肯定能把它完成得漂漂亮亮的,让别人都竖起大拇指,你说是不是呢?。

奥鹏吉大17秋学期《计算方法》在线作业一含答案100分

奥鹏吉大17秋学期《计算方法》在线作业一含答案100分

奥鹏吉大17秋学期《计算方法》在线作业一含答案100分一、单选题(共15 道试题,共60 分。

)1. 数值3.1416的有效位数为()A. 3B. 4C. 5D. 6正确答案:C2. 常用的折线函数是简单()次样条函数A. 零B. 一C. 二D. 三正确答案:B3. 题面如下,正确的是()A. AB. BD. D正确答案:A4. 所谓()插值,就是将被插值函数逐段多项式化。

A. 牛顿B. 拉格朗日C. 三次样条D. 分段正确答案:D5. 题面如下图所示,正确的是()A. AB. BC. CD. D正确答案:B6. 设x* = 1.234是真值x = 1.23445的近似值,则x*有()位有效数字。

A. 1C. 3D. 4正确答案:D7. 若x = 1.345678,|x*-x|=0.00041... ,则x*的近似数x 具有( )位有效数字.A. 1B. 2C. 3D. 4正确答案:D8. 依据3个样点(0,1),(1,2)(2,3),其插值多项式p(x)为()A. xB. x+1C. x-1D. x+2正确答案:B9. 为了保证插值函数能更好地密合原来的函数,不但要求“过点”,即两者在节点上具有相同的函数值,而且要求“相切”,即在节点上还具有相同的导数值,这类插值称为()A. 牛顿插值B. 埃尔米特插值C. 分段插值D. 拉格朗日插值正确答案:B10. 用列主元消去法解线性方程组,A. 3B. 4C. -4D. 9正确答案:C11. 设x=2.40315是真值2.40194的近似值,则x具有()为有效数字A. 2B. 3C. 4D. 5正确答案:B12. 为了防止迭代发散,通常对迭代过程再附加一项要求,即保证函数值单调下降,满足这项要求的算法称为()A. 快速弦截法B. 弦截法C. 下山法D. 牛顿法正确答案:C13. 由于代数多项式的结构简单,数值计算和理论分析都很方便,实际上常取代数多项式作为插值函数,这就是所谓的()A. 泰勒插值B. 代数插值C. 样条插值D. 线性插值正确答案:B14. 设求方程f(x)=0的根的牛顿法收敛,则它具有()敛速。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数值计算第一次大作业实验目的 以Hilbert 矩阵为例,研究处理病态问题可能遇到的困难。

内容 Hilbert 矩阵的定义是,()11/21/31/1/21/31/41/(1)1/31/41/51/(2)1/1/(1)1/(2)1/(21)n i j H h n n n n n n n =⎡⎤⎢⎥+⎢⎥⎢⎥=+⎢⎥⎢⎥⎢⎥++-⎣⎦它是一个对称正定矩阵,而且()n cond H 随着n 的增加迅速增加,其逆矩阵1,()n i j H α-=,这里,2(1)(1)!(1)!(1)[(1)!(1)!]()!()!i j i j n i n j i j i j n i n j α+-+-+-=+----- 1) 画出ln(())~n cond H n 之间的曲线(可以用任何的一种范数)。

你能猜出ln(())~n cond H n 之间有何种关系吗?提出你的猜想并想法验证。

用行范数for n=1:50for i=1:nfor j=1:nA(i,j)=1/(i+j-1);B(i,j)=factorial(n+i-1)*factorial(n+j-1)/((i+j-1)*(factorial(i-1)*facto rial(j-1))^2*factorial(n-i)*factorial(n-j));endendresult1=0;for j=1:nresult1=result1+A(1,j);endresult1=log(result1);result2=0;for i=1:nfor j=1:nresult2=B(i,j)+result2;endresult(i)=log(result2);endm=max(result);x(n)=result1+m;endplot([1:50],x)对于更大的n 值,由于Hilbert 逆矩阵中的元素过大,溢出,故在此取50以内的n 。

图1 ln(())~n cond H n 关系曲线图猜想ln(())~n cond H n 之间存在线性关系验证:设ln(()n cond H an b ∞=+在以上程序基础上,再添加>>;>> y=x';>> l=1:40;>> k=l';>> p=polyfit(k,y,1) %一次多项式拟合p =3.5446 -3.0931% P=polyfit(k,y,2) %二次多项式拟合p =-0.0008 3.5778 -3.3253% P=polyfit(k,y,3) %三次多项式拟合0.0000 -0.0033 3.6198 -3.4777% P=polyfit(k,y,4) %四次多项式拟合-0.0000 0.0002 -0.0082 3.6654 -3.5815% P=polyfit(k,y,5) %五次多项式拟合p =0.0000 -0.0000 0.0007 -0.0156 3.7107 -3.6542从上式可以看出,高次项系数相对于一次项和常数项系数要小很多,所以取ln(() 3.5446 3.0931n cond H n ∞=-2)设D 是n H 的对角线元素开方构成的矩阵。

11ˆn n H D H D --=,不难看出ˆn H 依然是对称矩阵,而且对角线元素都是1。

把n H 变成ˆnH 的技术称为预处理。

画出ˆln(()/())n ncond H cond H n 之间的曲线(可以用任何一种范数)。

你能对于预处理得出什么印象?本小题用2范数>> clear>> n=500;>> c=[];>> for k=2:nH=hilb(k);D=diag(sqrt(diag(H)));D1=inv(D);H1=D1*H*D1;c=[c,cond(H1)/cond(H)];endC=log(c);k=2:n;plot(k,C,'r-')图 2 ˆln(()/())n ncond H cond H 随n 的变化曲线图 从图中给出了函数ˆln(()/())n ncond H cond H 的变化曲线。

我们观察到随着Hilbert 矩阵阶数的增大,函数值在[-6,4]区间波动,主要集中在[-3,1]区间。

我们知道在ˆ()()n n cond H cond H ≤时,有ˆln(()/())0n ncond H cond H ≤,在上图中,我们可以容易观察到,对于大部分n ,函数值都是小于或者等于零的,这说明n H 经过预处理后的ˆnH 地条件数较小,由于条件数愈大,方程组的病态愈严重,也就愈难得到方程组比较准确地解,所以预处理在一定程度上改善了原Hilbert 矩阵的特性。

3)对于412n ≤≤,给定不同的右端项b 。

分别用111112ˆˆ,,n n x H b x H D b x D x----===以及3\n x H b =,求解n H x b =,比较计算结果。

取n=4,b=[1;2;3;4]>> b=[1,2,3,4]';>> H=hilb(4);>> H1=inv(H);>> x1=H1*bx1 =1.0e+003 * -0.0640 0.9000 -2.5200 1.8200>> D=diag(sqrt(diag(H)));>> D1=inv(D);>> H2=D1*H*D1;>> H3=inv(H2);>> x2=D1*H3*D1*bx2 =1.0e+003 * -0.0640 0.9000 -2.5200 1.8200x3=H\bx3 =1.0e+003 * -0.0640 0.9000 -2.5200 1.8200同理,当n=5时,b=[1;2;3;4;5]x1 =1.0e+004 * 0.0125 -0.2880 1.4490 -2.4640 1.3230x2 =1.0e+004 * 0.0125 -0.2880 1.4490 -2.4640 1.3230x3 =1.0e+004 * 0.0125 -0.2880 1.4490 -2.4640 1.3230当n=6时,b=[1;2;3;4;5;6]x1 =1.0e+005 * -0.0022 0.0735 -0.5712 1.6632 -2.0160 0.8593x2 =1.0e+005 * -0.0022 0.0735 -0.5712 1.6632 -2.0160 0.8593x3 =1.0e+005 * -0.0022 0.0735 -0.5712 1.6632 -2.0160 0.8593当n=7时,b=[1;2;3;4;5;6;7]x1 =1.0e+006 * 0.0003 -0.0161 0.1777 -0.7728 1.5593 -1.46360.5165x2 =1.0e+006 * 0.0003 -0.0161 0.1777 -0.7728 1.5593 -1.46360.5165x3 =1.0e+006 * 0.0003 -0.0161 0.1777 -0.7728 1.5593 -1.46360.5165当n=8时,b=[1;2;3;4;5;6;7;8]x1 =1.0e+007 * -0.0001 0.0032 -0.0469 0.2818 -0.8316 1.2757 -0.9754 0.2934x2 =1.0e+007 * -0.0001 0.0032 -0.0469 0.2818 -0.8316 1.2757 -0.9754 0.2934x3 =1.0e+007 * -0.0001 0.0032 -0.0469 0.2818 -0.8316 1.2757 -0.9754 0.2934当n=9时,b=[1;2;3;4;5;6;7;8;9]x1 =1.0e+007 * 0.0001 -0.0058 0.1095 -0.8649 3.4685 -7.6684 9.4594 -6.0952 1.5972x2 =1.0e+007 * 0.0001 -0.0058 0.1095 -0.8649 3.4685 -7.6684 9.4594 -6.0952 1.5972x3 =1.0e+007 * 0.0001 -0.0058 0.1095 -0.8649 3.4685 -7.6685 9.4595 -6.0952 1.5972当n=10时,b=[1;2;3;4;5;6;7;8;9;10]x1 =1.0e+008 * -0.0000 0.0010 -0.0233 0.2330 -1.2107 3.5942 -6.3224 6.5105 -3.6228 0.8406x2 =1.0e+008 * -0.0000 0.0010 -0.0233 0.2330 -1.2107 3.5943 -6.3227 6.5108 -3.6229 0.8406x3 =1.0e+008 * -0.0000 0.0010 -0.0233 0.2330 -1.2108 3.5947 -6.3233 6.5114 -3.6232 0.8407当n=11时,b=[1;2;3;4;5;6;7;8;9;10;11]x1 =1.0e+009 * 0.0000 -0.0002 0.0046 -0.0564 0.3674 -1.3991 3.2758 -4.7725 4.2140 -2.0629 0.4294x2 =1.0e+009 * 0.0000 -0.0002 0.0046 -0.0567 0.3687 -1.4038 3.2861 -4.7867 4.2259 -2.0685 0.4305x3 =1.0e+009 * 0.0000 -0.0002 0.0046 -0.0567 0.3687 -1.4037 3.2858 -4.7862 4.2255 -2.0682 0.4305当n=12时,b=[1;2;3;4;5;6;7;8;9;10;11;12]Warning: Matrix is close to singular or badly scaled.Results may be inaccurate. RCOND = 2.692153e-017.x1 =1.0e+010 * -0.0000 0.0000 -0.0007 0.0110 -0.0886 0.4225 -1.26862.4585 -3.0691 2.3821 -1.0452 0.1980x2 =1.0e+010 * -0.0000 0.0000 -0.0009 0.0133 -0.1055 0.4975 -1.47882.8408 -3.5190 2.7127 -1.1831 0.2229x3 =1.0e+010 * -0.0000 0.0000 -0.0008 0.0123 -0.0978 0.4630 -1.38172.6636 -3.3099 2.5586 -1.1187 0.2113由此可见,当n 较小时,三种方法得出的结果基本相同,随着n 的增大,三种方法得出的结果的偏差也越来越大。

相关文档
最新文档