弦截法非线性方程.docx

上传人:b****8 文档编号:10572598 上传时间:2023-02-21 格式:DOCX 页数:5 大小:35.32KB
下载 相关 举报
弦截法非线性方程.docx_第1页
第1页 / 共5页
弦截法非线性方程.docx_第2页
第2页 / 共5页
弦截法非线性方程.docx_第3页
第3页 / 共5页
弦截法非线性方程.docx_第4页
第4页 / 共5页
弦截法非线性方程.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

弦截法非线性方程.docx

《弦截法非线性方程.docx》由会员分享,可在线阅读,更多相关《弦截法非线性方程.docx(5页珍藏版)》请在冰豆网上搜索。

弦截法非线性方程.docx

弦截法非线性方程

一、科学计算的算法及其举例应用和利用MATLAB自带函数实现科学计算法:

弦截法非线性方程实例:

采用弦截法求方程lgx+x=2在区间[1,4]上的一个根。

1.算法说明弦截法的算法过程如下:

(1)过两点(a,f(a)),(b,f(b))作一直线,它与x轴有一个交点,记为x1..

(2)如果f(a)f(x1)<0,过两点(a,f(a)),(x1,f(x1))作一直线,它与x轴的交点记为x2,

否则过两点(b,f(b)),(x1,f(x1))作一直线,它与x轴的交点记为x2;

(3)如此下去,直到|xn-xn-1|<ε,就可以认为xn为f(x)=0在区间[a,b]上的一个根。

xk-1-a?

?

x=a-f(a),f(a)f(x)<0kk-1?

?

f(xk-1)-f(a)?

?

(4)Xk的递推公式为:

?

?

且xk-1-b?

xk=b-f(b),f(a)f(xk-1)>0?

?

?

f(xk-1)-f(b)?

?

x1=a-b-af(a)f(b)-f(a)

在MATLAB中编程实现的弦截法的函数为:

Secant.功能:

用弦截法求函数在某个区间的一个零点。

调用格式:

root=Secant(f,a,b,eps).

其中,f为函数名;a为区间左端点;b为区间左端点;eps为根的精度;root为求出的函数零点。

2.流程图弦截法流程图

实例流程图:

开始输入条件:

sqrt(x)+log(x)-2积分区间:

(1,4)调用Secant进行运算输出结果>>r=1.8773结束

3.源程序代码

functionroot=Secant(f,a,b,eps)if(nargin==3)eps=1.0e-4;

end

f1=subs(sym(f),findsym(sym(f)),a);f2=subs(sym(f),findsym(sym(f)),b);if(f1==0)root=a;

end

if(f2==0)

root=b;

endif(f1*f2>0)disp('两端点函数值乘积大于0!

');return;

elsetol=1;

fa=subs(sym(f),findsym(sym(f)),a);fb=subs(sym(f),findsym(sym(f)),b);root=a-(b-a)*fa/(fb-fa);

while(tol>eps)r1=root;

fx=subs(sym(f),findsym(sym(f)),r1);s=fx*fa;if(s==0)

root=r1;

else

if(s>0)

root=b-(r1-b)*fb/(fx-fb);else

root=a-(r1-a)*fa/(fx-fa);endend

tol=abs(root-r1);

end

end实例源代码:

r=Secant('sqrt(x)+log(x)-2',1,4)运行结果:

r=

1.8773

二、分析单自由度阻尼系统的阻尼系数对其固有振动模态的影响

1.流程图

2.源程序代码:

 

3.运行结果:

 

三.Appollo卫星的运行轨迹

1.流程图

2.源程序代码:

函数文件:

结束[t,y]=ode45('appollo',[0,20],x0,options)输入初值

开始绘制图形plot(y(:

1),y(:

3))

命令文件:

3.运行结果

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 经济学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1