当前位置:文档之家› 上海交通大学计算方法大作业

上海交通大学计算方法大作业

上海交通大学计算方法大作业
上海交通大学计算方法大作业

西安交通大学计算方法B上机报告

计算方法上机报告

姓名: 学号: 班级:能动上课班级:

题目及求解: 一、对以下和式计算: ∑ ∞ ? ?? ??+-+-+-+=0681581482184161n n n n S n ,要求: ① 若只需保留11个有效数字,该如何进行计算; ② 若要保留30个有效数字,则又将如何进行计算; 1 算法思想 (1)根据精度要求估计所加的项数,可以使用后验误差估计,通项为: 1421114 16818485861681 n n n a n n n n n ε??= ---<< ?+++++??; (2)为了保证计算结果的准确性,写程序时,从后向前计算; (3)使用Matlab 时,可以使用以下函数控制位数: digits(位数)或vpa(变量,精度为数) 2 算法结构 ;0=s ?? ? ??+-+-+-+= 681581482184161n n n n t n ; for 0,1,2,,n i =??? if 10m t -≤ end; for ,1,2,,0n i i i =--??? ;s s t =+ 3 Matlab 源程序 clear; %清除工作空间变量 clc; %清除命令窗口命令 m=input('请输入有效数字的位数m='); %输入有效数字的位数 s=0;

for n=0:50 t=(1/16^n)*(4/(8*n+1)-2/(8*n+4)-1/(8*n+5)-1/(8*n+6)); if t<=10^(-m) %判断通项与精度的关系break; end end; fprintf('需要将n值加到n=%d\n',n-1); %需要将n值加到的数值 for i=n-1:-1:0 t=(1/16^i)*(4/(8*i+1)-2/(8*i+4)-1/(8*i+5)-1/(8*i+6)); s=s+t; %求和运算 end s=vpa(s,m) %控制s的精度 4 结果与分析 若保留11位有效数字,则n=7,此时求解得: s =3.1415926536; 若保留30位有效数字时,则n=22, 此时求解得: s =3.8。 通过上面的实验结果可以看出,通过从后往前计算,这种算法很好的保证了计算结果要求保留的准确数字位数的要求。 二、某通信公司在一次施工中,需要在水面宽度为20米的河沟底部沿直线走向铺设一条沟底光缆。在铺设光缆之前需要对沟底的地形进行初步探测,从而估计所需光缆的长度,为工程预算提供依据。已探测到一组等分点位置的深度数据(单位:米)如下表所示:

数值分析大作业-三、四、五、六、七

大作业 三 1. 给定初值 0x 及容许误差 ,编制牛顿法解方程f (x )=0的通用 程序. 解:Matlab 程序如下: 函数m 文件:fu.m function Fu=fu(x) Fu=x^3/3-x; end 函数m 文件:dfu.m function Fu=dfu(x) Fu=x^2-1; end 用Newton 法求根的通用程序Newton.m clear; x0=input('请输入初值x0:'); ep=input('请输入容许误差:'); flag=1; while flag==1 x1=x0-fu(x0)/dfu(x0); if abs(x1-x0)

while flag1==1 && m<=10^3 x1=x0-fu(x0)/dfu(x0); if abs(x1-x0)=ep flag=0; end end fprintf('最大的sigma 值为:%f\n',sigma); 2.求下列方程的非零根 5130.6651()ln 05130.665114000.0918 x x f x x +??=-= ?-???解:Matlab 程序为: (1)主程序 clear clc format long x0=765; N=100; errorlim=10^(-5); x=x0-f(x0)/subs(df(),x0); n=1; while nerrorlim n=n+1; else break ; end x0=x; end disp(['迭代次数: n=',num2str(n)]) disp(['所求非零根: 正根x1=',num2str(x),' 负根x2=',num2str(-x)]) (2)子函数 非线性函数f function y=f(x) y=log((513+0.6651*x)/(513-0.6651*x))-x/(1400*0.0918); end

数值计算方法大作业

