How to increase the precision of Matlab (compared to Fortran) ???

조회 수: 7 (최근 30일)
Zheng
Zheng 2012년 11월 17일
Hi,
I am using Matlab to translate subroutines coded by FORTRAN. However I found that the truncation error of matlab is very important, it means the precision of matlab can not be comprared to Frotran.
I tried format command, it does not work. Anyone knows how to increase the precision of matlab?
Regards
Zheng Li
  댓글 수: 1
Jan
Jan 2012년 11월 18일
The question would be more clear, if you explain "truncation error of Matlab is very important" with an explicit example. Currently it seems, like you confuse the internal representation of numbers (double is exactly the same as real*8) and the output to the command window (affected by the format command).

댓글을 달려면 로그인하십시오.

답변 (3개)

Walter Roberson
Walter Roberson 2012년 11월 18일
MATLAB's "double" has the same precision as Fortran's REAL*8.
MATLAB does not have a numeric class equivalent to REAL*16.

Ben Barrowes
Ben Barrowes 2012년 11월 18일
What do you mean when you say "compare"? "format long" in matlab should give many digits of display. In any case, like Strider says, matlab default double is the same precision as fortran's real*8. If you need arbitrary precision in matlab (but slow calculation) try the multiple precision toolbox:
If you are converting fortran to matlab, try f2matlab:
it can get you 95% of the way to working m-code.

Pavel Holoborodko
Pavel Holoborodko 2013년 7월 20일
This addon: Multiprecision Computing Toolbox for MATLAB allows programming with arbitrary precision.
It also provides fast quadruple precision mode (equivalent to REAL*16) in particular.
  댓글 수: 8
Wendy Fullam
Wendy Fullam 2013년 7월 31일
Hi all, I’m the technical marketing product manager of MATLAB Answers. Thanks, Pavel, for sharing the pointer to an add-on toolset which might help address Zheng’s question. Thanks, Jan, as well, for keeping an eye on the integrity of the Answers community. While MathWorks certainly does not want Answers to become an advertising mechanism for software distributors, we do encourage the offering of assistance to our customers, even when in the form of pointing to outside tools. We appreciate both of your perspectives, and believe each adds value to the general Answers audience.
Pavel, MathWorks offers a Connections program, which works with third-party organizations that develop and distribute complementary, commercially-available products and services based on MATLAB and Simulink. I’d like to encourage you to look into this venue as a means of raising awareness of this software capability: http://www.mathworks.com/products/connections/join/index.html . If this software provides the capability noted above, we’d certainly like to help spread the word. I’d also encourage you to share some code or examples from the toolset which might further assist Zheng, to enhance the value of the answer provided.
Jan
Jan 2013년 7월 31일
@Wendy: Thanks, this clears my question completely and I've removed the my flag.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Database Toolbox에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by