generate random numbers in engineering notation with precision
조회 수: 3 (최근 30일)
이전 댓글 표시
Matlab folks,
I have a simple question: I want to generate a vector of random numbers formatted in engineering format (e-notation) and the precision is x.xxxxExx
The precision is what is causing me trouble especially is that my goal is to generate a vector of these
Thanks
댓글 수: 0
채택된 답변
José-Luis
2013년 1월 11일
편집: José-Luis
2013년 1월 11일
By default, variables in Matlab are double. If you want to change the way they are displayed, please look at:
doc format
If you want to save them to a text file, please look at:
doc fprintf
댓글 수: 4
José-Luis
2013년 1월 11일
편집: José-Luis
2013년 1월 12일
You can't. Not as an "engineering" number. Not unless you create a custom data type. And Matlab would definitely not be the tool I would choose for that job. If I understand correctly your intentions, then you might be better off creating a vector of integer values.
precision_you_want = 1e-8; %for instance
your_interval = 1e-8:precision_you_want:1e-4;
numRand = 1000;
your_vector = your_interval(randi(numel(your_interval),1,numRand));
But I still think it is better to round of to the precision you want. There is no "engineering" data type, and mimicking one would be difficult, especially since most computers use binary, not decimal, format.
추가 답변 (2개)
Daniel Shub
2013년 1월 11일
What do you mean by format? Computers tend to work with integers and floats, with floats coming in single and double precision varieties. They are internally represented as a sequence of 0's and 1's and many programs can externally display them in a variety of formats (binary, hex, decimal, engineering, etc). MATLAB by default uses double precision floats, but you can switch to single precision or integers. The format in which the number is displayed is controlled by the FORMAT function, but this has no effect on the internal representation.
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Random Number Generation에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!