目录 第一章非线性方程求根 (3) 1.1迭代法 (3) 1.2牛顿法 (4) 1.3弦截法 (5) 1.4二分法 (6) 第二章插值 (7) 2.1线性插值 (7) 2.2二次插值 (8) 2.3拉格朗日插值 (9) 2.4分段线性插值 (10) 2.5分段二次插值 (11) 第三章数值积分 (13) 3.1复化矩形积分法 (13) 3.2复化梯形积分法 (14) 3.3辛普森积分法 (15) 3.4变步长梯形积分法 (16) 第四章线性方程组数值法 (17) 4.1约当消去法 (17) 4.2高斯消去法 (18) 4.3三角分解法 (20)

4.4雅可比迭代法 (21) 4.5高斯—赛德尔迭代法 (23) 第五章常积分方程数值法 (25) 5.1显示欧拉公式法 (25) 5.2欧拉公式预测校正法 (26) 5.3改进欧拉公式法 (27) 5.4四阶龙格—库塔法 (28)

数值计算方法 第一章非线性方程求根 1.1迭代法 程序代码: Private Sub Command1_Click() x0 = Val(InputBox("请输入初始值x0")) ep = Val(InputBox(请输入误差限ep)) f = 0 While f = 0 X1 = (Exp(2 * x0) - x0) / 5 If Abs(X1 - x0) < ep Then Print X1 f = 1 Else x0 = X1 End If Wend End Sub 例:求f(x)=e2x-6x=0在x=0.5附近的根(ep=10-10)

1.2牛顿法 程序代码: Private Sub Command1_Click() b = Val(InputBox("请输入被开方数x0")) ep = Val(InputBox(请输入误差限ep)) f = 0 While f = 0 X1 = x0 - (x0 ^ 2 - b) / (2 * b) If Abs(X1 - x0) < ep Then Print X1 f = 1 Else x0 = X1 End If Wend End Sub 例:求56的值。(ep=10-10)

数值分析大作业三 四 五 六 七

大作业 三 1. 给定初值 0x 及容许误差 ,编制牛顿法解方程f (x )=0的通用程序. 解:Matlab 程序如下: 函数m 文件:fu.m function Fu=fu(x) Fu=x^3/3-x; end 函数m 文件:dfu.m function Fu=dfu(x) Fu=x^2-1; end 用Newton 法求根的通用程序Newton.m clear; x0=input('请输入初值x0:'); ep=input('请输入容许误差:');

flag=1; while flag==1 x1=x0-fu(x0)/dfu(x0); if abs(x1-x0)

while flag==1 sigma=k*eps; x0=sigma; k=k+1; m=0; flag1=1; while flag1==1 && m<=10^3 x1=x0-fu(x0)/dfu(x0); if abs(x1-x0)=ep flag=0;

end end fprintf('最大的sigma 值为:%f\n',sigma); 2.求下列方程的非零根 5130.6651()ln 05130.665114000.0918 x x f x x +?? =-= ?-???解: Matlab 程序为: (1)主程序 clear clc format long x0=765; N=100; errorlim=10^(-5); x=x0-f(x0)/subs(df(),x0); n=1;

计算方法教学大纲-致远学院-上海交通大学

