二分法

%p222task2_3
%二分法求f=@(x)1-x-sin(x)零点
clc,clear;
f=@(x)1-x-sin(x)
b=1;a=0;
f(0)
f(1)
ezplot(f,[0,1])
hold on
ezplot(@(x)0,[0,1])while b-a>0.0001m=(a+b)/2;if f(m)==0break;endif f(a)*f(m)>0a=m;elseb=m;end
end
m

单点弦截法

单点弦截法适用于导数值计算较为困难,且f(x)在区间(a,b)内凹向不变的函数。

%p228task3_2
%单点弦截法求x^2+x-3=0近似解
clc,clear
f=@(x)x^2+x-3
ezplot(f,[-3,2])
grid%画出网格线
%根在[-2.5,2],[1,1.5]之间
a=-2.5;
b=-2;digits 8
while abs(f(a))>0.00001a=b-f(b)*(b-a)/(f(b)-f(a));
end
a

牛顿切线迭代法

牛顿切点迭代法的条件是:f(x)在闭区间[a,b]上有二阶导数,f(a)*f(b)<0,且f’(x)与f”(x)在[a,b]上不变号。

%p228task4
%牛顿切线迭代法求x^2-2*x*exp(x)+exp(-x)=0的根
clc,clear
syms x;
f=@(x)x^2-2*x*exp(x)+exp(-x)
d1f=diff(f(x))
d2f=diff(d1f)
% ezplot(@(x)0)
figure(1)
ezplot(f(x),[0,0.5])
grid
figure(2)
ezplot(d1f,[0,0.5])
grid
figure(3)
ezplot(d2f,[0,0.5])
grid
%作图可知,一阶导数、二阶导数都小于0;符合牛顿切线弦截法的要求
%根在0.3到0.35之间
a=0.3;
b=0.35
if subs(f,a)*subs(d2f,a)>0x0=a;
elsex0=b;
end
dlt=1.0e-5;%设置精度
m=min(abs(subs(d1f,a)),abs(subs(d1f,b)));%m的作用就是使达到精度要求后停止循环
k=1;
while abs(subs(f,x0))>m*dltx1=x0-subs(f,x0)/subs(d1f,x0);x0=x1;fprintf('k=%d,x=%.7f\n',k,x0);k=k+1;
end
solve(f)

此处用到一个新知识,用subs求符号函数在某一点的函数值,
如:

>> f=@(x)x^2-2*x*exp(x)+exp(-x)f =包含以下值的 function_handle:@(x)x^2-2*x*exp(x)+exp(-x)>> subs(f,2)ans =exp(-2) - 4*exp(2) + 4>> vpa(subs(f,2))ans =-25.420889112485988217027710347328

可见subs的用法:subs(f,x0)可求出在x0处的f的值,但对于sin,exp等函数,不会直接显示近似数值,调用vpa函数即可令其显示数值。

