matlab二分法,单点弦截法,牛顿切线迭代法
来源:互联网 发布:淘宝什么时候优惠最大 编辑:程序博客网 时间:2024/04/25 13:25
二分法
%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 onezplot(@(x)0,[0,1])while b-a>0.0001 m=(a+b)/2; if f(m)==0 break; end if f(a)*f(m)>0 a=m; else b=m; endendm
单点弦截法
单点弦截法适用于导数值计算较为困难,且f(x)在区间(a,b)内凹向不变的函数。
%p228task3_2%单点弦截法求x^2+x-3=0近似解clc,clearf=@(x)x^2+x-3ezplot(f,[-3,2])grid%画出网格线%根在[-2.5,2],[1,1.5]之间a=-2.5;b=-2;digits 8while abs(f(a))>0.00001 a=b-f(b)*(b-a)/(f(b)-f(a));enda
牛顿切线迭代法
牛顿切点迭代法的条件是: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,clearsyms 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])gridfigure(2)ezplot(d1f,[0,0.5])gridfigure(3)ezplot(d2f,[0,0.5])grid%作图可知,一阶导数、二阶导数都小于0;符合牛顿切线弦截法的要求%根在0.3到0.35之间a=0.3;b=0.35if subs(f,a)*subs(d2f,a)>0 x0=a;else x0=b;enddlt=1.0e-5;%设置精度 m=min(abs(subs(d1f,a)),abs(subs(d1f,b)));%m的作用就是使达到精度要求后停止循环k=1;while abs(subs(f,x0))>m*dlt x1=x0-subs(f,x0)/subs(d1f,x0); x0=x1; fprintf('k=%d,x=%.7f\n',k,x0); k=k+1;endsolve(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函数即可令其显示数值。
0 0
- matlab二分法,单点弦截法,牛顿切线迭代法
- 牛顿迭代法 二分法
- 二分法和牛顿迭代法
- 二分法、牛顿迭代法求sqrt()
- Sqrt(x) ,二分法,牛顿迭代法
- 牛顿迭代法 matlab程序
- Matlab 数值计算----牛顿迭代法
- 【SPOJ-TRIGALGE】Easy Calculation【二分法】【牛顿迭代法】
- 习题- 二分法/牛顿迭代法 求算术平方根
- 方程求根(二分法和牛顿迭代法)
- matlab实现牛顿迭代法求解非线性方程组
- matlab实现牛顿迭代法求解非线性方程组
- 牛顿迭代法解非线性方程matlab实现
- MATLAB 牛顿迭代法解非线性方程组
- [C]关于用二分法和牛顿迭代法求平方根
- 【算法王道】二分法和牛顿迭代法求平方根
- 求平方根的方法(牛顿迭代法和二分法)
- 二分法和牛顿迭代法求平方根(Python实现)
- poj2287Tian Ji -- The Horse Racing
- 正则表达式及其典型使用
- 轮播图左右按钮会被选中的问题
- 你是否有90后思维?
- (二)PDCA循环
- matlab二分法,单点弦截法,牛顿切线迭代法
- poj 1287 Networking(最小生成树)
- android--activity启动另一个activity 传参
- 5.7
- hbase调优汇总
- 初识Deep Learning(深度学习) I
- ViewPager的使用和理解
- 如何获取应用程序的版本号和版本名
- CSS学习一之CSS引入方式