上海交通大学致远学院2014年秋季学期 《随机过程》课程教学说明 一.课程基本信息 1.开课学院(系):致远学院 2.课程名称:《随机过程》(Stochastic Processes) 3.学时/学分:64学时/4学分 4.先修课程:概率论 5.上课时间:周二、四,3-4节课 6.上课地点:中院207 7.任课教师:韩东(donghan@https://www.doczj.com/doc/098924340.html,) 8.办公室及电话:数学楼1206,54743148-1206 9.助教:张登(zhangdeng@https://www.doczj.com/doc/098924340.html,) 10.Office hour:周四下午3-5点,数学楼1206 二.课程主要内容(中英文) 随机过程是定量研究随机现象(事件)统计规律的一门数学分支学科。学习《随机过程》的主要目的是:了解、认识随机现象的统计性质;知道如何构造随机模型并且能计算和分析随机事件随时间发生变化的的概率及其相关性质。《随机过程》主要包括:Poisson过程、Markov过程、鞅过程、Bronian 运动、随机分析基础(Ito积分与随机微分方程)、平稳过程等。 Stochastic Processes are ways of quantifying the dynamic relations of sequences of random events. It is a branch of mathematics. The main content of this course includes: General theory of stochastic processes; Poisson process and renewal theorems; Martingales; Discrete-time Markov Chains; Continuous-time Markov Chains; Brownian motion; Introduction to stochastic analysis; Stationary processes and ARMA models. 第一章概率论精要 主要内容:概率公理化,全概率公式和Bayes 公式,随机变量及其数字特征、条件期望、极限定理。重点与难点:条件期望和极限定理。 第二章随机过程的基本概念 主要内容:随机过程的定义、随机过程的存在性、随机过程的数字特征。 重点与难点:随机过程的存在性。 第三章Poisson 过程 主要内容:Poisson过程的定义及性质,首达时间与其间隔的分布,Poisson过程的极限定理。 重点与难点:首达时间间隔与Poisson过程的关系。 第四章Markov过程

西工大计算方法作业答案

参考答案 第一章 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* 102 1 102211021)(-----?≤??=?= n n r a x ε 可求得满足上述不等式的最小正整数n =4,即至少取四位有效数字,故满足精度要求可取6≈2.449。 5. 答:(1)*x (0>x )的相对误差约是* x 的相对误差的1/2倍; (2)n x )(* 的相对误差约是* 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 ++≤ =* *****) ()()(tgc c e b b e a a e ++ 注意当20* π < >c tgc ,即1 *1 * )() (--

7.设20= y ,41.1*0 =y ,δ=?≤--2* 00102 1y y 由 δ1* 001*111010--≤-=-y y y y , δ2*111*221010--≤-=-y y y y M δ10*991*10101010--≤-=-y y y y 即当0y 有初始误差δ时,10y 的绝对误差的绝对值将减小10 10-倍。而110 10 <<-δ,故计算过程稳定。 8. 变形后的表达式为: (1))1ln(2--x x =)1ln(2-+-x x (2)arctgx x arctg -+)1(=) 1(11 ++x x arctg (3) 1ln )1ln()1(ln 1 --++=? +N N N N dx x N N =ΛΛ+-+- +3 2413121)1ln(N N N N 1ln )11ln()1(-++ +=N N N N =1)1ln()1 1ln(-+++N N N (4)x x sin cos 1-=x x cos 1sin +=2x tg

西安交通大学计算方法B大作业资料

计算方法上机报告 姓名: 学号: 班级: 目录 题目一----------------------------------------------------------------- 4 - 1.1题目内容-------------------------------------------------------- 4 - 1.2算法思想-------------------------------------------------------- 4 -

1.3Matlab 源程序----------------------------------------------------- 5 - 1.4计算结果及总结------------------------------------------------- 5 - 题目二----------------------------------------------------------------- 7 - 2.1题目内容-------------------------------------------------------- 7 - 2.2算法思想-------------------------------------------------------- 7 - 2.3 Matlab 源程序---------------------------------------------------- 8 - 2.4计算结果及总结------------------------------------------------- 9 - 题目三--------------------------------------------------------------- -11- 3.1题目内容----------------------------------------------------------- 11 - 3.2算法思想----------------------------------------------------------- 11 - 3.3Matlab 源程序--------------------------------------------------- -13 - 3.4计算结果及总结----------------------------------------------------- 14 - 题目四--------------------------------------------------------------- -15 - 4.1题目内容----------------------------------------------------------- 15 - 4.2算法思想----------------------------------------------------------- 15 - 4.3Matlab 源程序--------------------------------------------------- -15 - 4.4计算结果及总结----------------------------------------------------- 16 - 题目五--------------------------------------------------------------- -18 - -18 - 5.1题目内容 5.2算法思想----------------------------------------------------------- 18 - 5.3 Matlab 源程序--------------------------------------------------- -18 -

2020年奥鹏吉大网络教育《计算方法》大作业解答

2020年奥鹏吉大网络教育《计算方法》大作业解答 (说明:前面是题目,后面几页是答案完整解答部分,注意的顺序。) 一、解线性方程 用矩阵的LU分解算法求解线性方程组 用矩阵的Doolittle分解算法求解线性方程组 用矩阵的Doolittle分解算法求解线性方程组 用高斯消去法求解线性方程组 用高斯消去法求解线性方程组 用主元素消元法求解线性方程组 用高斯消去法求解线性方程组 利用Doolittle分解法解方程组Ax=b,即解方程组 1、用矩阵的LU分解算法求解线性方程组 X1+2X2+3X3 = 0 2X1+2X2+8X3 = -4 -3X1-10X2-2X3 = -11 2、用矩阵的Doolittle分解算法求解线性方程组 X1+2X2+3X3 = 1 2X1– X2+9X3 = 0 -3X1+ 4X2+9X3 = 1 3、用矩阵的Doolittle分解算法求解线性方程组 2X1+X2+X3 = 4 6X1+4X2+5X3 =15 4X1+3X2+6X3 = 13 4、用高斯消去法求解线性方程组

2X 1- X 2+3X 3 = 2 4X 1+2X 2+5X 3 = 4 -3X 1+4X 2-3X 3 = -3 5、用无回代过程消元法求解线性方程组 2X 1- X 2+3X 3 = 2 4X 1+2X 2+5X 3 = 4 -3X 1+4X 2-3X 3 = -3 6、用主元素消元法求解线性方程组 2X 1- X 2+3X 3 = 2 4X 1+2X 2+5X 3 = 4 -3X 1+4X 2-3X 3 = -3 7、用高斯消去法求解线性方程组 123123123234 4272266 x x x x x x x x x -+=++=-++= 8、利用Doolittle 分解法解方程组Ax=b ,即解方程组 12341231521917334319174262113x x x x -? ????? ???? ??-??????=? ? ????--?????? --???? ??

西安交通大学计算方法B大作业

计算方法上机报告 姓名: 学号: 班级:

目录 题目一------------------------------------------------------------------------------------------ - 4 - 1.1题目内容 ---------------------------------------------------------------------------- - 4 - 1.2算法思想 ---------------------------------------------------------------------------- - 4 - 1.3Matlab源程序----------------------------------------------------------------------- - 5 - 1.4计算结果及总结 ------------------------------------------------------------------- - 5 - 题目二------------------------------------------------------------------------------------------ - 7 - 2.1题目内容 ---------------------------------------------------------------------------- - 7 - 2.2算法思想 ---------------------------------------------------------------------------- - 7 - 2.3 Matlab源程序---------------------------------------------------------------------- - 8 - 2.4计算结果及总结 ------------------------------------------------------------------- - 9 - 题目三----------------------------------------------------------------------------------------- - 11 - 3.1题目内容 --------------------------------------------------------------------------- - 11 - 3.2算法思想 --------------------------------------------------------------------------- - 11 - 3.3Matlab源程序---------------------------------------------------------------------- - 13 - 3.4计算结果及总结 ------------------------------------------------------------------ - 14 - 题目四----------------------------------------------------------------------------------------- - 15 - 4.1题目内容 --------------------------------------------------------------------------- - 15 - 4.2算法思想 --------------------------------------------------------------------------- - 15 - 4.3Matlab源程序---------------------------------------------------------------------- - 15 - 4.4计算结果及总结 ------------------------------------------------------------------ - 16 - 题目五----------------------------------------------------------------------------------------- - 18 -

上海交通大学计算方法作业答案.docx

P50-1 %%牛顿插值多项式 function [ c, d] = newpoly ( x,y ) %这里X为n个节点的横坐标所组成的向量,y为纵坐标所组成的向量。%c为所求的牛顿插值多项式的系数构成的向量。 n=length(x); d=zeros (n, n); d(: , l)=y*; for j=2 : n for k= j : n d(k, j) = (d(k, j-1) - d (k-l z j-1)) / (x(k)-x(k-j + l)); end end c = d (n, n); for k=(n-1) : - 1 : 1 c =conv (c z poly (x (k))); m=length (c); c (m) =c (m) + d (k, k); end >> X ==0.2 : 0.2 :1 ; >> y =[ 0.98,0.92,0.81,0.64,0.38]; >> c= newpoly(x, y ) c =-0.5208 0.8333 -1-1042 0.1917 0.9800 % %三次样条插值 x=[0.2,0.4,0.6,0.8,1.0]; y=[0.98, 0.92z 0.81,0.64,0.38]; x0 = [0.2,0.28,1.0,1.08]; pp=csape(x A y, 1 variational1); %%三次样条函数表达式 disp(pp?coefs); -1-3393-0.0000-0.24640.9800 0 ?4464-0.8036-0.40710.9200 -1.6964-0.5357-0.67500.8100 2.5893-1.5536-1.09290.6400

数值分析大作业

数值分析报大作业 班级:铁道2班 专业:道路与铁道工程 姓名:蔡敦锦 学号:13011260

一、序言 该数值分析大作业是通过C语言程序编程在Microsoft Visual C++ 6.0编程软件上运行实现的。本来是打算用Matlab软间来计算非线性方程的根的。学习Matlab也差不多有一个多月了,感觉自己编程做题应该没什么问题了;但是当自己真心的去编程、运行时才发现有很多错误,花了一天时间修改、调试程序都没能得到自己满意的结果。所以,我选择了自己比较熟悉的C程序语言来编程解决非线性的求值问题,由于本作业是为了比较几种方法求值问题的收敛速度和精度的差异,选择了一个相对常见的非线性函数来反映其差异,程序运行所得结果我个人比较满意。编写C语言,感觉比较上手,程序出现问题也能比较熟练的解决。最终就决定上交一份C程序语言编程的求值程序了!

二、选题 本作业的目的是为了加深对非线性方程求根方法的二分法、简单迭代法、、牛顿迭代法弦截法等的构造过程的理解;能将各种方法的算法描述正确并且能够改编为程序并在计算机上实现程序的正确合理的运行,能得到自己满意的结果,并且能调试修改程序中可能出现的问题和程序功能的增减修改。本次程序是为了比较各种方法在求解同一非线性方程根时,在收敛情况上的差异。 为了达到上面的条件我选择自己比较熟悉的语言—C语言来编程,所选题目为计算方程f(x)=x3-2x-5=0在区间[2,3]内其最后两近似值的差的绝对值小于等于5 ?的根的几种方法的比较。 110- 本文将二分法、牛顿法、简单迭代法、弦截法及加速收敛法这五种方法在同一个程序中以函数调用的方式来实现,比较简洁明了,所得结果能很好的比较,便于分析;发现问题和得出结论。

西安交大计算方法b大作业课件

《计算方法B》上机 实验报告 学院:机械工程学院 班级: 姓名: 学号: 2015年12月22日

1 1.计算以下和式: S = ∑ 8n + 1 - 8n + 4 - 8n + 5 - 8n + 6 ? ,要求: 4 2 1 1 ∞ n =0 16 n ? ? ? ? (1)若保留 11 个有效数字,给出计算结果,并评价计算的算法; (2)若要保留 30 个有效数字,则又将如何进行计算。 实现思想: 以上问题出现了近似数相减的问题,为了减小误差,可分别求得减数之和 以及被减数之和,最后将两者相减。另外,减数与被减数求和均为同号计算, 按照绝对值递增顺序相加可减小舍入误差。此题中对有效数字有要求,因而计 算时首先需要根据有效数字位数计算得出迭代次数,以保证计算值的精度。 源程序: m=input('输入有效数字个数m='); s0=1;s1=0;s2=0;n=0; %判断迭代次数 while s0>=0.5*10^-(m-1) s0=4/(16^n*(8*n+1))-2/(16^n*(8*n+4))-1/(16^n*(8*n+5))- 1/(16^n*(8*n+6)); n=n+1; end %分别求解各项并求和 for k=n-1:-1:0 a1=4/(16^k*(8*k+1)); a2=2/(16^k*(8*k+4)); a3=1/(16^k*(8*k+5)); a4=1/(16^k*(8*k+6)); s1=a1+s1; s2=a4+a3+a2+s2; end S=vpa(s1-s2,m)

实验结果:11位有效数字计算结果如图1所示;30为有效数字计算结果如图2所示。 图1.11位有效数字计算结果图2.30为有效数字计算结果

科学计算-致远学院-上海交通大学

上海交通大学致远学院计算机班 《科学计算》教学大纲 一、课程基本信息 课程名称(中文):科学计算 课程名称(英文):Scientific Computing 课程代码:MA235 学分 / 学时:3学分 / 48学时 适用专业:致远学院计算机班 先修课程:数学分析,线性代数 后续课程:相关课程 开课单位:理学院数学系计算与运筹教研室 Office hours: 每周四14:00—16:00,地点:数学楼1204 二、课程性质和任务 科学计算的兴起是20世纪最重要的科学进步之一,其核心主要为利用计算机高效求解来源于科学研究和工程设计中的各类问题。随着高性能计算机的飞速发展,科学计算在国民经济与国防建设的许多重要领域都取得很大成功,因此,实验、理论、计算被公认为科学与工程领域中不可或缺的三大基本研究方法。本课程的主要任务是通过算法设计、理论分析和上机实算“三位一体”的教学方法,使学生能掌握科学计算领域算法设计的一些基本方法和基本原理,能对算法进行有效的收敛性、稳定性和复杂度分析,进一步提升同学们利用计算机解决实际问题的能力。本课程将着重介绍插值与逼近、数值积分与数值微分、非线性方程与线性方程组的数值解法,简要介绍矩阵的特征值与特征向量计算和常微分方程初值问题数值解法等内容。本课程重视实践环节建设,学生要做一定数量的大作业。 三、教学内容和基本要求 1 绪论 1.1计算机数值计算基本原理 1.2 误差的基本概念与估计 1.3 避免算法失效的基本原则

1.4 MATLAB语言简介 2 函数的多项式插值与逼近 2.1 函数插值与逼近问题的提法 2.2 Lagrange插值方法 2.3 Newton插值方法 2.4 Hermite插值方法 2.5 分段低次多项式插值 2.6 最佳平方逼近 2.7 正交多项式 2.8 变分原理简介 2.9 函数拟合的正则化方法 3 数值积分与数值微分 3.1 数值积分概论 3.2 Newton-Cotes公式 3.3 复化求积公式 3.4 Romberg求积公式与自适应求积方法3.5 Gauss求积公式 3.6 数值微分 4 非线性方程求根 4.1 方程求根与二分法 4.2 不动点迭代法及其收敛性 4.3 迭代收敛的加速算法 4.4 Newton法及收敛性分析

计算方法上机实习题大作业(实验报告).

计算方法实验报告 班级: 学号: 姓名: 成绩: 1 舍入误差及稳定性 一、实验目的 (1)通过上机编程,复习巩固以前所学程序设计语言及上机操作指令; (2)通过上机计算,了解舍入误差所引起的数值不稳定性 二、实验内容 1、用两种不同的顺序计算10000 21n n -=∑,分析其误差的变化 2、已知连分数() 1 01223//(.../)n n a f b b a b a a b =+ +++,利用下面的算法计算f : 1 1 ,i n n i i i a d b d b d ++==+ (1,2,...,0 i n n =-- 0f d = 写一程序,读入011,,,...,,,...,,n n n b b b a a 计算并打印f 3、给出一个有效的算法和一个无效的算法计算积分 1 041 n n x y dx x =+? (0,1,...,1 n = 4、设2 2 11N N j S j == -∑ ,已知其精确值为1311221N N ?? -- ?+?? (1)编制按从大到小的顺序计算N S 的程序 (2)编制按从小到大的顺序计算N S 的程序 (3)按两种顺序分别计算10001000030000,,,S S S 并指出有效位数 三、实验步骤、程序设计、实验结果及分析 1、用两种不同的顺序计算10000 2 1n n -=∑,分析其误差的变化 (1)实验步骤: 分别从1~10000和从10000~1两种顺序进行计算,应包含的头文件有stdio.h 和math.h (2)程序设计: a.顺序计算

#include #include void main() { double sum=0; int n=1; while(1) { sum=sum+(1/pow(n,2)); if(n%1000==0)printf("sun[%d]=%-30f",n,sum); if(n>=10000)break; n++; } printf("sum[%d]=%f\n",n,sum); } b.逆序计算 #include #include void main() { double sum=0; int n=10000; while(1) { sum=sum+(1/pow(n,2)); if(n%1000==0) printf("sum[%d]=%-30f",n,sum); if(n<=1)break; n--; } printf("sum[%d]=%f\n",n,sum); } (3)实验结果及分析: 程序运行结果: a.顺序计算

计算方法大作业第一次

数值计算第一次大作业 实验目的 以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:50 for i=1:n for j=1:n A(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)); end end result1=0; for j=1:n result1=result1+A(1,j); end result1=log(result1); result2=0; for i=1:n for j=1:n result2=B(i,j)+result2; end result(i)=log(result2); end m=max(result);

