收藏 分销(赏)

用Romberg方法求解积分.doc

上传人:精**** 文档编号:10780712 上传时间:2025-06-13 格式:DOC 页数:14 大小:63.51KB 下载积分:8 金币
下载 相关 举报
用Romberg方法求解积分.doc_第1页
第1页 / 共14页
用Romberg方法求解积分.doc_第2页
第2页 / 共14页


点击查看更多>>
资源描述
1. 用Romberg方法求解积分,要求误差不超过 解:Romberg.m文件: function [I, step] = Romberg(f, a, b,EPS) % Romberg.m 是用龙贝格公式求积分 % f 为被积函数 % EPS 为积分结果精度 % a,b 为积分区间的上下限 % I 为积分结果;step 为积分的子区间数 m = 1 k = 0 Er = 0.1 H =b-a S = zeros(1, 1) S(1, 1) = (H/2) * (subs(sym(f),findsym(sym(f)),a)+subs(sym(f),findsym(sym(f)),b)) while Er > EPS k = k + 1 f1 = 0 H = H/2 for i = 1:m x = a +H*(2*i-1) f1 = f1 + subs(sym(f),findsym(sym(f)),x) end S(k+1, 1) = S(k, 1)/2 + H*f1 m = 2 * m for n = 1:k S(k+1, n+1) = S(k+1, n) + (S(k+1, n)-S(k, n))/(4^n-1) end Er = abs(S(k+1, n+1)-S(k, n)) end I = S(k+1, k+1) step = k 命令: clear clc format short a = 0; b = 0.8; EPS = 1e-2; [I, step] = Romberg('x^(1/2)', a, b, EPS) 计算结果: m = 1 k = 0 Er = 0.1000 H = 0.8000 S = 0 S = 0.3578 k = 1 f1 = 0 H = 0.4000 x = 0.4000 f1 = 0.6325 S = 0.3578 0.4319 m = 2 S = 0.3578 0 0.4319 0.4566 Er = 0.0988 k = 2 f1 = 0 H = 0.2000 x = 0.2000 f1 = 0.4472 x = 0.6000 f1 = 1.2218 S = 0.3578 0 0.4319 0.4566 0.4603 0 m = 4 S = 0.3578 0 0.4319 0.4566 0.4603 0.4698 S = 0.3578 0 0 0.4319 0.4566 0 0.4603 0.4698 0.4707 Er = 0.0141 k = 3 f1 = 0 H = 0.1000 x = 0.1000 f1 = 0.3162 x = 0.3000 f1 = 0.8640 x = 0.5000 f1 = 1.5711 x = 0.7000 f1 = 2.4077 S = 0.3578 0 0 0.4319 0.4566 0 0.4603 0.4698 0.4707 0.4709 0 0 m = 8 S = 0.3578 0 0 0.4319 0.4566 0 0.4603 0.4698 0.4707 0.4709 0.4745 0 S = 0.3578 0 0 0.4319 0.4566 0 0.4603 0.4698 0.4707 0.4709 0.4745 0.4748 S = 0.3578 0 0 0 0.4319 0.4566 0 0 0.4603 0.4698 0.4707 0 0.4709 0.4745 0.4748 0.4748 Er = 0.0042 I = 0.4748 step = 3 I = 0.4748 step = 3 2. 设方程组试用Jacobi迭代法求解此方程,,当时终止迭代。 解:Jacobi.m文件: function Jacobi(A, b, max, eps) %max为最大迭代次数,eps为容许误差 n = length(A); x = zeros(n, 1); x1 = zeros(n, 1); k = 0; while 1 x1(1) = ( b(1) - A(1,2:n) * x(2:n,1) )/A(1,1) for i = 2:n-1 x1(i) = ( b(i) - A(i,1:i-1) * x(1:i-1,1) - A(i,i+1:n) * x(i+1:n,1))/A(i,i) end x1(n) = ( b(n) - A(n,1:n-1) * x(1:n-1,1) )/A(n,n) k = k + 1 if sum(abs(x1 - x)) < eps fprintf('number = %d\n',k) break end if k >= max fprintf('The Method is disconvergent\n') break end x = x1 end if k < max for i = 1:n fprintf( 'x[ %d ] = %f\n',i,x1(i) ) end end 命令: clear clc format short A = [5 2 1; -1 4 2; 2 -3 10]; b = [-12 20 3]'; max = 100; eps = 1e-5 Jacobi(A, b, max, eps) 计算结果: i = 1 A = 5 2 1 -1 4 2 2 -3 10 b = -12 20 3 D = 5 0 0 0 4 0 0 0 10 L = 0 0 0 1 0 0 -2 3 0 U = 0 -2 -1 0 0 -2 0 0 0 D0 = 0.2000 0 0 0 0.2500 0 0 0 0.1000 x0 = 0 0 0 B = 0 -0.4000 -0.2000 0.2500 0 -0.5000 -0.2000 0.3000 0 f = -2.4000 5.0000 0.3000 x = -2.4000 5.0000 0.3000 x0 = -2.4000 5.0000 0.3000 i = 2 x = -4.4600 4.2500 2.2800 x0 = -4.4600 4.2500 2.2800 i = 3 x = -4.5560 2.7450 2.4670 x0 = -4.5560 2.7450 2.4670 i = 4 x = -3.9914 2.6275 2.0347 x0 = -3.9914 2.6275 2.0347 i = 5 x = -3.8579 2.9848 1.8865 x0 = -3.8579 2.9848 1.8865 i = 6 x = -3.9712 3.0922 1.9670 x0 = -3.9712 3.0922 1.9670 i = 7 x = -4.0303 3.0237 2.0219 x0 = -4.0303 3.0237 2.0219 i = 8 x = -4.0139 2.9815 2.0132 x0 = -4.0139 2.9815 2.0132 i = 9 x = -3.9952 2.9900 1.9972 x0 = -3.9952 2.9900 1.9972 i = 10 x = -3.9954 3.0026 1.9960 x0 = -3.9954 3.0026 1.9960 i = 11 x = -4.0002 3.0031 1.9999 x0 = -4.0002 3.0031 1.9999 i = 12 x = -4.0012 3.0000 2.0010 x0 = -4.0012 3.0000 2.0010 i = 13 x = -4.0002 2.9992 2.0002 x0 = -4.0002 2.9992 2.0002 i = 14 x = -3.9997 2.9998 1.9998 x0 = -3.9997 2.9998 1.9998 i = 15 x = -3.9999 3.0002 1.9999 x0 = -3.9999 3.0002 1.9999 i = 16 x = -4.0000 3.0001 2.0000 x0 = -4.0000 3.0001 2.0000 i = 17 x = -4.0000 3.0000 2.0000 x0 = -4.0000 3.0000 2.0000 i = 18 x = -4.0000 3.0000 2.0000 x0 = -4.0000 3.0000 2.0000 i = 19 x = -4.0000 3.0000 2.0000 x0 = -4.0000 3.0000 2.0000 i = 20 x = -4.0000 3.0000 2.000 x = -4.0000 3.0000 2.0000 i = 20
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服