用MATLAB计算椭圆周长和牛顿迭代MATLAB实现

用MATLAB计算椭圆周长及牛顿迭代的MATLAB实现实验目的与要求

实验方案:

用二分法和牛顿迭代法(包括弦截法)编程求方程的实根,要求误差不超过。输出迭代次数,初始值和根的近似值;构造不同的迭代函数,用迭代法求解,并进行比较。

编写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

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

三、实验目的与要求:

已知椭圆的周长可以表示成(),取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

matlab积分法求椭圆周长,用MATLAB计算椭圆周长和牛顿迭代MATLAB实现.doc相关推荐

  1. matlab如何求指标的权向量_层次分析模型(AHP)及其MATLAB实现

    今天用将近一天的时间学习了层次分析模型(AHP),主要参考了一份pdf,这个网站,和暨南大学章老师的课件,现写出一些自己总结的要点. 一.层次分析法的基本步骤: 角度一: 实际问题--分解--> ...

  2. matlab pca求曲率和法向量_实践课堂 已给出实例的MATLAB求解大汇总(线性规划)...

    [例1]用图解法求解如下二维线性规划问题. 友情链接:例1详解可点击这里 [例1]的MATLAB求解. %原目标函数,为转化为极小,取目标函数中设计变量的相反数 c=[-1;-1]; %线性不等式约束 ...

  3. 求平方根的牛顿迭代matlab程序,牛顿迭代法求平方根

    牛顿迭代法的作用是使用迭代法来求解函数方程的根,简单的说就是不断地求取切线的过程.对于形如f(x)=0的方程,首先任意的估算一个解x0,再把该估计值代入原方程中.由于一般不会正好选择到正确的解,所以有 ...

  4. 用随机投点法计算pi值matlab,(原创精品)用随机投点法计算π值【Compute π with dartpoint randomly】.doc...

    (原创精品)用随机投点法计算π值[Compute π with dartpoint randomly] 题目:Compute π with dartpoint randomly 用随机投点法计算π值 ...

  5. python椭圆识别_Python+pillow计算椭圆图形几何中心

    本文所用测试图像文件位于当前文件夹的testimages子文件夹中,并且图像以白色为背景. from PIL import Image import os def searchLeft(width, ...

  6. 高斯牛顿迭代matlab程序,高斯—牛顿法(LM法)迭代无法收敛,代码如下,R14b版本...

    本帖最后由 大禹man 于 2017-2-25 16:07 编辑 需要拟合的函数为zeta,用omeg的前两个数计算得到系数a0和a1,他们会在循环过程中随着miu0和miu1变化,我的程序如下,可以 ...

  7. 用牛顿法求方程的根的c语言编程,用牛顿迭代法和二分法求方程的根【C语言】...

    1.用牛顿迭代法求该方程在1.5附近的根:2X^3-4X^2+3X-6=0 #include #include double func(double x) //函数 {return 2*x*x*x-4 ...

  8. matlab:求平均值

    matlab:求平均值 mean函数 sum函数 mean2函数 trapz函数 在MATLAB中求平均值有多种方法,下面分别介绍. mean函数 mean函数是MATLAB内置的计算平均值的函数,用 ...

  9. 使用牛顿迭代的方法求出方程的实根(MATLAB)

    <计算方法>有一题使用牛顿迭代求解方程实根的题目. 查阅资料,发现判断方程有几个实根的方法太复杂,为了有效求出方程的实根,可以每次使用牛顿迭代求出一个根"p"后,将原方 ...

  10. 非线性方程求根方法总结附代码(从二分法、试位法到牛顿迭代、二次插值等)

    非线性方程求根方法总结&附代码(从二分法.试位法到牛顿迭代.二次插值等) 1 划界法 1.1 二分法 1.1 试位法 1.3 改进试位的法思路 1.4 Ridders方法 1.5 划界法的问题 ...

最新文章

  1. 月入5万,程序员夫人们过上贵妇生活了吗?
  2. cas 单点登录_47 使用cas完成单点登录-02 搭建cas client完成单点登录
  3. 男厕改女厕能多敷衍......
  4. HTML5,CSS3,JS绘制饼图
  5. Spark基础学习笔记02:Spark运行时架构
  6. linux qemu 运行win10,只用ISO镜像,在Linux系统上用Qemu虚拟机给另一块硬盘安装Windows 10...
  7. 2021高考达州二诊成绩查询,2021二诊成绩怎样换算高考分 分数相差多少
  8. OBS Windows10 1909版本黑屏问题解决方案
  9. c# 系列 - 基本知识
  10. du和df文件大小不一致问题排查
  11. 基于Java毕业设计校园疫情防控管理系统源码+系统+mysql+lw文档+部署软件
  12. 2021-05-03Wireshark流量包分析
  13. 春招艰难?给你几条应届生的求职建议!
  14. vsCode html文件格式化
  15. 1G,2G,3G,4G,5G的发展和通讯原理
  16. PHP内核-Apache2的SAPI
  17. 【推荐】mysql联合 索引(复合索引)的探讨
  18. EFCore之执行原生SQL语句
  19. 项目开发流程(简述)
  20. OOSE-人际关系管理系统设计开发

热门文章

  1. Android TTS 自动发声
  2. 写给青春,写给军乐团
  3. python异常值处理实例_Python对杂乱文本数据进行处理实例
  4. LDO:低压差线性稳压芯片
  5. 配置JDK、Tomcat环境、DNK环境
  6. android vplayer 源码,videoplayer-Vplayer
  7. Debian10安装Chromium浏览器
  8. ASP.NET2.0 ReportingServices报表灵魂的收割者(一)
  9. 到底哪一首才是唐诗第一?
  10. 单细胞测序数据挖掘与课题设计