数值计算方法大作业

题目利用数值计算方法求取基尼系数 姓名与学号 指导教师 年级与专业 所在学院

一、问题综述: 基尼系数(Gini coefficient),是20世纪初意大利学者科拉多·吉尼根据劳伦茨曲线所定义的判断收入分配公平程度的指标。是比例数值,在0和1之间。基尼指数(Gini index)是指基尼系数乘100倍作百分比表示。在民众收入中,如基尼系数最大为“1”,最小等于“0”。前者表示居民之间的收入分配绝对不平均(即所有收入都集中在一个人手里,其余的国民没有收入),而后者则表示居民之间的收入分配绝对平均,即人与人之间收入绝对平等,但这两种情况只出现在理论上;因此,基尼系数的实际数值只能介于0~1之间,基尼系数越小收入分配越平均,基尼系数越大收入分配越不平均。 设右图中的 实际收入分配曲线 (红线)和收入分 配绝对平等线(绿 线)之间的面积为 A,和收入分配绝 对不平等线(蓝 线)之间的面积为 B,则表示收入与 人口之间的比例的基尼系数为 A A+B 。 如果A为零,即基尼系数为0,表示收入分配完全平等(红线和绿线重叠);如果B为零,则系数为1,收入分配绝对不平等(红线和蓝线重叠)。该系数可在0和1之间取任何值。实际上,一般国家的收入分配,既不是完全平等,也不是完全不平等,而是在两者之间,劳伦茨曲线为一条凸向横轴的曲线。收入分配越趋向平等,劳伦茨曲线的弧度越小(斜度越倾向45度),基尼系数也越小;反之,收入分配越趋向不平等,劳伦茨曲线的弧度越大,那么基尼系数也越大。

