ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

数值分析,二分法、弦截法、Steffensen法的编程代码

2021-02-04 13:33:35  阅读:276  来源: 互联网

标签:end 截法 二分法 tol x2 y0 x0 x1 Steffensen


二分法-习题2.1:
代码:
Main.h:
clc;clear;fromat long;
secant(0,pi/4,10^(-8));
half .m:
x=half(a,b,tol)
c=(a+b)/2;
k=1;
m=1+round((log(b-a)-log(2*tol))/log(2));
while k<=m
if f©==0
c=c;
return;
elseif f(a)*f©<0
b=(a+b)/2;
else
a=(a+b)/2;
end
c=(a+b)/2;k=k+1;
end
c
f.m:
function f=f(x)
f=x-2^(-x);
end

运行结果:
c= 0.641185741871595

Steffensen法-习题2.2:
代码:
Main.h:
clc;clear;fromat long;
steffensen(0.6,10^(-8));
steffensen.m:
function x=steffensen(x0,tol)
y0=f(x0); x1=x0-y0^2/(y0-f(x0-y0));k=1;
while abs(x1-x0)>=tol
x0=x1; y0=f(x0);
x1=x0-y0^2/(y0-f(x0-y0));k=k+1;
end
x1
k
f.m:
function f=f(x)
f=1+sin(x)-2*cos(x);
end

运行结果:
x1 =0.643501108793284
k=4

弦截法-习题2.2:
代码:
Main.h:
clc;clear;fromat long;
secant(0,pi/4,10^(-8));
secant.m:
function x=secant(x0,x1,tol)
x2=x1-(x1-x0)*f(x1)/(f(x1)-f(x0));
k=1;
while abs(x2-x1)>=tol
x0=x1;
x1=x2;
x2=x1-(x1-x0)f(x1)/(f(x1)-f(x0));
k=k+1;
end
x2
k
f.m:
function f=f(x)
f=1+sin(x)-2
cos(x);
end

运行结果:
x2 = 0.643501108793276
k = 5

标签:end,截法,二分法,tol,x2,y0,x0,x1,Steffensen
来源: https://blog.csdn.net/qq_44700741/article/details/113639871

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有