How can I increase the decimal digits in the result of my program ? for example 50 or 80 digits .

1 次查看(过去 30 天)
format long
x=(pi);
for i=1:10
fx=cos(x(i))-3*x(i)+1;
fxx=-sin(x(i))-3;
x(i+1)=x(i)-(fx/fxx);
end
x(10)
% THE RESULT IS = 0.607101648103123

回答(1 个)

Star Strider
Star Strider 2017-1-27
If you have the Symbolic Math Toolbox, you can use it. Another option is John D’Errico’s HPF - a big decimal class in the File Exchange.
  2 个评论
khalid boureeny
khalid boureeny 2017-1-27
编辑:per isakson 2017-1-27
Hi, Star Strider ...thanks a lot for your help ...
I do have Symbolic math toolbox , but the problem is I'm beginner and I don't know how ... can you modify this program for me ...
format long
x=(pi);
for i=1:10
fx=cos(x(i))-3*x(i)+1;
fxx=-sin(x(i))-3;
x(i+1)=x(i)-(fx/fxx);
end
x(10)
% THE RESULT IS = 0.607101648103123
THANKS again , I really need that help ... khalid_boureeny@yahoo.com
Star Strider
Star Strider 2017-1-27
My pleasure.
Declare ‘x’ as as symbolic object, and the result will be symbolic with the precision defined by the digits function:
digits(50);
x= sym(pi);
for i=1:10
fx=cos(x(i))-3*x(i)+1;
fxx=-sin(x(i))-3;
x(i+1)=x(i)-(fx/fxx);
end
x_10 = vpa(x(end))
x_10 =
0.60710164810312263122482837345049072888916774532395

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Symbolic Math Toolbox 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by