收藏 分销(赏)

椭圆周长、牛顿迭代.doc

上传人:s4****5z 文档编号:8057486 上传时间:2025-02-02 格式:DOC 页数:9 大小:268KB 下载积分:10 金币
下载 相关 举报
椭圆周长、牛顿迭代.doc_第1页
第1页 / 共9页
椭圆周长、牛顿迭代.doc_第2页
第2页 / 共9页


点击查看更多>>
资源描述
实验一 一、 实验目的与要求 用二分法和牛顿迭代法(包括弦截法)编程求方程的实根,要求误差不超过。输出迭代次数,初始值和根的近似值;构造不同的迭代函数,用迭代法求解,并进行比较。 二、 实验方案 编写M文件绘制该函数图形,源程序如下: function y=EX0111 x=-1:0.1:2; y=sin(x)-(x.^2)/2; plot(x,y,'r') hold on plot(x,zeros(size(x))) hold off grid 运行后可以看出,函数的根在区间[1,1.5]。所以,分析题意,编写二分法源程序如下: function y=EX0110 syms x y; y=sin(x)-(x.^2)/2; a=1; b=1.5; delta=0.0001; ya=subs(y,a); yb=subs(y,b); N=1+round((log(b-a)-log(delta))/log(2)); for k=1:N dx=yb*(b-a)/(yb-ya+eps); c=b-dx; ab=b-a; yc=subs(y,c); if yc==0,break; elseif ya*yc<0 b=c; yb=yc; else a=c; ya=yc; end dd=min(abs(ab),abs(yc)); if dd<delta,break,end end dd k c=b-dx 运用牛顿迭代法编程,源程序如下: function y=fun(x) y=sin(x)-(x.^2)/2; 和该函数导数: function y=dfun(x) y=cos(x)-x; 以及牛顿迭代法: function [xk,k]=newtoneq(x0,n,derta) k=1; xk(1)=x0; t=x0-fun(x0)./dfun(x0); while abs(t-x0)>=derta x0=t; k=k+1; xk(k)=t; t=x0-fun(x0)./dfun(x0); if (k-1)>n error('n is full'),end end 构造新的迭代函数为,编辑源程序如下: function y=iter() syms x y; y=sqrt(2*sin(x)); x0=1; max=20; derta=0.0001; t=[x0]; x=subs(y,x0); k=0; while abs(x-x0)>=derta t=[t,x]; x0=x; x=subs(y,x0); k=k+1; if k>max disp('迭代次数超过最大次数。 ') break end end t 三、 实验结果和数据处理 运行绘制函数图形源文件得如下图像,从图像中可看出,该函数的根所在的区间为[1,1.5]。 图1 运行运用二分法编程的源程序得如下数据: 图2 运行运用牛顿迭代法编程的源程序,在命令框中输入如下命令: [xk,k]=newtoneq(1,20,0.0001) 运行得出以下数据: 图3 运行新构造的迭代函数源程序求解: 图4 实验二 一、实验目的与要求 已知椭圆的周长可以表示成(),取a=1。针对从0.1到0.9(步长h=0.1)分别求出周长s。(用Romberg积分方法) 二、实验方案 编辑实现Romberg积分方法的源程序,得如下M文件: function [s,n,t]=rombint(fun,a,b,tol) format long s=10000; s0=0; k=2; t(1,1)=(b-a)*(fun(a)+fun(b))/2; while (abs(s-s0)>tol) h=(b-a)/2^(k-1); w=0; if(h~=0) for i=1:(2^(k-1)-1) w=w+fun(a+i*h); end t(k,1)=h*(fun(a)/2+w+fun(b)/2); for l=2:k for i=1;(k-l+1) t(i,l)=(4^(l-1)*t(i+1,l-1)-t(i,l-1))/(4^(l-1)-1); end end s=t(1,k); s0=t(1,k-1); k=k+1; n=k-1; else s=s0 n=-k; end end 并在运行时,依次在命令框中输入如下命令: fun=inline('sqrt(1+^2*cos(t).^2)','t'); s=rombint(fun,0,2*pi,1e-6) 其中,依次取值为0.1、0.2、0.3、0.4、0.5、0.6、0.7、0.8、0.9进行运算。 三、实验结果和数据处理 运算结果如下:
展开阅读全文

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


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

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

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

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

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

gongan.png浙公网安备33021202000488号   

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

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

客服