24小时热门版块排行榜    

查看: 950  |  回复: 5

likeweid

金虫 (正式写手)

[求助] 重金求Matlab计算一个简单的问题

希望会的高手帮下忙,希望能提供一下计算结果及编好的matlab程序,感激不尽
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wmc_1979

金虫 (小有名气)

【答案】应助回帖

likeweid(金币+200): 2011-09-25 18:55:52
clc;
x0=0.01;
x1=0.09;
[kk,kk1]=fun(x0);
while abs(kk)>0.000000001
    x1=x0-kk/kk1;
    f=x0;
    x0=x1;
    num=num+1;  
   [kk,kk1]=fun(x0);
end
x0
num
编写M文件
function [y,d]=fun(x)
   y=(5.7182*x^2-9.4364*x+5.577)*log((1-x)/x)+(1-2*x)*(3.7182*log(x)-6.799);
   d=(28591/2500*x-23591/2500)*log((1-x)/x)+(28591/5000*x^2-23591/2500*x+5577/1000)*(-1/x-(1-x)/x^2)/(1-x)*x-18591/2500*log(x)+6799/500+18591/5000*(1-2*x)/x;
关于多少次迭代的问题,主要看你的初值与精度要求.比如x0=0.01;精度0.000000001(函数值)得到根 0.02633273389612迭代214次
x0=0.4精度0.000000001得到根0.5迭代222次;
注意牛顿法的收敛性与初值是有关的,有可能的不到要求的解.
应该该题就两个解
2楼2011-09-24 22:36:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

likeweid

金虫 (正式写手)

引用回帖:
2楼: Originally posted by wmc_1979 at 2011-09-24 22:36:08:
clc;
x0=0.01;
x1=0.09;
[kk,kk1]=fun(x0);
while abs(kk)>0.000000001
    x1=x0-kk/kk1;
    f=x0;
    x0=x1;
    num=num+1;  
   [kk,kk1]=fun(x0);
end
x0
num
编写M文件
function [y,d] ...

大哥,你的导数是自己求的吗?感觉好像有点问题哦
3楼2011-09-25 18:39:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

likeweid

金虫 (正式写手)

引用回帖:
2楼: Originally posted by wmc_1979 at 2011-09-24 22:36:08:
clc;
x0=0.01;
x1=0.09;
[kk,kk1]=fun(x0);
while abs(kk)>0.000000001
    x1=x0-kk/kk1;
    f=x0;
    x0=x1;
    num=num+1;  
   [kk,kk1]=fun(x0);
end
x0
num
编写M文件
function [y,d] ...

我不是太懂,你里面的d是什么啊?导数还是那个迭代的函数?
4楼2011-09-25 18:42:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

likeweid

金虫 (正式写手)

引用回帖:
2楼: Originally posted by wmc_1979 at 2011-09-24 22:36:08:
clc;
x0=0.01;
x1=0.09;
[kk,kk1]=fun(x0);
while abs(kk)>0.000000001
    x1=x0-kk/kk1;
    f=x0;
    x0=x1;
    num=num+1;  
   [kk,kk1]=fun(x0);
end
x0
num
编写M文件
function [y,d] ...

能QQ交流一下吗?感激不尽,672468529
5楼2011-09-25 18:47:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wmc_1979

金虫 (小有名气)

【答案】应助回帖

引用回帖:
4楼: Originally posted by likeweid at 2011-09-25 18:42:17:
我不是太懂,你里面的d是什么啊?导数还是那个迭代的函数?

导数是matlab求的,我把结果拿过来,d就是导数表达式,对每一个x值返回一个导数值
6楼2011-09-25 18:48:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 likeweid 的主题更新
信息提示
请填处理意见