matlab牛顿迭代法程序为什么错

symsx;f(x)=x^2-2*x*exp(-2*x)+exp(-2*x);%函数关系式a=0;%区间边界值b=1;%区间边界值forn=1:100%判断区间是否有根i... syms x;
f(x)=x^2-2*x*exp(-2*x)+exp(-2*x);%函数关系式
a=0;%区间边界值
b=1;%区间边界值
for n=1:100%判断区间是否有根
if (f(a)*f(b)<=0)
break;
else if ((f(a)*f(b)>0))
a=(a+b)/2;
end
end
end
for n=1:100
if((diff(f,'a',1)~=0)&&(diff(f,'b',1)~=0)&&(diff(f,'a',2)*diff(f,'b',2)>0)&&(abs(f(a)/diff(f,'a',1))<b-a)&&(abs(f(b)/diff(f,'b',1))<b-a))%判断是否收敛
x=(a+b)/2;
break;
else if (abs(f(a)/diff(f,'a',1))>(b-a))
a=(a+b)/2;
else
b=(a+b)/2;
end
end
end
k=x;
for n=1:10%使用牛顿迭代
k=k-k^2-2*k*exp(-2*k)+exp(-2*k)/(2*k- 4*exp(-2*k) + 4*k*exp(-2*k));
k
end
各位大佬,输出完全是x变量连数值都没有,到底哪里错了,为什么,谢谢
展开
 我来答
仍乐0
2019-03-20 · TA获得超过713个赞
知道小有建树答主
回答量:679
采纳率:84%
帮助的人:282万
展开全部

为什么  知道  上一堆人的matlab代码起手就来 syms!?

教你们的人都是完全一点也不懂科学计算的蠢猪, 祸害人呀!

newton迭代的代码一抓一大把, 比如下面这个

网页链接

在这个代码里你需要提供函数及其导数,

你也可以像你自己的代码一样在Newton函数里求导, 你搜搜数值求导

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式