matlab前n项和公式,Matlab软件与基础数学实验(讲义16k)2

2 利用MATLAB 中fzero 命令求解

在MA TLAB 命令窗中输入:

? f=inline(' x-0.5*sin(x)-1'); %建立函数1sin 5.0)(--=x x x f ? c=fzero(f,[1,2]) %求函数)(x f 在[1,2]内的零点c 运行结果为:

? Zero found in the interval: [1, 2]. ? c = 1.4987 或输入:

? c=fzero(f,1) %求函数)(x f 在1附近的零点c 运行结果为:

? Zero found in the interval: [0.98, 1.82]. ? c = 1.4987

显然, fzero 命令用起来简单易行,但从科学的态度出发,我们应该充分了解“隐藏”在该命令背后的原理、算法以及实现过程。因此,下面介绍求方程近似根的原理、公式及编程方法,从而掌握求解一般非线性方程近似根的常用数值方法,熟悉这些原理、方法对于从事科学研究,解决复杂问题是十分必要的。 3 “二分法”

如果()f x 在[],a b 连续,()()0f a f b ?

基本思想:

首先取区间[],a b 的中点1,2

a b

x +=

保留有根的半个区间],[1x a 或],[1b x ;

再取新的区间的中点,保留有根的半个区间,依次类推,直到区间长度减小到给定的精度ε,此时,该区间内任意一点可以作为方程根的近似值。

具体步骤:

步1:取区间[],a b 的中点1,2

a b

x +=

如果1()0f x =,则1x ξ=为所求的根; 步2:如果1()0f x ≠且1()()0f x f b ?

步3:再重复执行步1至步2,直到区间长度不超过给定的误差界ε。 这样,重复执行上述步骤n 次,我们得到包含解ξ的区间序列[]

{}

1

,n n n a b ∞=,它是一个区间套,

即[][][]11,,,n n a b a b a b ???? ,可以证明,它有唯一的收敛点*

x ,也就是方程的根ξ。

误差分析:

若用],[n n n b a x ∈作为方程根ξ的近似值,则其误差

*2

n n n n b a

x x b a --

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值