基尼系数的调节需要国家通过财政政策进行国民收入的二次分配,例如对民众的财政公共服务支出和税收等,从而让收入均等化,令基尼系数缩小。 基尼系数由于给出了反映居民之间贫富差异程度的数量界线,可以较客观、直观地反映和监测居民之间的贫富差距,预报、预警和防止居民之间出现贫富两极分化。因此得到世界各国的广泛认同和普遍采用。 联合国有关组织规定: ●若低于0.2表示收入平均; ●0.2-0.3表示相对平均; ●0.3-0.4表示相对合理; ●0.4-0.5表示收入差距大; ●0.6以上表示收入差距悬殊。 2013年1月18日,中国国家统计局一次性公布了自2003年以来十年的全国基尼系数。大陆统计局局长马建堂称,按照国际新的统计口径,大陆居民收入的基尼系数,2003年是0.479,2004年是0.473,2005年为0.485,2006年为0.487,2007年为0.484,2008年为0.491,2009年为0.490,2010年为 0.481,2011年为0.477,到2012年的数据是0.474,为2005年以来最低水平,而自2008年起,基尼系数也在逐年下降。而此前西南财大调查数据显示,中国的2012年的基尼系数为0.61,但无论是民间统计的数据还是官方统计的数据,结果都遭到学术界质疑,仍具有争议性。 本文将根据网络上国家统计局的数据,利用上面给出的公式来计算我国从2002年以来的城镇居民基尼系数,并将计算出的数据与现有数据进行比较。 全球基尼系数

