Best fit curve (gaussian)

I am having an issue implementing the gaussian best fit line on the data in the attached vi. How can i get this done?
Will appreciate any help!
-FredFred
Attachments:
best fitvi.vi ‏58 KB

FredFred,
I think I've found a great example that shows how to use the LevMar.vi. It can be found here. It also shows how to plot the data from the LevMar.vi to gain the result I think you're looking for. Post if you have further questions.
Best Regards,
Chris C
Applications Engineering
National Instruments
Chris Cilino
National Instruments
LabVIEW Product Marketing Manager
Certified LabVIEW Architect

Similar Messages

  • Best fit curve

    I want to implement the best fit curve for the data coming in to the array. I've tried looking at the examples with no end results and have also implemented the Levenberg VI to do so with the same outcome.
    How can I plot the best fit curve for the points?
    Thanks in advance!
    Attachments:
    best fit lines.vi ‏47 KB

    FredFred,
    So are you having trouble graphing multiple plots or actually getting a
    best fit algorithm to work?  I did a small test using the Curve
    Fit Express VI and after configuring the options, I was able to wire
    the array data to the Signals input and then use the output to display
    the best fit of the data on a graph.  The output of the Express
    VIs are dynamic data type (DDT) so you should use the From DDT Express
    VI (Express >> Signal Manipulation palette) to convert it back to
    an 1D array of scalars.  Then I built a 2D array using the Build
    Array function and then wired that to a graph.  Is this what you
    are looking for?
    Hope this helps!
    Andy F.
    Message Edited by Andy F. on 11-30-2005 04:31 PM
    National Instruments
    Attachments:
    best fit.PNG ‏5 KB

  • Fitting a Gaussian curve onto a set of data

    I'm looking to plot a best fit Gaussian curve unto a set of data and was wondering if this is possible with just the labview 7 base development software. Any help would be greatly appreciated

    I assume you are trying to find a gaussian ditribution function to fit to the data. All you need is to find the average and the sample standard deviation of your data and then build the Gaussian function. You can plot that, you can also plot a histogram of your data to compare to the Gaussian plot.
    With little programming code, you should be able to do that.

  • 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 .

  • 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.

  • Line of best fit in scatter plots

    when making a line of best fit ( in this case a curve of best fit) how do I extend the curve beyond my data so that I can extrapolate information? Can I do this or will I have to do it manually? (print it out and draw it myself)

    If you graph your data you can allow Numbers to plot a best fit AND show the equation it used (which will depend on the type of fit you selected).
    Here I plotted some data where I introduced random noise (so it won't be "perfect") then had Numbers provide the best fit.:
    The bluse graph is the original data.  The Green is a prediction based on the coefficients from Numbers.
    Once you graph the original data click on the graph, and then click a second time on one of the points in the graph to highlight the series:
    Once you have the series highlighted you can use the Chart Inspector to turn on the Trendline.
    I selected Polynomial because (1) It fit best and (2) the equation I used to make my made-up data was actually a polynomial.  Check the "Show Equation" box to see the coefficients.  Now take these coefficients and place then in cells of your table that has the original data (or some other table).
    Now add a new column to your data (I called mine Ypredicated or Yextrapolated):
    Now add a fomula to use the coefficients which will produce a 2nd graph you may extend beyond the data set:
    C2=$E$6*A2*A2+$E$7*A2+$E$8
    select C2 and fill down as needed (make sure the references to the coefficients are absolute... hence the "$" before the cell row and column names in the formula)
    Finally add the extrapolated curve to your graph to see if it fits:
    click on the graph
    1) click the little cog at the top of the X column and select "Share X values"
    <can't include screen shot right now... not sure why>
    2) then expand the graph data set by clicking and holding the little circle at the bottom right of the highlighted area, and drag to the right so the new predicted column is included.
    <can't include screen shot right now... not sure why>

  • 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

  • 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,

Maybe you are looking for

  • Palm Desktop

    I am having two problems that I can't seem to solve w/ Palm desktop. First, I have the problem that when I view month mode in calendar my program quits.  Not every month.  Just some.  I looked on this web site and after that I made sure no appointmen

  • JSP Issue in 9.1 but not 8.1

    I am building a Web application and packaging it into an EAR file then deploying it into 9.1 WebLogic server. I have an issue that is happening when I activate the changes at deployment time but this one is when it's trying to compile the JSP code, a

  • After I uninstalled/reinstalled Firefox I lost my persona...How do I get it back.

    It was a solid black background with a white scroll pattern and orange butterflies flapping every once in a while...animated. I cannot find it in the personas/skins any longer and wanted to know if I could get it back.

  • DB Adapter not returing any row

    Hi All, I am select a row from a database table based on a id passed as input. If no rows are returned by the select statement the database adpater doesnot throw an error. Can we configure it to throw an error. Regards Ashwini

  • DM 3.0 source/target names

    how did you manage to lose the "Show Source/Target Name" check box from tools\general options (now preferences)\diagram\logical model ?!!!