Quentin, What you want depends on whether your question is specific or general and how accurate you want the result. What you have described is the results for Y = Sin(X) X in degrees. You can calculate this using a Sin function. If you are using assembler such routines are available. If you are using C or BASIC or some other high level language then the function is (probably) already available in the language. If this is a general question then the normal method is "interpolation". Linear interpolation is the simplest form of this and generally the least accurate but may be OK for your purpose. Before we go into this it would be useful for you to provide some more information eg - Are you after Sin (as shown here) or is the question more general? - What accuracy do you need? - What is the application? regards Russell McMahon _____________________________ >From other worlds - www.easttimor.com www.sudan.com What can one man* do? Help the hungry at no cost to yourself! at http://www.thehungersite.com/ (* - or woman, child or internet enabled intelligent entity :-)) From: Quentin >This might seem waaay OT but there is a PIC in there somewhere. >Can somebody please help this rusted brain: > >I've been given information as such: >if x=0, y=0 >x=15, y=0.259 >30, 0.5 >45, 0.707 >60, 0.866 >75, 0.966 >90, 1.000 > >You will see that while X is linear, Y is not (Log??). With these >information available, how would I calculate Y for all the other values >of X? > >I want to use it in a lookup table in the PIC.