计算方法大作业非线性方程求根的新方法

计算方法大作业 题目:非线性方程求根的新方法 班级:xxx 学号:xxx 姓名:xxx

非线性方程求根的新方法 一、问题引入 在计算和实际问题中经常遇到如下非线性问题的求解: F(x)=0 (1) 我们经常采用的方法是经典迭代法: 经典迭代方法 不动点迭代方法是一种应用广泛的方法,其加速方法较多,如Stiffensen加速方法的局部收敛阶(以下简称为收敛阶)为2阶;牛顿迭代方法的收敛阶亦为2阶,且与其相联系的一些方法如简化牛顿法、牛顿下山法、弦截法的收敛阶阶数介于1和2之间;而密勒法的收敛阶与牛顿法接近,但计算量较大且涉及零点的选择问题,同时收敛阶也不够理想。 因此本文介绍一种新的迭代方法 从代数角度看,牛顿法和密勒法分别是将f(x)在xk附近近似为一线性函数和二次抛物插值函数,一种很自然的想法就是能否利用Taylor展开,将f(x)在xk附近近似为其他的二次函数?答案是肯定的.其中的一种方法是将f(x)在Xk处展开3项,此时收敛阶应高于牛顿法,这正是本文的出发点. 二、算法推导 设函数f(x)在xk附近具有二阶连续导数,则可将f(x)在xk处进行二阶Taylor展开,方程(1) 可近似为如下二次方程: f(xk)+f’(xk)(x-xk)+2^(-1)f’’(xk)(x-xk)^2=0,(2) 即 2^(-1)f’’(xk)x^2+(f’(xk)-xkf’’(xk))x+2^(-1)f’’(xk)xk^2-xkf’(xk)+f(xk)=0(3) 利用求根公式可得 X=xk-(f’’(xk))^(-1)(f’(xk))-sqrt((f’(xk)^2±2f’’(xk)f(xk)))(4) 其中±符号的选取视具体问题而定,从而可构造迭代公式 X k+1=xk-(f’’(xk))^(-1)(f’(xk))-sqrt((f’(xk)^2±2f’’(xk)f(xk)))(5) 确定了根号前正负号的迭代公式(5),可称为基于牛顿法和Taylor展开的方法,简记为BNT 方法. 为描述方便起见,以下将f(xk),f’(xk),f’’(xk)分别记为f,f’,f’’.首先,二次方程(3)对应于一条抛物曲线,其开口方向由f’’(xk),x∈U(xk)的符号确定,其中U(xk)为xk的某邻域,其顶点为 P(xk-(f’’)^(-1)f’,fk-(2f’’)^(-1)(f’)^2).为使(5)式唯一确定x k+1,须讨论根式前正负号的取舍问题.下面从该方法的几何意义分析(5)式中正负号的取舍. 1)当f(xk)=o时,z。即为所求的根. 2)当f(xk)>O时,根据y=f(x)的如下4种不同情形(见图1)确定(5)式中根号前的符号. (a)当f’’(xk)o时,“±”取为“一”;(b)当f’’(xk)o,f(xk)>o时,“±”取为“一”;(d)当f’’(xk)>o,f(xk)o时,“±”取为“+”;(b)当 f’’(xk)o,f(xk)>o时,“±”取为“+”;(d)当f’’(xk)>o,f(xk)

相关主题
文本预览
相关文档 最新文档