Re: Displaying decimals
- To: mathgroup at smc.vnet.net
- Subject: [mg63486] Re: Displaying decimals
- From: "Jean-Marc Gulliet" <jeanmarc.gulliet at gmail.com>
- Date: Tue, 3 Jan 2006 01:24:38 -0500 (EST)
- Organization: The Open University, Milton Keynes, U.K.
- References: <dpb0q8$1ph$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
"Lea Rebanks" <lrebanks at netvigator.com> a écrit dans le message de news: dpb0q8$1ph$1 at smc.vnet.net... | | Given the enclosed function, I can not make Mathematica v5.1 display | greater than 3 decimals. Please help. | | slope[x_]:=160.245051009838+0.05888359189242*x | | EG. slope[50] = 163.189 | | I don't know how or why this is happening. I have tried N[expr,20] to | no avail. | | Many thanks for your attention. | | Lea Rebanks. | Hi Lea, As it is coded, the function slope does and returns its computation in machine precision (limited precision, hardware dependent, evaluate $MachinePrecision to see it). On the other hand, the built-in function *N* expects numbers expressed in arbitrary precision to be able to display them with the required number of significant digits. To see the difference compare your function slope against the function slope2 below. In[1]:= slope[x_]:=160.245051009838+0.05888359189242*x In[2]:= res=slope[50] Out[2]= 163.189 In[3]:= Precision[res] Out[3]= MachinePrecision You can see the number with all of its digits in *InputForm* In[4]:= InputForm@res Out[4]//InputForm= 163.189230604459 Note that the precision of the coefficients are expressed by adding `15 at the end of each number In[5]:= slope2[x_]:=160.245051009838`15+0.05888359189242`15*x In[6]:= res2=slope2[50] Out[6]= 163.189230604459 In[7]:= Precision[res2] Out[7]= 15. In[8]:= N[res2,10] Out[8]= 163.1892306 Happy New Year! /J.M. (************** Content-type: application/mathematica ************** CreatedBy='Mathematica 5.2' Mathematica-Compatible Notebook This notebook can be used with any Mathematica-compatible application, such as Mathematica, MathReader or Publicon. The data for the notebook starts with the line containing stars above. To get the notebook into a Mathematica-compatible application, do one of the following: * Save the data starting with the line of stars above into a file with a name ending in .nb, then open the file inside the application; * Copy the data starting with the line of stars above to the clipboard, then use the Paste menu command inside the application. Data for notebooks contains only printable 7-bit ASCII and can be sent directly in email or through ftp in text mode. Newlines can be CR, LF or CRLF (Unix, Macintosh or MS-DOS style). NOTE: If you modify the data for this notebook not in a Mathematica- compatible application, you must delete the line below containing the word CacheID, otherwise Mathematica-compatible applications may try to use invalid cache data. For more information on notebooks and Mathematica-compatible applications, contact Wolfram Research: web: http://www.wolfram.com email: info at wolfram.com phone: +1-217-398-0700 (U.S.) Notebook reader applications are available free of charge from Wolfram Research. *******************************************************************) (*NotebookFileLineBreakTest NotebookFileLineBreakTest*) (*NotebookOptionsPosition[ 2763, 111]*) (*NotebookOutlinePosition[ 3408, 133]*) (* CellTagsIndexPosition[ 3364, 129]*) (*WindowFrame->Normal*) Notebook[{ Cell[BoxData[ \(slope[x_] := 160.245051009838 + 0.05888359189242*x\)], "Input"], Cell[CellGroupData[{ Cell[BoxData[ \(res = slope[50]\)], "Input"], Cell[BoxData[ \(163.189230604459`\)], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(Precision[res]\)], "Input"], Cell[BoxData[ \(MachinePrecision\)], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(InputForm@res\)], "Input"], Cell["163.189230604459", "Output"] }, Open ]], Cell[BoxData[ \(slope2[x_] := 160.245051009838`15 + 0.05888359189242`15*x\)], "Input"], Cell[CellGroupData[{ Cell[BoxData[ \(res2 = slope2[50]\)], "Input"], Cell[BoxData[ \(163.1892306044589999999999999998`15. \)], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(Precision[res2]\)], "Input"], Cell[BoxData[ \(15.`\)], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(N[res2, 10]\)], "Input"], Cell[BoxData[ \(163.189230604459`10. \)], "Output"] }, Open ]] }, FrontEndVersion->"5.2 for Microsoft Windows", ScreenRectangle->{{0, 1280}, {0, 717}}, WindowSize->{495, 593}, WindowMargins->{{24, Automatic}, {Automatic, 30}} ] (******************************************************************* End of Mathematica Notebook file. *******************************************************************)