我一直把“根”需要符号数学工具箱。错误newtonbisection(46行)流(“给定函数的最优根:% f \ n \ n”,根)”。如何修复呢?谢谢
1视图(30天)
显示旧的评论
%定义的函数
f = @ (x)双曲正切(x);
dfun = @ (x) 1-tanh (x) ^ 2;
一个= -10;
b = -15;
s = 0.1;
count1 = 0;
而(b) > s * (b)
m = (a + b) / 2;
如果有趣的(a) * f (m) < 0
b = m;
其他的
一个= m;
结束
count1 = count1 + 1;
结束
%的狭窄的区间
na =一个;
nb = b;
流(“用对分法,狭窄的区间% d迭代后得到:[% f % f] \ n \ n”、count1 na, nb)
m = (a + b) / 2;% m是缩小间隔的根源
每股收益= 1;
公差= e ^ 6;
是从= 0;
现在%实现牛顿法
而eps >公差
%根据牛顿法计算根
根= m -(乐趣(m) / dfun (m));
是从=是从+ 1;
%现在检查是否根是否在狭窄的区间内
如果根< na | |根> nb
%如果狭窄的区间切换回对分法
根= (na + nb) / 2;
流(“解决方案通过牛顿法跳出狭窄的区间迭代\ n % d后再次切换回对分法\ n \ n”,是从);
如果有趣(na) * fn(根)< 0
nb =根;
其他的
na =根;
结束
结束
%计算的区别
每股收益= abs (m);
m =根;
结束
%最后根是最终的根;
流(“最佳给定函数的根:% f \ n \ n”根)
流(的第二个while循环执行% d * \ n \ n \ n '是从)
(SL:格式化代码,代码)