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
0 个评论
回答(1 个)
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 个评论
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 Center 和 File Exchange 中查找有关 Symbolic Math Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!