Ask Your Question
2

More digits from octave

asked 2016-07-22 12:37:53 +0100

Marco Caliari gravatar image

Hi, how can I get all the 15/16 digits from a command like pi = octave('pi')?

edit retag flag offensive close merge delete

3 Answers

Sort by ยป oldest newest most voted
1

answered 2016-07-29 14:04:51 +0100

Marco Caliari gravatar image

Hi, I found myself a solution, for instance:

a=Matrix(RR,octave('sprintf("%.16e ",rand(1,4))'))
edit flag offensive delete link more
0

answered 2016-07-22 13:45:42 +0100

slelievre gravatar image

Starting Octave just to get a numerical value of pi is unnecessarily slow.

If you need a floating-point approximation to pi, I would suggest:

sage: pi = RDF.pi()
sage: pi
3.141592653589793

But maybe you have other reasons to use Octave?

edit flag offensive delete link more

Comments

Sorry, try this instead a=octave('0.123456789'). I chose pi just to be short. I get a=0.123457, lost two digits.

Marco Caliari gravatar imageMarco Caliari ( 2016-07-22 14:56:39 +0100 )edit
0

answered 2016-07-22 20:12:46 +0100

nbruin gravatar image

As far as I know, the "octave" command really just gets you an interface that allows you to pass strings as "typed in to octave" and get you back strings as printed by octave. So:

  octave:1> 0.123456789
  ans =  0.12346

suggests octave is naturally stingy with printing digits. In order to get more digits back via the octave interface, you should do whatever you do to normally coerce octave to print more digits. Perhaps https://www.gnu.org/software/octave/d... helps.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 2016-07-22 12:37:53 +0100

Seen: 899 times

Last updated: Jul 29 '16