显示函数没有显示具体的值

25日视图(30天)
我是MATLAB。我写这样的代码;
信谊n
f (n) = 40 * n。^ 1.5 -875 * n + 35000;
fdiff (n) =差异(f (n));
x0 = 100;
xprev = 0;
(abs (x0 - xprev) / x0) * 100 > = 1
xprev = x0;
x0 = x0 - f (x0) / fdiff (x0);
结束
显示(x0);
当我试图展示的价值x0,它显示了;
600/11 (40 * (600/11 - ((24000 * 11 ^ ^ (1/2)* 600 (1/2))/ 121 - 140000/11)/ ((60 * 11 ^ ^ (1/2)* 600 (1/2))/ 11 - 875))^ (3/2)+ (875 * ((24000 * 11 ^ ^ (1/2)* 600 (1/2))/ 121 - 140000/11))/ ((60 * 11 ^ ^ (1/2)* 600 (1/2))/ 11 - 875)- 140000/11)/ (60 * (600/11 - ((24000 * 11 ^ ^ (1/2)* 600 (1/2))/ 121 - 140000/11)/ ((60 * 11 ^ ^ (1/2)* 600 (1/2))/ 11 - 875))^ (1/2)- 875)- ((24000 * 11 ^ ^ (1/2)* 600 (1/2))/ 121 - 140000/11)/ ((60 * 11 ^ ^ (1/2)* 600 (1/2))/ 11 - 875)
而不是;
62.6913
我怎么能让它只显示最后的价值?
2的评论
阿尔瓦罗·冈萨雷斯教堂司事
我固定disp (vpa (x)),它给你32位精度的。牛顿迭代函数分析2:D

登录置评。

答案(1)

约翰BG
约翰BG 2016年2月27日
穆斯塔法
如果你真的在数值结果,为什么不从数值吗?
x_range = 10
x_step = 1。
x = [0: x_step x_range):
f = @ (x) 40 * x ^ 1.5 -875 * x + 35000
y = f (x)
ydiff = diff (y)
x0 = 100
xprev = 0
(abs (x0 - xprev) / x0) * 100 > = 1
xprev = x0
x0 = x0 - f (x0) / ydiff (x0)
结束
x0 =
-82.29
玩x_range和x_step中心曲线无论你所需要的。
如果你发现这个答案的任何帮助解决这个问题,请点击竖起大拇指投票链接,
谢谢提前
约翰

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的