弦截法非线性方程.docx
- 文档编号:10572598
- 上传时间:2023-02-21
- 格式:DOCX
- 页数:5
- 大小:35.32KB
弦截法非线性方程.docx
《弦截法非线性方程.docx》由会员分享,可在线阅读,更多相关《弦截法非线性方程.docx(5页珍藏版)》请在冰豆网上搜索。
弦截法非线性方程
一、科学计算的算法及其举例应用和利用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.运行结果
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 弦截法 非线性 方程