How to set Matlab precision to Single
조회 수: 113 (최근 30일)
이전 댓글 표시
my code requires a precision 32 bit float. Matlab uses double by default, is there a way to set it to single by default so that when ever my program executes , all my variables are in single
댓글 수: 0
답변 (3개)
Walter Roberson
2012년 8월 31일
system_specific('precision', '24')
but you should check.
However, it should definitely not be trusted that all internal calculations will be made in single precision even if all the variables involved are single precision.
댓글 수: 4
Star Strider
2012년 8월 31일
Thank you! (Bookmarked for later reference.)
An experimental system_dependent() call generated no errors (or to the best of my knowledge, anything else), and a feature() call generated:
Error using feature
Not enough input arguments.
I was hoping that both calls would generate some documentation themselves, but no such luck. I don't surf Undocumented MATLAB much because it seems to be mostly Java. I may need to visit it more often.
Jan
2012년 9월 1일
The command is: feature('SetPrecision', 24). The deafult value is 53, which means standard 64 bit DOUBLE precision, while 64 enables the storing of intermediate values in the 80 bit registers of Intel processors.
But this command enables rounding to single precision. This is useful to check the numerical precision of an algorithm, but it neither saves time nor memory. Therefore I assume, that this is not useful for you. Please explain, what you are wanting to achieve.
Azzi Abdelmalek
2012년 8월 31일
single(x)
댓글 수: 2
Azzi Abdelmalek
2012년 8월 31일
편집: Azzi Abdelmalek
2012년 8월 31일
if your data are single , all your variables will be single
a=single(2)% single
b=14 % double
c=a*b % single
Star Strider
2012년 8월 31일
The best you can likely do is described in this thread ‘Single Precision by Default? ... lots of auxiliary variables to cast’ last year.
참고 항목
카테고리
Help Center 및 File Exchange에서 Logical에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!