Exponentia​l Best Fit Is Off?

Hey again, wonderful forumers!
So, my lab advisor came back from her trip to Italy… turns out using the Leven-Marquart fitting process is okay, so we turned our attention to the exponential fitting process.
As we inspected this element further, we found out that there’s something fishy going on with our best fit line. I take theoretical Lorentzian data and plug said points in for tau in an exponential generation process. After generating the exponential data, I add Gaussian noise, and then pull THAT data into the standard exponential fit VI. The resulting best fit line is nowhere near the curve of original theoretical data, which is what I was predicting. Am I doing something wrong or is the data not appropriate for this fitting process? Peers here on my end have tried fitting the same data in different programs, and their processes work… so perhaps there’s something screwed up in my code!
I’ve included the main VI and a few SubVIs with this message.
Any help or comments would be appreciated.
Sincere thanks,
Vari
Solved!
Go to Solution.
Attachments:
Something's Wrong.vi ‏130 KB
BL-BuildArrayFunction.vi ‏12 KB
BL-DatatoChiSquared.vi ‏9 KB

Varinem wrote:
Anything to say on the matter or are me and my lab just crazy? 
You have a pretty old LabVIEW version and the "unconstrained exponential fit" you are using is not directly supported, according to the context help. Wire a "refine=TRUE" to the lower input and things look better.
Substituting the toplevel exponential fit from the palette gives excellent results. 
(While you are at it, please get rid of these stupid detours via dynamic data. Remove the "to dynamic data" and "merge signal" nodes. A simple "built array" works just fine).
LabVIEW Champion . Do more with less code and in less time .

