Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 基础科学 > 数学
数学 A discussion board for Mathematics.
 
 
主题工具 显示模式
旧 2009-04-27, 09:34   #10
laosam280
高级会员
 
注册日期: 2008-11-07
住址: 湖南长沙
帖子: 233
声望力: 21
laosam280 正向着好的方向发展
默认 回复: 能不能帮我看一下这个方程怎么解

这种方程求解起来很简单的,可以采用不动点迭代法,然后在计算过程中控制误差的下限。
首先,f(x)=a(2x)^b+c(2x)^d-e
其中a=6,b=-0.092,c=2.5,d=-0.445,e=0.008.
其次,把方程改写成如下的迭代形式:x=f(x)+x
x(n)=f(x(n-1))+x(n-1)
这样就可以写出一个不动点的求解函数,方程写成M文件,保存到当前工作目录下,直接调用就可以计算了。
function [root,n]=Bu_Dong_Dian(f,x0,eps)
if(nargin==2)
eps=1.0e-9;
end

tol=1;
root=x0;%初始迭代点: x(0)=8.9050e+030
n=0;
while(tol>eps)
n=n+1;
root1=root;
root=subs(sym(f),findsym(sym(f)),root1)+root1;
tol=abs(root-root1);
end
__________________
坚持就是胜利,努力就有奇迹。
laosam280 当前离线   回复时引用此帖
 


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 21:00


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.