matlab求xk符号解,Matlab学习手抄(6)——非线性方程的数值解法

1. 二分法

定理:

函数f(x)在区间[a,b]上连续,如果f(a)*f(b)<0,则f(x)=0在[a,b]内至少有一个实根x'.

[a,b]对半平分为两个小区间,判断f改变正负号的子区间,重复,直到最后确定的子区间长度比所希望饿绝对误差限要小.

那么在此区间中任意值均可作为方程的近似值.

优点: 思想方法简单,易于理解和掌握.

缺点: 求出数值解所需步骤较多,速度较慢.

2.迭代法

将f(x)=0化为一个等价的方程x=g(x),进一步得到迭代格式 xk+1=g(xk)

对给定初值x0,迭代计算x1,x2,……,迭代序列{xk}收敛于x',则x'就是f(x)=0的解

实际计算中,迭代到有限次,取xk+1坐位原方程的近似根.

3.牛顿法

设x'是f(x)=0的解,看做y=f(x)与x轴的交点,在x'的某邻域内,由f(x)在x'处的切线代替曲线f(x).

y=f(xk)+f'(xk)(x-xk)

令其为0得 x=xk-f(xk)/f'(xk)

于是得到牛顿迭代法的迭代公式 xk+1=xk-f(xk)/f'(xk)

优点:具有较高的收敛速度,可以用来求重根和复根

缺点:对初始值x0的选择要求较高,且要计算f'(xk)

4.双点弦截法

克服牛顿法的缺点,用f(xk)-f(xk-1)/xk-xk-1来代替f'(xk)

于是得到双点弦截法的迭代公式:

xk+1=xk-(f(xk)/(f(xk)-f(xk-1)))(xk-xk-1)

需要两个初值x0和x1,往往分别是求解区间的断点,即x0=a

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值