Similar Messages

  • Is it possible to show a best fit line

    i am plotting percent fructose V.S density and trying to do a best fit line. A connect the dots jagged line would not be appropreate. Is it possibleto do this?

    Short answer: No. Wait to see what the next version brings. The only real work-around is to add a data set using the same x values and new y values, predicted from the linear regression. You would then have to draw a line over the resulting plot points manually. Then, "hide" the extra data set by eliminating the data point fill and outline.
    Only help I can offer is to look in your Utilities folder for an app named "Grapher." It can do everything you ask (and then some) and also produces high quality graphs as well (which can be copied and pasted into other apps in a variety of formats). Best of all, it's free and you probably already have it. It plots both discrete data sets as well as true functions. And yes, it will do linear regressions (and power, exponential, polynomial, and "custom" ones as well).
    Unfortunately, iWork's charting abilities are best described as "laughably pathetic." In stead of revolutionizing the charting aspect of spreadsheets, Apple chose to follow in M$'s footsteps, aka the path of a sado-masochistic CPA or "the Excel way." In essence, Numbers is only capable of producing what I call "bin count" charts (as in pie charts, bar graphs, and line/area charts). The "scatterplots" Numbers produces are really a hacked version of bin count charts. As such, they are basically useless for real scientific/engineering/mathematic plots. In fact, it does them so badly, I'm surprised the "scatterplot" option even made the cut for the final release.
    Things that breaks/cripples Numbers' "scatterplot":
    • No control over range of axis. "Value Axis Format" controls don't function properly/always remain blank and there is only one set of values for both axis (just like a bin count chart, whose "x axis" has no real, numerical value; so, doesn't need any controls). And there is no way to lock the scale of the axis so, for example, 10 units on the x axis is the same physical distance as 10 units on the y axis.
    • Axis grid divisions are only allow to be integers between 1 and 10 (which only makes sense for a bin count plot).
    • No 3D, log, log-log, ln, ln-ln, cylindrical, or spherical plots.
    • No true function plots. And there is no way to connect points, it only plots discrete data sets.
    • No control of data point marker sizes, only the fill/outline color and outline thickness.
    • Chart legend gets it's text from the independant variable (aka x values) column title, not the dependant (y value) column title, like it should. (Something that only makes sense on a bin count chart, which usually only have one column of data per data set.)
    • Each data set must come from adjacent pairs of columns. (You can't have one set of x values for a table of multiple y values.)
    • No way to control the size of the plot area itself (only the overall size of the chart rectangular area, which includes the axis text). So you can't fake a line chart as an overlay over a scatterplot, there's no way to align them.
    • Only does linear regressions directly (and then you have to put it together from pieces). No exponential, log, ln, power, or polynomial fits.
    • Charting brings Numbers to it's knees as far as speed is concerned.
    • I haven't found a way to ADD a data set to chart, it always seems to replace the data already plotted (or am I missing something or fighting a bug?).
    Heck, there isn't even error bars on it's financial charts, so you can't even do a simple high-low-close stock price tracking, line chart. Other than that, it you want a 2 1/2D pie chart with wood grain texturing, Apple's got you covered!
    Scott
    P.S. Just in case those of you reading this think I'm an Apple/Numbers hater, you couldn't be more wrong. I'm a huge fan of Numbers and it has permanently bumped Excel off of my dock. (I just don't use it for charting.) I call'em like I see 'em. And Apple can't fix it if they don't know it's broken.

  • Bessel function best fit

    Hi all,
    Quite new to LabVIEW. I am capturing diffraction images that are described by Bessel J functions. The maxima of the diffraction correspond to the maxima of the Bessel J functions ( or zeros of 1st derivative).  I wish to fit the diffraction image intensities to a Bessel J function , pixel value -> best fit to x in J(x). Has anyone previously done this before? I know the order n of the Bessel function but not necessarilly the pixel where x=0.
    Similarly, I hope to fit the diffraction image of a pinhole which is an Airy Disk to use as calibration ie pixel -> m^-1.
    Any help or suggestions would be gratefully accepted.
    Regards,
    Leeser 

    Leeser,
    Considering you are relatively new to labVIEW, your program was very well structured and seems to approach the problem in the right manner. As you correctly guessed right from the beginning, no-one it seems has attempted fitting a Bessel function to their data. The 'best-fit' VI's found in the 'Fitting Pallette' are more generally concerned with parametric, powers and exponential type functions, rather than more complex differentials such as the Bessel. In cases similar to yours, it seems that people haave tried adopting the Levenberg-Marquardt algorithm which is a Non-Linear Fitting VI found in the Fitting Pallette. This is the Lev-Mar VI which Kristie Elam reccomended you using for the Airy disc. This function allows one to define the equation with which they wish to fit their data, but due to the complexity of the Bessel function, this may be quite tricky.
    I have been working on an example VI which provides the basic structure of what you need to implement in to your program. The Bestfit VI converts a picture using the IMAQ functions and then plots the converted data. You can manipulate the row control to choose which row of pixels you wish to analyse. The VI then calls the Lev-Mar Best Fit function which in itself calls the Bessel Formulae VI which is a template for the Bessel Formulae that the Lev-Mar function will use in its best-fit approximation. It is within this VI that you will need to enter the neccessary formulae to produce your theoretical Bessel function. The Lev-Mar Bestfit function can then use this data to plot a Least Squares Best Fit approximation against your spectrum.
    Aswell as the Bestfit and Bessel Formulae VI's, I have attached a Gaussian Example VI which gives a complete example of a Bestfit approximation using this method. Furthermore, I have attached a couple of VI's that I found which I hope may help you to develop the Bessel formulae. These include a table of Bessel roots, which you may be able to use to produce a table of the derivative roots, those found on your schematic.
    I really hope this information and the files I have attached will be of use to you, I'm just sorry there isn't a direct tool with which you can produce the bestfit approximation. Keep me posted on your progress as I've been working on this for a few days now and would like to see how it goes!
    With regards to the Airy disc, I would keep on with the files that you received from Kristie Elam, hopefully using the same method with both the Bessel functions and Airy disc might make things easier for you.
    I hope this informtaion is of use to you, best wishes and good luck!
    Rob
    Rob L
    NI Applications Engineer
    UK & Ireland
    It only takes a click to rate this message ;-)
    Attachments:
    Bessel Bestfit.zip ‏98 KB

  • I am looking to make the switch from pc to mac and have been eyeing the MBP 13". I would like to know whether it is fine to add RAM and SSD myself? any compatibility or warranty problems? what brand/type of RAM and SSD is the best fit? thank you.

    i am looking to make the switch from pc to mac and have been eyeing the MBP 13". I would like to know whether it is fine to add RAM and SSD myself? any compatibility or warranty problems? what brand/type of RAM and SSD is the best fit? thank you.

    Chamar wrote:
    I'm possibly wrong here but I suspect opening a brand new MBP to add parts yourself will void the warranty.  It is probably in the small print.  I certainly would not risk it for an expensive Apple product.
    Some (Windows) laptops have easy access to memory and disk slots that do not necessitate taking the complete back cover off.  However, Apple does not make life easy for you.
    However, if you are going for a 'used' machine it is probably worth a try.
    Not possibly, definitely wrong, Ram and Hard Drive are considered user replaceable and will not void the warranty if changed.

  • Getting error message that states itunesexe has been set to run in compatibilty mode for an older versions of windows for best results turn off compatibility mode for itunes before you open it .How do i turn off compatibility mode?

    recieved error message that states" itunes exe has been set to run in compatibility mode for an older versions of windows for best results turn off compatibility mode for itunes before you open it. How do i access compatibility mode and turn it off ? Believe i have Windows 7.

    Try the following document, only be sure that none of the boxes in the compatibility tab are checked (not just the compatibility mode box itself): 
    iTunes for Windows: How to turn off Compatibility Mode

  • How do i find where 2 best fit lines cross?

    Hi
    I was wondering if anyone knows a way to find where 2 best fit lines cross, I don't have the equation for the lines and i'm not sure if I can get it.
    I currently have the program tracing the lines and comparing y values however it will only increment in steps of 0.1 on the x-axis and i need an accuraccy of 0.0001

    If you have or can get a series of XY value pairs for both of the lines, getting the equation of the line is as simple as calling Linear Fit.vi.  Once you have the equations of both lines, the intersection is simple algebra, subject to the accuracy of your fit.  If the XY data pairs describe a curve, not a line, and you want more accuracy, you can try a polynomial fit using General Polynomial Fit.vi.  To find the intersection, set one polynomial equation equal to the other, compute the coefficients of the resulting polynomial equation, and find the root using Polynomial Roots.vi.  All this assumes you have a Pro or better version of LabVIEW.  If you don't, you can still do it, but you will need to write some code for the fits and roots.  Check out a copy of Numerical Recipes in C, by Press et. al. from your local library and it will give you the equations for all the above.  With LabVIEW's native matrix handling capabilities, the rest is straighforward.
    Let us know if you need more help.
    This account is no longer active. Contact ShadesOfGray for current posts and information.

  • How to Make a Line of Best Fit/Best Fit Line/Trendline in iWork Numbers '09

    I'm not sure if this is well-known or has been answered elsewhere already, but multiple Google searches have not shown this solution on how to create a line of best fit in Numbers '09 (there is another method that involves drawing a line yourself, but this is much easier and more accurate).
    I stumbled across this trying the above self-draw technique and got so excited I wanted to post the technique. So here is what you do:
    1) Type out your X and Y data
    2) Select the data and select Charts, then select the Scatter Plot
    3) Open up Inspector and select the Chart tab
    4) Select the "Series" tab below the picture of the Scatter Plot and the "Chart Colors..." button
    5) At the bottom of the Inspector window, open the "Advanced" arrow
    6) Select the "Trendline" tab and select the "Linear" trendline from the drop-down bar
    That's it! You can even select the options to show the line equation or the R-squared value!
    Here is a picture of the selected options and what your graph should look like (check that nice R-squared value!).
    http://i.imgur.com/AvfPv.png
    I hope this helps and hope it moves up to the top of the Google search page for this feature.

    Hi Asclepius37,
    Why not just search "trend" or "trendline" in the Numbers '09 User Guide?
    That would take you to page 149 of the guide and the article "Showing Trendlines in Charts," which lists a set of instructions very similar to those in your post.
    The Numbers '09 User Guide and the iWork Formulas and Functions User Guide are searchable pdf files, and may both be downloaded through kinks in the Help menu in Numbers. Both are excellent resources to have on hand.
    Regards,
    Barry
    PS: Searching "best fit" will return zero results, but "best" or "best-fit" will get you to the same article.
    B

  • Best fit line

    regarding a graph made from spreadsheet data...
    how do i make a best fit line to a set of points?
    also, is there a way to find the slope and intercept of this line?
    Thank you!

    Hello
    The named functions are not available in AppleWorks.
    One way to mimic them is to use AppleScripts .
    Here is an old one which calculate the slope.
    --{SCRIPT}
    tell application "AppleWorks 6"
    activate
    tell front document
    set laSelection to get object specifier of the selection
    set debutCible to name of first cell of laSelection
    -- nom de la première cellule cible
    -- • name of first dest cell
    set premColonne to item 1 of (index of first column of laSelection) as list
    set premRangee to item 1 of (index of first row of laSelection) as list
    set dernColonne to item 1 of (index of last column of laSelection) as list
    set dernRangee to item 1 of (index of last row of laSelection) as list
    set nb_Rangees to dernRangee - premRangee + 1
    if not (dernColonne - premColonne) = 1 then error 8088
    set cell11 to name of row premRangee of column premColonne
    set cell12 to name of row dernRangee of column premColonne
    set cell21 to name of row premRangee of column dernColonne
    set cell22 to name of row dernRangee of column dernColonne
    set vX to get select (cells cell11 thru cell12)
    set the clipboard to vX
    set vY to get select (cells cell21 thru cell22)
    set nb to count of vX
    set {X, Y, XY, x2} to {0, 0, 0, 0}
    repeat with i from 1 to nb
    set xi to vX's item i
    set yi to vY's item i
    set X to X + xi
    set Y to Y + yi
    set XY to XY + (xi * yi)
    set x2 to x2 + (xi * xi)
    end repeat
    set slope to (XY - (X * Y) / nb) / (x2 - (X * X) / nb)
    select menu item 4 of menu 3 (* copier *)
    set slope to my calcule(nb_Rangees)
    display dialog "" & slope
    end tell
    end tell
    on calcule(nb_)
    tell application "AppleWorks 6"
    activate
    set AWversion to (version as text)
    select menu item 2 of menu item 1 of menu 2 (* Nouveau tableur
    • New spreadsheet *)
    tell front document
    select cell "A1"
    select menu item 5 of menu 3 (* Colle • Paste *)
    set formula of cell "C1" to "=A1*B1"
    set formula of cell "D1" to "=A1^2"
    select cell ("C1..D" & nb_)
    select menu item 3 of menu 5 (* Recopier vers le bas
    • Fill down *)
    if AWversion starts with "FU1-" then
    set formula of cell "E1" to "=(SOMME(C1..C" & nb_ & ")-SOMME(A1..A" & nb_ & ")*SOMME(B1..B" & nb_ & ")/NOMBRE(A1..A" & nb_ & "))/(SOMME(D1..D" & nb_ & ")-SOMME(A1..A" & nb_ & ")^2/NOMBRE(A1..A" & nb_ & "))"
    else
    set formula of cell "E1" to "=(SUM(C1..C" & nb_ & ")-SUM(A1..A" & nb_ & ")*SUM(B1..B" & nb_ & ")/count(A1..A" & nb_ & "))/(SUM(D1..D" & nb_ & ")-SUM(A1..A" & nb_ & ")^2/count(A1..A" & nb_ & "))"
    end if
    set slope_ to cell "E1"
    end tell
    close document 1 without saving
    end tell
    return {slope_}
    end calcule
    --{/SCRIPT}
    Yvan KOENIG (from FRANCE mercredi 1 août 2007 06:51:46)
    edit:
    When I edit my message, the script appears but when I look in the forum it doesn't appear.
    It appears that it is a recent "feature" of this forum;
    I made a last attempt.
    If it doesn't work, you may send a mail to
    koenig then a dot then yvan then an @ then tele2 then a dot then fr
    I will send you the script as a mail attachment.
    Yvan KOENIG (from FRANCE mercredi 1 août 2007 07:07:17)
    Message was edited by: KOENIG Yvan

  • Best fit/ linear equation in Numbers on the IPad?

    Does anyone know how to find the best fit line equation on Numbers for the IPad? I know how to find it in IWork for the MacBook and how to find the line on the Ipad. Thanks

    Can you tell me where line of best fit is in the iOS version? I havent seen it yet.
    You can search on the Internet for the linear regression formul, and compute the equation yourself. Then you could plot that series of points on your chart to show the line if it is not part of iOS.
    Jason

  • How do I make a best fit line on a scatter plot?

    I have a set of data and I made a scatter plot on numbers, but how do I put a best fit line in there?

    select the graph, then open the Charts Inspector.
    Open the series section (from the options at the top "Chart", "Axis", "Series"), Then select the "Trendline" in the "Advanced" section near the bottom.  Finally select the type of trendline

  • Help with Line of Best Fit equation!

    Alright, I'm making a graphing program where the user can input up to 10 coordinates (all ints) and when they click draw, the points will be graphed on a cartesian plain and the program will calculate and draw the line of best fit... including displaying the equation.
    I've got the yIntercept to work perfectly, but sometimes the slope comes out to be 0.0, and such.
    The equation to do it can be found on this site (in the big white space)
    http://people.hofstra.edu/faculty/Stefan_Waner/RealWorld/calctopic1/regression.html
    There are several things you must do first:
    - Find the sum of all the X values
    - Find the sum of all the Y values
    - Find the sum of all the X*Y values
    - Find the sum of all the X^2 values
    You then stick it into the equation (you can see on that site) and you will get the slope. You then take the slope value and insert it into another equation to get the y-intercept
    I was just wondering if you could just look over my calculation and see where I may be going wrong. (Sometimes, I get an error in the console saying I cannot divide by 0)
    public void lineOfBestFit(int numOfPoints, int largeNumX, float increment, float incrementY)
         Graphics g = canvas.getGraphics();
         float sumX = 0;
         float sumY = 0;
         float sumXY = 0;
         float sumXSqr = 0;
         int smallNumX=9999999;
         int firstPoint, lastPoint;
         //Creates the variables for the line of best fit equation
         for(int j=0;j<numOfPoints;j++)
              sumX+=xValue[j];
              sumY+=yValue[j];
              sumXY+=(xValue[j]*yValue[j]);
              sumXSqr+=(Math.pow(xValue[j],2));
         //Line of best fit equation
         float slope = ((numOfPoints*sumXY)-(sumX*sumY))/((numOfPoints*sumXSqr)-(sumX*sumX));
         float yInt = (sumY - (slope*sumX))/numOfPoints;
         for(int j=0;j<numOfPoints;j++)
              if(xValue[j]<smallNumX)
                   smallNumX=xValue[j];
         firstPoint=((int)((slope*smallNumX)+yInt)*50/(int)incrementY+210);
         lastPoint=((int)(slope*largeNumX+yInt)*50/(int)incrementY+210);
         int firstX=((int)(smallNumX*50/(int)increment+210));
         int lastX=((int)(largeNumX*50/(int)increment+210));
         g.drawLine(firstX,firstPoint,lastX,lastPoint);
         //Rounds and displays the line of best fit equation
         slope = (Math.round(slope*100))/100;
         yInt = (Math.round(yInt*100))/100;
         if(numOfPoints>1)
                     if(yInt < 0)
              g.drawString("y = " +slope+ "x " +yInt,250,350);
              else
                   g.drawString("y = " +slope+ "x +" +yInt,250,350);

    I think I may have solved it.... seems to be working now.
    I casted all the numOfPoints as (float) .... and commented out the rounding. Since some of the slopes were coming out to be 0.00003, that would display 0.0 if I rounded.

  • Extrapolation and Line of Best Fit

    Hello,
    I'm working on a project and I need to make a line of best fit for a scatter plot graph as well as make an extrapolation on the graph...any possibility someone could help me with these two questions?
    Thank you,
    Mike

    Mike,
    Numbers 08 have functions that you can use to calculate your lines of best fit, then chart the line calculations along with your data.
    See INTERCEPT and SLOPE for 1st order lines.
    Numbers 09 added quite a few new functions and also automatic Trendline generation.
    Jerry

  • How to I insert a line of best fit on a scatter plot????

    I have data already organized in tables, and I created a scatter plot. NOw I need to insert a line of best fit and get the equation. How do I do this??? I already calculated a and b (for y=a+bx) but I have no idea how to insert it on the plot. Every search tells me to "insert a trendline"..... but numbers doesnt have that function. Help please???

    Open inspector
    Go to chart tab
    Series
    Click on the "Advanced" to reveal the menu
    Trendline
    Choose the desired trendline (linear etc)
    Hope this helps.
    Dimitris

  • How do I do a line of best fit graph!!?

    Hi guys, I need to do a line of best fit graph comparing two sets of numbers. I have the info on a scatter graph but can not find how to insert a line of best fit. The other graph options dont represent the data correctly. any help would be appreciated, thanks, Nick.

    Here's a link to how we did it in the "old days":
    http://www.regentsprep.org/Regents/math/data/linefit.htm
    http://mathdemos.gcsu.edu/mathdemos/lsq-demonew/indexnew.html
    Regards,

  • Line of best fit and reverse axis

    Hi, How do i do a line of best fit in Numbers? Instead of having a line like do to dot i need it to be smooth, Excel does it but does Numbers?
    I also need the bottom axis to start at 10 and go down to 0 and i need the left axis to be on the right! How do i do this?
    thanks a lot

    Hello
    *go to "Provide Numbers Feedback" in the "Numbers" menu*, describe what you wish.
    Then, cross your fingers, and wait at least for iWork'09
    Yvan KOENIG (from FRANCE lundi 4 février 2008 13:36:58)

Maybe you are looking for