Precision with small numbers

Hi I'm working on a program that will approximate values of derivatives at a point.
The code for my differentiation function (where f is the function and a is the point) is:
public double Diff(String f, double a){
     double answer;
     x=a+h;
     answer=Evaluate(f);
     x=a;
     answer=answer-Evaluate(f);
     answer=answer/h;
     return answer;
h is a double with a really small value (10^-50 or so)
x is also a double.
my Evaluate function is:
public double Evaluate(String expression){
myParser.addVariable("x",x);
myParser.parseExpression(expression);
double answer=myParser.getValue();
return answer;
It uses JEP to evaluate the equation at x. myParser is an instance of the JEP class.
My problem is that the answers I get are wildly inaccurate. 6 and 7 usually produce the same answer. Anything over 50 always gives me 0. I don't know why this is and how I can solve it. Any help would be appreciated.

A double has a precision of 16-17 digits. If you have 2 you can't add a 1 at the 50'th fractional position as you try to do now. You can add a one at the 15'th fractional position at the most, like
System.out.println(2.0+1.0E-50); // double has too little precision for this
System.out.println(2.0+1.0E-15); // double has just enougth precision for thisSo you will have to use a much smaller h, like 10^6 or something. Or you will have to use BigDecimal to get more precision.

Similar Messages

  • How to combine rows with small numbers into single "other" row?

    How can I combine rows with value 6(for example) or lower to single row representing the SUM of all this values and label OTHER, so the pie chart will have a chance to display all small values combined?
    I'm using Numbers 09

    HI Peter,
    When you write a decimal number, is the decimal separator a period ( . ) or a comma ( , )? If it's a comma, then the syntax error can be corrected by replacing the list separator in the formula, a comma in Jerry's formula, with a semi colon ( ; ):
    =SUMIF(B; "<6"; B)
    (Added): The two Bs appear in blue 'lozenges' in Jerry's image because that is the way cell (or column) references are displayed in Numbers when a formula has correct syntax.
    Regards,
    Barry
    Message was edited by: Barry

  • Any suggestions on calculating with very large or small numbers?

    It seems that double values are about 17 decimal places (10e17) in precision.
    Is there a way in iPhone calculations to get more precision for very large and small numbers, like 10e80 and so forth? I know that's more than the entire number of atoms in the universe, but still.
    I tried "long double" but that didn't seem to make any difference.
    Just a limitation?
    Thanks,
    doug

    Hmmm... maybe I was just having a problem with my formatted string then?
    I was using the NSString %g format, which is supposed to print in exponential notation if the number is greater than 1e4 or less than 1e-4, or something like that.
    But I was not getting anything greater exponents than 1e17 and then I was apparently getting overflows because the number were having negative mantissas.
    All the variables involved were double...
    How did you "look at" z?
    Thanks,
    doug

  • Single Precision Floating Point Numbers to Bytes

    Ok here is some code that i have written w hile back with some help from the support staff. It is designed to take in precision floating point numbers that are stored as 4 bytes and convert then to a decimal value. It works off of a udp input string and then also reformats the string. I have the ability to look at up to 4000 parameters from this one udp string. But now what i want to do is do the opposite of what i have written, and also perhaps get rid of the matlab i used in it as well. What i would like to be able to do is input a decimal value and then have it converted in to the 4 byte groupings that make up this decimal nd then have it inputed back in to a single long string witht hat grouping of bytes in the right order. A better explanation of what was done can be found on this website
    http://www.jefflewis.net/XPlaneUDP_8.html
    as the original code followed the "Single Precision Floating Point Numbers and Bytes" example on that site but what i want to do is "Going from Single Precision Floating Point Numbers to Bytes". The site also explains the udp string that is being represented. Also attached is the original code that i am trying to simply reverse.
    Attachments:
    x-plane_udp_master.vi ‏34 KB

    Perhaps what you are doing is an exercise in the programming of the math conversion of the bytes.
    But if you are just interested in getting the conversion done, why not use the typecast function?
    If the bytes happen to be in the wrong order for wherever you need to send the string, then you can use string functions to rearrange them.
    Message Edited by Ravens Fan on 10-02-2007 08:50 PM
    Attachments:
    Example_BD.png ‏3 KB

  • Working with Large Numbers

    Hi there,
    I am currently doing a school assignment and not looking for answers but just a little guidance.
    I am working with large numbers and the modulo operator.
    I might have some numbers such as :
    int n = 221;
    int e = 5;
    int d = 77;
    int message = 84;
    int en = (int) (Math.pow(message, e) % n);
    int dn = (int) (Math.pow(en, d) % n);Would there be a better way to do this kind of calculation. The dn value should come out the same as message. But I always get something different and I think I might be losing something in the fact that an int can only hold smaller values.

    EJP wrote:
    It might make sense in some contexts to have a positive and negative infinity.
    Yes, perhaps that's a better name. Guess I was harking back to old COBOL days :-).(*)
    But the reason these things exist in FP is because the hardware can actually deliver them. That rationale doesn't apply to BIgInteger.Actually, it does. All I'm talking about is a value that compares higher or lower than any other. That could be done either by a special internal sign value (my slight preference) or by simply adding code to compareTo(), equals() and hashCode() methods that takes the two constants into account (as they already do with ZERO and ONE).
    Don't worry, I'm not holding my breath; but I have come across a few situations in which values like that would have been useful.
    Winston
    Edited by: YoungWinston on Mar 22, 2011 9:07 AM
    (*) Actually, '&plusmn;infinity' tends to suggest a valid arithmetic value, and I wasn't thinking of changing existing BigInteger/BigDecimal maths (except perhaps to throw an exception if either value is involved).

  • There are many text messages from various 'small' numbers, such as 000254879. Anyone know what these are?

    There are many text messages from various 'small' numbers, such as 000254879. Anyone know what these are?

        Great question mhollomon! These may be spam or an  autotext type of message. Here's a great link with spam control links: http://vz.to/1m7f4ao
    JoeL_VZW
    Follow us on Twitter @VZWSupport

  • Having trouble converting array to spreadsheet string, storing the file and coverting back to array with complex numbers

    I am working with a network analyzer. I have arrays made of 5 columns the first consisting of an integer and the next four consisting of complex numbers. I am converting the array into a spreadsheet string and then saving the file using the write characters to a file VI. That seems to work well as when I open the file in Excel all the data is there. However when I try to reverse the process, open file and convert back to array, I loose some of the data. Specifically the imaginary parts of my complex numbers are all going to zero. I have narrowed down the problem to be in the conversion from spreadsheet string to array and vice versa. I
    think the problem may be with the 'format' input to the VI. I do not have an adequate resource for this so I am not sure what to put in to accomplish my task. Any takers?

    Hi Biz
    I don't think there is a direct way of converting a complex number to a
    string, so when you convert the array to a spreadsheet string, the
    numbers would be converted to real data.
    However, you could try separating the real and imaginary parts using the
    "Numeric: Complex to Re/Im" function, and then store these - either in
    separate files or in adjacent columns/rows in the same file. Then, when
    you read in the data again, use the "Numeric: Re/Im to Complex" function
    to put the two "halves" together.
    If you actually want Excel to interpret the numbers as imaginary, then
    you'll probably want to create a string for each complex number of the
    form "Re + Im*i" (after separating the Re and Im parts), by using
    "String:Format into String" with 2 numeric inputs and the format string
    "%f+%fi".
    Reading the data back into Labview then would require splitting the
    string into the 2 pieces by using "Stringcan from String" with 2
    numeric outputs (smae precision as original numbers specified by the 2
    Default Value inputs) and the same format string "%f+%fi", and then using
    the above-mentioned "Numeric: Re/Im to Complex" function. It worked for
    me, so if you can't follow what I am describing, send me an email and I
    can email you what I did (LV 5.1.1).
    Paul
    Biz wrote:
    > Having trouble converting array to spreadsheet string, storing the
    > file and coverting back to array with complex numbers
    >
    > I am working with a network analyzer. I have arrays made of 5 columns
    > the first consisting of an integer and the next four consisting of
    > complex numbers. I am converting the array into a spreadsheet string
    > and then saving the file using the write characters to a file VI. That
    > seems to work well as when I open the file in Excel all the data is
    > there. However when I try to reverse the process, open file and
    > convert back to array, I loose some of the data. Specifically the
    > imaginary parts of my complex numbers are all going to zero. I have
    > narrowed down the problem to be in the conversion from spreadsheet
    > string to array and vice versa. I think the problem may be with the
    > 'format' input to the VI. I do not have an adequate resource for this
    > so I am not sure what to put in to accomplish my task. Any takers?
    Research Assistant
    School of Physiotherapy, Curtin University of Technology
    Selby Street, Shenton Park, Western Australia, Australia. 6008
    email: [email protected]
    Tel. +61 8 9266 4657 Fax. +61 8 9266 3699
    "Everyone who calls on the name of the Lord will be saved." Romans 10:12
    "For all have sinned and fall short of the glory of God, and are
    justified freely by his grace through the redemption that came by Christ
    Jesus." Romans 3:23-4

  • I have 1 apple id, 2 5S iPhones with separates numbers and both ring when I get a call on one of the numbers. How do I switch that of ?

    I have 1 Apple ID, 2 5S iPhones (1 private/1 work) with separates numbers and both phones ring when I get a call on one of the numbers. How do I switch that of ?

    I realize that my wife could make her own iTunes account; however, she's been using mine for about 2 years now and this hasn't been an issue.  I guess with the Family Sharing she can have access to all of our music and apps now with her own account. 
    I'll have to see if unchecking our emails resolves this issue.

  • I bought a new iphone and as i was setting my apple ID account and i signed in to my account and confirmed two useres with diffrent numbers that were signed to the same apple ID and it messed up my i messege and face time. how do i fix that ?

    i bought a new iphone and as i was setting my apple ID account and i signed in to my account and confirmed two useres with diffrent numbers that were signed to the same apple ID and it messed up my i messege and face time. how do i fix that or delete one user ?

    Hello sapiii96,
    Thanks for using Apple Support Communities.
    For more information on this, take a look at:
    iOS: Troubleshooting FaceTime and iMessage activation
    http://support.apple.com/kb/ts4268
    To sign out of your Apple ID
    Go to Settings > FaceTime, tap your Apple ID, and select Sign Out.
    Go to Settings > Messages > Send & Receive, tap your Apple ID, and select Sign Out.
    Best of luck,
    Mario

  • HT4528 Can I put the same information on two different i-phones with different numbers and different ID's?

    Can I put the same information on two different i-phones with different numbers and different ID's?

    Yes and no it really depends on what information you are putting on the devices.

  • MAC and iTunes is not recognizing my 5th generation iPod touch with smaller charger plug. What can I do to fix?

    MAC and iTunes is not recognizing my 5th generation iPod touch with smaller charger plug. What can I do to fix?

    I susopect you have the 5G iPod
    iOS: Device not recognized in iTunes for Mac OS X
    You need iTunes 11.1 or later and that requires a Mac with OSX 10.6.8 or later

  • Application Express 3.1 + BI-Publisher + problem with formating numbers

    Hello together!
    I use the Oracle BI Publisher Template Builder for Word (10.1.3.4) to generate RTF-Templates. I upload these templates in Oracle Apex (Advanced support-->BI-Publisher/OC4J as print service).
    It works well, but I have a problem with formating numbers.
    In Template Builder I define following number formats, for example: #.##0 for numbers like 1.454.234 and #.##0,00 for numbers like 54,80
    In Template-Builder Preview it looks well.
    But whatever I do, in use with Oracle Apex dots and comma are allready interchances in the printout.
    That means,
    1.454.234 become 1,454,234 in PDF-Report
    54,80 become 54.80 in PDF-Report
    Other than that, the layout is exactly the same like in Template Builder defined.
    What's wrong?
    Do I have to change any country parameter?
    Juliane

    I also had the same problem. I tried with normal formating of 99g99g999d99 instead of ##,##,##0.00 and it has resulted correct way.

  • Creation of sub item with serial numbers in outbound delivery

    Hi All,
    We need to create a sub item for an Outbound Delivery main item in change mode with serial numbers for sub item.
    Process flow:
    1. Sales order item created with main item
    2. Outbound Delivery created with main item
    3. Outbound Delivery interfaced to external logistics sytem
    4. External logistics system pick the main item and a sub item (packaging) from warehosue and ship to customer
    5. External logistics sytems send delivery pick confirmation interface with main item details and serial numbers for sub item
    Now we have to create a sub item with serial numbers in the delivery referencing the same main item.
    NB: Delivey can have multiple similar main items but there is only material number in SAP for sub item. Hence the requirement to identify relevant sub item serial numbers to each delivery main item.
    Can you kindly tell me in what possible ways we can create sub item with serial numbers for a deliveyr main item in change mode.
    Thanks in advance
    Best  Regards
    Veer

    Hi,
    Does anybody have an answer?
    Thanks in advance.

  • DTW General Entry (Goods Receipt) with Serial numbers

    Hi all,
    I want to import 540 items with serial numbers using the General Entry templates. Some items have as many as 200 serial numbers. Total number of serial numbers for 540 items are about 24,000.
    In the Serial Numbers template, will I have to cover 24,000 rows? Is it possible to auto-create the serial numbers with DTW?
    In which field should I put the serial numbers - Internal or System?
    Thanks,
    Ajay Audich

    Hi Ajay Audich,
    You may check this thread first:
    Re: Upload inventory transfer trnsaction with DTW
    Thanks,
    Gordon

  • Goods Receipt with serial numbers

    Hello everyone
    I'm having problems when i try to add a goods receipt with serial numbers
    Code:
            OReceipt = oCompany.GetBusinessObject(BoObjectTypes.oInventoryGenEntry)
            OReceipt.Series = 18
            OReceipt.DocDate = Date.Now
            OReceipt.TaxDate = Date.Now
            OReceipt.Lines.ItemCode = "MP.PP.241"
            OReceipt.Lines.Quantity = 1
            OReceipt.Lines.SerialNumbers.InternalSerialNumber = "SN-01"
            OReceipt.Lines.SerialNumbers.ManufacturerSerialNumber = "SN-01"
            OReceipt.Lines.AccountCode = "_SYS00000000109"
            OReceipt.Lines.WarehouseCode = "MPfabrik"
            OReceipt.Comments = ".NET"
            res = OReceipt.Add()
    Any help will be greatly appreciated!

    Hi Nestor
    All forums on SCN contain a description of what the forums is for. This forum's  Overview page:
    Looking at the overview, I suspect you want to post your query elsewhere? Perhaps one of  Microsoft's forums?
    - Ludek
    Senior Support Engineer AGS Product Support, Global Support Center Canada
    Follow us on Twitter

Maybe you are looking for

  • ISE 1.2 Authentication Failures at First time Connection

    Hi,  I have a trouble with ISE 1.2 when trying to authenticate for first time an end-device, this device might be either a Workstation or IP Phone or Printer,etc. it fails or staying in running mode. The result is the same it can not access the netwo

  • SQL | not working anymore | BITMAP CONVERSION

    * I am a beginner at SQL tuning. Advise/pointers required * I have two similar schemas, A and B. Major difference is B has much more data than A. My query Q has always worked on both until last week. Note: I have no BITMAP index in both schemas Query

  • Peak value over a given time period?

    Hello. We are a group of students who are looking for a way to use our blood pressure measurements in labview. What we want to do is to have labview display the peak value when our curve tops the first time, then hold this value for some seconds.Then

  • App World list not refreshing

    Good afternoon. I haven't been able to refresh my App World (4.0.0.65) list for almost a week now. When I try using Alt+rst or the "refresh" option inside App Wold I get "An error occured while updating your applicaiton list". Any suggestions?

  • How can one powershell.exe session start up a new powershell.exe session in a new window?

    How can one powershell.exe session start up a new powershell.exe session in a new window?