matlab二分法,单点弦截法,牛顿切线迭代法相关推荐

  1. 非线性方程求解——单点弦截法

    单点弦截法是双电弦截法的特殊情况,迭代的情况可能在有根区间的两个端点之间变换.如果迭代的结果始终在一侧的端点,这个端点会收敛于精确根,而有根区间另一个端点固定不变,那么双点弦截法变为单点弦截法. 单点 ...

  2. 用弦截法求方程的根matlab,matlab 语言 用弦截法任意实数方程求实根

    满意答案 dwgg2n0das8 2013.04.26 采纳率:45%    等级:12 已帮助:8202人 弦截法这个方法一般用作学习,实际用的很少.这里我提供一个较完整的弦截法求根的函数.func ...

  3. 单点、双点弦截法求解方程根

    弦截法: (a) 用牛顿法解方程f(x)=0,虽然在单根附近具有较快的收敛速度,但它有个明显的缺点,就是需要计算导数f'(x),当f(x)比较复杂时,计算f'(x)可能有困难. (b)弦截法和牛顿迭代 ...

  4. 牛顿迭代法是一种速度很快的迭代方法,但是它需要预先求得导函数。若用差商代替导数,可得下列弦截法

    牛顿迭代法是一种速度很快的迭代方法,但是它需要预先求得导函数.若用差商代替导数,可得下列弦截法 这一迭代法需要两个初值,迭代过程和牛顿法类似,当时停止迭代.编写程序实现弦截法,要求输出方程的根.函数在 ...

  5. MATLAB弦截法求解非线性方程

    MATLAB弦截法求解非线性方程 用Newton法解非线性方程时,当f比较复杂时就比较难以实现了,弦解法的好处可以用f(x)在两点上的值构造一次插值函数来回避微商的计算.其迭代格式: 1.弦截法的MA ...

  6. 数值计算大作业:非线性方程求根(二分法、牛顿法、弦截法在Matlab实现)

    作为研究生的入门课,数值计算的大作业算是所有研究生开学的重要编程作业. 我把二分法.牛顿法.弦截法求解非线性方程求根的数值计算作业在MATLAB中编程实现.具体的程序详细标注后放在文章附录了,算法数学 ...

  7. 数值分析-基本算法流程图:二分法、简单迭代法、复化梯形公式、弦截法、辛普森

    1.二分法 2.复化Simpson公式 3.复化梯形公式 4.简单迭代法 5.牛顿迭代法 6.弦截法

  8. 弦截法求方程根例题c语言,弦截法求方程根.ppt

    弦截法求方程根弦截法求方程弦截法求方程根弦截法求方程根 12 §3 迭代收敛的加速法 取g(x)=x3-1 , 则: 程序设计 function [f,k]= Steffensen(eps,x0) % ...

  9. 弦截法c语言程序,高数介质定理——弦截法求根代码实践(C语言)

    在高等数学中,我们一开始接触概念时就接受了ε-δ(epsilon-delta)语言的洗礼,但即使到课程的结束,许多人依然会对各种抽象的数学符号.定理证明感到无所适从,我也不例外,尽管在写这篇博客以前已 ...

最新文章

  1. 使用Spring 3的@value简化配置文件的读取
  2. Visual Studio 2008 每日提示(三十一)
  3. python任务调度平台 界面_分布式任务调度平台XXL-JOB
  4. js navigator platform
  5. Laya 打包微信 处理分包 fnt字体加载问题 版本管理的报错
  6. 带串口功能的51最小系统板,可直接烧录STC芯片,简约好用,Micro接口,只需要一根Micro接口的USB线接到电脑就可以下载程序了。
  7. [XPlane11/12]同步更新Zibo737插件下载-更新至3.54.17-插件搬运
  8. 翻译软件-好用的翻译软件-免费翻译软件大全
  9. 加速度传感器灵敏度表示的几种方式LSB/g,count/g,V/g,V/°
  10. k8s-liveness和readness详解
  11. Windows常用必备软件整理,太全了,值得收藏
  12. SAP中CK11N成本估算的取价逻辑
  13. 微信“跳一跳”外挂制作历程
  14. 抖音企业号源码部署搭建
  15. python数据类型——数字
  16. Eclipse体系结构介绍(一)
  17. 低俗英语一百句----快速学习英语的一个好方法
  18. oracle ebs 查询物料现有量sql,Oracle EBS OPM 查询现有量
  19. 通过HWND取得pid以及HANDLE
  20. 搭建旅游大数据平台,打造全域旅游新体验

热门文章

  1. HTML学生个人网站作业设计:旅游网站设计—— 成都(带登录注册表单 带论文)
  2. Android 多渠道打包 签名
  3. hit 命中率的解释
  4. 妙笔生花是一种怎样的体验?这款平板让娱乐办公可兼得
  5. 4-20mA转0-5V隔离变送器、信号转换器
  6. NAO amp;amp; Pepper 机器人 python 环境下开发笔记
  7. 俄罗斯:自由软件在这里起飞
  8. [码上追溯] vue项目启动出现cannot GET /服务错误
  9. matlab画圆环弯矩图,用MATLAB实现弯矩图的自动绘制
  10. 【FI模块学习笔记】 资本公积概述