How do I fit a non linear curve? The Next CEO of Stack OverflowOil drop experiment--How was the result so accurate?How does the Double Slit Experiment work in detail?Curve Fitting and Multiple ExperimentsFitting an exponential when values are negative (while taking error into account)Power fit to some experimental dataDamped Harmonic Curve fit and ForceConstant wind drag while falling?Non-linear graph getting from an experiment finding the enthalpy of vaporization of LNPeriodic, linear increase in photon countsWhat is the scientific method for finding a theoretical explanation for experimental data?
Inexact numbers as keys in Association?
How to use ReplaceAll on an expression that contains a rule
Is it professional to write unrelated content in an almost-empty email?
Can you teleport closer to a creature you are Frightened of?
Players Circumventing the limitations of Wish
How did Beeri the Hittite come up with naming his daughter Yehudit?
Traduction de « Life is a roller coaster »
Aggressive Under-Indexing and no data for missing index
How to set page number in right side in chapter title page?
Can this note be analyzed as a non-chord tone?
Prepend last line of stdin to entire stdin
Easy to read palindrome checker
Iterate through multiline string line by line
When "be it" is at the beginning of a sentence, what kind of structure do you call it?
0-rank tensor vs vector in 1D
Why is the US ranked as #45 in Press Freedom ratings, despite its extremely permissive free speech laws?
Is there an equivalent of cd - for cp or mv
Does Germany produce more waste than the US?
Is "three point ish" an acceptable use of ish?
I dug holes for my pergola too wide
Is there such a thing as a proper verb, like a proper noun?
what's the use of '% to gdp' type of variables?
What is the difference between "hamstring tendon" and "common hamstring tendon"?
Is dried pee considered dirt?
How do I fit a non linear curve?
The Next CEO of Stack OverflowOil drop experiment--How was the result so accurate?How does the Double Slit Experiment work in detail?Curve Fitting and Multiple ExperimentsFitting an exponential when values are negative (while taking error into account)Power fit to some experimental dataDamped Harmonic Curve fit and ForceConstant wind drag while falling?Non-linear graph getting from an experiment finding the enthalpy of vaporization of LNPeriodic, linear increase in photon countsWhat is the scientific method for finding a theoretical explanation for experimental data?
$begingroup$
In an experiment that I did, i collected data points $ (ω,υ(ω))$ that are modeled by the equation:
$$ υ(ω)=fracωCsqrt(ω^2-ω_0^2)^2+γ^2ω^2$$
How can do I fit a curve here ? and how can I extract $γ$ through this process ?
experimental-physics experimental-technique
$endgroup$
add a comment |
$begingroup$
In an experiment that I did, i collected data points $ (ω,υ(ω))$ that are modeled by the equation:
$$ υ(ω)=fracωCsqrt(ω^2-ω_0^2)^2+γ^2ω^2$$
How can do I fit a curve here ? and how can I extract $γ$ through this process ?
experimental-physics experimental-technique
$endgroup$
2
$begingroup$
Rearrange it into equations that can be plotted easily and that have coefficients which can be extracted easily(such as straight lines, log-log etc). Make the plots work for you not the other way around d.
$endgroup$
– Jake Rose
2 hours ago
$begingroup$
At the most basic level you simply put different values of $C, omega_0, gamma$ until you get a curve that looks like your data. Practically this is done with software, for example R, matlab, and mathematica.
$endgroup$
– KF Gauss
2 hours ago
$begingroup$
Is there a mathematical way (just as we derive the linear regression formula) to derive a curve for this case ?
$endgroup$
– Andreas Mastronikolis
2 hours ago
$begingroup$
As KG Gauss says, the equation you've given is the equation that should be fitted to the data points. This will need to be done numerically.
$endgroup$
– lemon
2 hours ago
add a comment |
$begingroup$
In an experiment that I did, i collected data points $ (ω,υ(ω))$ that are modeled by the equation:
$$ υ(ω)=fracωCsqrt(ω^2-ω_0^2)^2+γ^2ω^2$$
How can do I fit a curve here ? and how can I extract $γ$ through this process ?
experimental-physics experimental-technique
$endgroup$
In an experiment that I did, i collected data points $ (ω,υ(ω))$ that are modeled by the equation:
$$ υ(ω)=fracωCsqrt(ω^2-ω_0^2)^2+γ^2ω^2$$
How can do I fit a curve here ? and how can I extract $γ$ through this process ?
experimental-physics experimental-technique
experimental-physics experimental-technique
asked 2 hours ago
Andreas MastronikolisAndreas Mastronikolis
595
595
2
$begingroup$
Rearrange it into equations that can be plotted easily and that have coefficients which can be extracted easily(such as straight lines, log-log etc). Make the plots work for you not the other way around d.
$endgroup$
– Jake Rose
2 hours ago
$begingroup$
At the most basic level you simply put different values of $C, omega_0, gamma$ until you get a curve that looks like your data. Practically this is done with software, for example R, matlab, and mathematica.
$endgroup$
– KF Gauss
2 hours ago
$begingroup$
Is there a mathematical way (just as we derive the linear regression formula) to derive a curve for this case ?
$endgroup$
– Andreas Mastronikolis
2 hours ago
$begingroup$
As KG Gauss says, the equation you've given is the equation that should be fitted to the data points. This will need to be done numerically.
$endgroup$
– lemon
2 hours ago
add a comment |
2
$begingroup$
Rearrange it into equations that can be plotted easily and that have coefficients which can be extracted easily(such as straight lines, log-log etc). Make the plots work for you not the other way around d.
$endgroup$
– Jake Rose
2 hours ago
$begingroup$
At the most basic level you simply put different values of $C, omega_0, gamma$ until you get a curve that looks like your data. Practically this is done with software, for example R, matlab, and mathematica.
$endgroup$
– KF Gauss
2 hours ago
$begingroup$
Is there a mathematical way (just as we derive the linear regression formula) to derive a curve for this case ?
$endgroup$
– Andreas Mastronikolis
2 hours ago
$begingroup$
As KG Gauss says, the equation you've given is the equation that should be fitted to the data points. This will need to be done numerically.
$endgroup$
– lemon
2 hours ago
2
2
$begingroup$
Rearrange it into equations that can be plotted easily and that have coefficients which can be extracted easily(such as straight lines, log-log etc). Make the plots work for you not the other way around d.
$endgroup$
– Jake Rose
2 hours ago
$begingroup$
Rearrange it into equations that can be plotted easily and that have coefficients which can be extracted easily(such as straight lines, log-log etc). Make the plots work for you not the other way around d.
$endgroup$
– Jake Rose
2 hours ago
$begingroup$
At the most basic level you simply put different values of $C, omega_0, gamma$ until you get a curve that looks like your data. Practically this is done with software, for example R, matlab, and mathematica.
$endgroup$
– KF Gauss
2 hours ago
$begingroup$
At the most basic level you simply put different values of $C, omega_0, gamma$ until you get a curve that looks like your data. Practically this is done with software, for example R, matlab, and mathematica.
$endgroup$
– KF Gauss
2 hours ago
$begingroup$
Is there a mathematical way (just as we derive the linear regression formula) to derive a curve for this case ?
$endgroup$
– Andreas Mastronikolis
2 hours ago
$begingroup$
Is there a mathematical way (just as we derive the linear regression formula) to derive a curve for this case ?
$endgroup$
– Andreas Mastronikolis
2 hours ago
$begingroup$
As KG Gauss says, the equation you've given is the equation that should be fitted to the data points. This will need to be done numerically.
$endgroup$
– lemon
2 hours ago
$begingroup$
As KG Gauss says, the equation you've given is the equation that should be fitted to the data points. This will need to be done numerically.
$endgroup$
– lemon
2 hours ago
add a comment |
3 Answers
3
active
oldest
votes
$begingroup$
What you want to find is the parameters $theta=(C, omega_0, gamma)$ that minimizes the difference between $nu(omega|theta)$ (the curve given the parameters) and the measured $nu_i$ values.
The most popular method is least mean square fitting, which minimizes the sum of the squares of the differences. One can also do it by formulating the normal equations and solve it as a (potentially big) linear equation system. Another approach is the Gauss-Newton algorithm, a simple iterative method to do it. It is a good exercise to implement the solution oneself, but once you have done it once or twice it is best to rely on some software package.
Note that this kind of fitting works well when you know the functional form (your equation for $nu(omega)$), since you can ensure only that the parameters that matter are included. If you try to fit some general polynomial or function you can get overfitting (some complex curve that fits all the data but has nothing to do with your problem) besides the problem of identifying the parameters you care about.
$endgroup$
add a comment |
$begingroup$
Don't try using any general-purpose curve fitting algorithm for this.
The form of your function looks like a frequency response function, with the two unknown parameters $omega_0$ and $gamma$ - i.e. the resonant frequency, and the damping parameter. The function you specified omits an important feature if this is measured data, namely the relative phase between the "force" driving the oscillation and the response.
If you didn't measure the phase at each frequency, repeat the experiment, because that is critical information.
When you have the amplitude and phase data, there are curve fitting techniques devised specifically for this problem of "system identification" in experimental modal analysis. A simple one is the so-called "circle fitting" method. If you make a Nyquist plot of your measured data (i.e. plot imaginary part of the response against the real part), the section of the curve near the resonance is a circle, and you can fit a circle to the measured data and find the parameters from it.
In practice, a simplistic approach assuming the system only has one resonance often doesn't work well, because the response of a real system near resonance also includes the off-resonance response to all the other vibration modes. If the resonant frequencies are well separated and lightly damped, it is possible to correct for this while fitting "one mode at a time". If this is not the case, you need methods that can identify several resonances simultaneously from one response function.
Rather than re-invent the wheel, use existing code. The signal processing toolbox in MATLAB would be a good starting point - for example https://uk.mathworks.com/help/signal/ref/modalfit.html
$endgroup$
$begingroup$
That is, of course, if the phase information is experimentally accessible. It's measurable in plenty of systems, but there are also many cases where it is either inaccessible or much more expensive to access.
$endgroup$
– Emilio Pisanty
19 mins ago
add a comment |
$begingroup$
Are you looking for something like polynomial regression? The general idea is, if you have measured pairs of (x, y(x)) and you are looking for find a fit of the form:
$$y = alpha_0 + alpha_1 x + alpha_2 x^2 ...$$
You can write this in matrix form as:
$$beginbmatrix y_1 \ y_2 \ y_3 \ vdots \ y_n endbmatrix = beginbmatrix 1 & x_1 & x_1^2 & cdots \ 1 & x_2 & x_2^2 & cdots \ 1 & x_3 & x_3^2 & cdots \ vdots & vdots & vdots & vdots \ 1 & x_n &x_n^2 & cdots endbmatrix beginbmatrix beta_0 \ beta_1 \ beta_2 \ vdots \ beta_m endbmatrix$$
This can now be solved for your coefficients, $beta_i$. That being said, and as was hinted at in your comments, I've never actually done this, and have instead used non-linear fitting functions provided by libraries.
More information on polynomial regression on the wikipedia page.
New contributor
$endgroup$
1
$begingroup$
The answer is yes if the equation can be reduced to a polynomial one. I don't think it can be though.
$endgroup$
– Andreas Mastronikolis
2 hours ago
$begingroup$
Then I think your only choice is to follow the advice as given in Anders Sandberg's answer and use one of the fitting techniques suggested there.
$endgroup$
– Anon1759
2 hours ago
add a comment |
StackExchange.ifUsing("editor", function ()
return StackExchange.using("mathjaxEditing", function ()
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
);
);
, "mathjax-editing");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "151"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fphysics.stackexchange.com%2fquestions%2f469754%2fhow-do-i-fit-a-non-linear-curve%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
What you want to find is the parameters $theta=(C, omega_0, gamma)$ that minimizes the difference between $nu(omega|theta)$ (the curve given the parameters) and the measured $nu_i$ values.
The most popular method is least mean square fitting, which minimizes the sum of the squares of the differences. One can also do it by formulating the normal equations and solve it as a (potentially big) linear equation system. Another approach is the Gauss-Newton algorithm, a simple iterative method to do it. It is a good exercise to implement the solution oneself, but once you have done it once or twice it is best to rely on some software package.
Note that this kind of fitting works well when you know the functional form (your equation for $nu(omega)$), since you can ensure only that the parameters that matter are included. If you try to fit some general polynomial or function you can get overfitting (some complex curve that fits all the data but has nothing to do with your problem) besides the problem of identifying the parameters you care about.
$endgroup$
add a comment |
$begingroup$
What you want to find is the parameters $theta=(C, omega_0, gamma)$ that minimizes the difference between $nu(omega|theta)$ (the curve given the parameters) and the measured $nu_i$ values.
The most popular method is least mean square fitting, which minimizes the sum of the squares of the differences. One can also do it by formulating the normal equations and solve it as a (potentially big) linear equation system. Another approach is the Gauss-Newton algorithm, a simple iterative method to do it. It is a good exercise to implement the solution oneself, but once you have done it once or twice it is best to rely on some software package.
Note that this kind of fitting works well when you know the functional form (your equation for $nu(omega)$), since you can ensure only that the parameters that matter are included. If you try to fit some general polynomial or function you can get overfitting (some complex curve that fits all the data but has nothing to do with your problem) besides the problem of identifying the parameters you care about.
$endgroup$
add a comment |
$begingroup$
What you want to find is the parameters $theta=(C, omega_0, gamma)$ that minimizes the difference between $nu(omega|theta)$ (the curve given the parameters) and the measured $nu_i$ values.
The most popular method is least mean square fitting, which minimizes the sum of the squares of the differences. One can also do it by formulating the normal equations and solve it as a (potentially big) linear equation system. Another approach is the Gauss-Newton algorithm, a simple iterative method to do it. It is a good exercise to implement the solution oneself, but once you have done it once or twice it is best to rely on some software package.
Note that this kind of fitting works well when you know the functional form (your equation for $nu(omega)$), since you can ensure only that the parameters that matter are included. If you try to fit some general polynomial or function you can get overfitting (some complex curve that fits all the data but has nothing to do with your problem) besides the problem of identifying the parameters you care about.
$endgroup$
What you want to find is the parameters $theta=(C, omega_0, gamma)$ that minimizes the difference between $nu(omega|theta)$ (the curve given the parameters) and the measured $nu_i$ values.
The most popular method is least mean square fitting, which minimizes the sum of the squares of the differences. One can also do it by formulating the normal equations and solve it as a (potentially big) linear equation system. Another approach is the Gauss-Newton algorithm, a simple iterative method to do it. It is a good exercise to implement the solution oneself, but once you have done it once or twice it is best to rely on some software package.
Note that this kind of fitting works well when you know the functional form (your equation for $nu(omega)$), since you can ensure only that the parameters that matter are included. If you try to fit some general polynomial or function you can get overfitting (some complex curve that fits all the data but has nothing to do with your problem) besides the problem of identifying the parameters you care about.
answered 2 hours ago
Anders SandbergAnders Sandberg
9,90521429
9,90521429
add a comment |
add a comment |
$begingroup$
Don't try using any general-purpose curve fitting algorithm for this.
The form of your function looks like a frequency response function, with the two unknown parameters $omega_0$ and $gamma$ - i.e. the resonant frequency, and the damping parameter. The function you specified omits an important feature if this is measured data, namely the relative phase between the "force" driving the oscillation and the response.
If you didn't measure the phase at each frequency, repeat the experiment, because that is critical information.
When you have the amplitude and phase data, there are curve fitting techniques devised specifically for this problem of "system identification" in experimental modal analysis. A simple one is the so-called "circle fitting" method. If you make a Nyquist plot of your measured data (i.e. plot imaginary part of the response against the real part), the section of the curve near the resonance is a circle, and you can fit a circle to the measured data and find the parameters from it.
In practice, a simplistic approach assuming the system only has one resonance often doesn't work well, because the response of a real system near resonance also includes the off-resonance response to all the other vibration modes. If the resonant frequencies are well separated and lightly damped, it is possible to correct for this while fitting "one mode at a time". If this is not the case, you need methods that can identify several resonances simultaneously from one response function.
Rather than re-invent the wheel, use existing code. The signal processing toolbox in MATLAB would be a good starting point - for example https://uk.mathworks.com/help/signal/ref/modalfit.html
$endgroup$
$begingroup$
That is, of course, if the phase information is experimentally accessible. It's measurable in plenty of systems, but there are also many cases where it is either inaccessible or much more expensive to access.
$endgroup$
– Emilio Pisanty
19 mins ago
add a comment |
$begingroup$
Don't try using any general-purpose curve fitting algorithm for this.
The form of your function looks like a frequency response function, with the two unknown parameters $omega_0$ and $gamma$ - i.e. the resonant frequency, and the damping parameter. The function you specified omits an important feature if this is measured data, namely the relative phase between the "force" driving the oscillation and the response.
If you didn't measure the phase at each frequency, repeat the experiment, because that is critical information.
When you have the amplitude and phase data, there are curve fitting techniques devised specifically for this problem of "system identification" in experimental modal analysis. A simple one is the so-called "circle fitting" method. If you make a Nyquist plot of your measured data (i.e. plot imaginary part of the response against the real part), the section of the curve near the resonance is a circle, and you can fit a circle to the measured data and find the parameters from it.
In practice, a simplistic approach assuming the system only has one resonance often doesn't work well, because the response of a real system near resonance also includes the off-resonance response to all the other vibration modes. If the resonant frequencies are well separated and lightly damped, it is possible to correct for this while fitting "one mode at a time". If this is not the case, you need methods that can identify several resonances simultaneously from one response function.
Rather than re-invent the wheel, use existing code. The signal processing toolbox in MATLAB would be a good starting point - for example https://uk.mathworks.com/help/signal/ref/modalfit.html
$endgroup$
$begingroup$
That is, of course, if the phase information is experimentally accessible. It's measurable in plenty of systems, but there are also many cases where it is either inaccessible or much more expensive to access.
$endgroup$
– Emilio Pisanty
19 mins ago
add a comment |
$begingroup$
Don't try using any general-purpose curve fitting algorithm for this.
The form of your function looks like a frequency response function, with the two unknown parameters $omega_0$ and $gamma$ - i.e. the resonant frequency, and the damping parameter. The function you specified omits an important feature if this is measured data, namely the relative phase between the "force" driving the oscillation and the response.
If you didn't measure the phase at each frequency, repeat the experiment, because that is critical information.
When you have the amplitude and phase data, there are curve fitting techniques devised specifically for this problem of "system identification" in experimental modal analysis. A simple one is the so-called "circle fitting" method. If you make a Nyquist plot of your measured data (i.e. plot imaginary part of the response against the real part), the section of the curve near the resonance is a circle, and you can fit a circle to the measured data and find the parameters from it.
In practice, a simplistic approach assuming the system only has one resonance often doesn't work well, because the response of a real system near resonance also includes the off-resonance response to all the other vibration modes. If the resonant frequencies are well separated and lightly damped, it is possible to correct for this while fitting "one mode at a time". If this is not the case, you need methods that can identify several resonances simultaneously from one response function.
Rather than re-invent the wheel, use existing code. The signal processing toolbox in MATLAB would be a good starting point - for example https://uk.mathworks.com/help/signal/ref/modalfit.html
$endgroup$
Don't try using any general-purpose curve fitting algorithm for this.
The form of your function looks like a frequency response function, with the two unknown parameters $omega_0$ and $gamma$ - i.e. the resonant frequency, and the damping parameter. The function you specified omits an important feature if this is measured data, namely the relative phase between the "force" driving the oscillation and the response.
If you didn't measure the phase at each frequency, repeat the experiment, because that is critical information.
When you have the amplitude and phase data, there are curve fitting techniques devised specifically for this problem of "system identification" in experimental modal analysis. A simple one is the so-called "circle fitting" method. If you make a Nyquist plot of your measured data (i.e. plot imaginary part of the response against the real part), the section of the curve near the resonance is a circle, and you can fit a circle to the measured data and find the parameters from it.
In practice, a simplistic approach assuming the system only has one resonance often doesn't work well, because the response of a real system near resonance also includes the off-resonance response to all the other vibration modes. If the resonant frequencies are well separated and lightly damped, it is possible to correct for this while fitting "one mode at a time". If this is not the case, you need methods that can identify several resonances simultaneously from one response function.
Rather than re-invent the wheel, use existing code. The signal processing toolbox in MATLAB would be a good starting point - for example https://uk.mathworks.com/help/signal/ref/modalfit.html
edited 1 hour ago
answered 1 hour ago
alephzeroalephzero
5,59621120
5,59621120
$begingroup$
That is, of course, if the phase information is experimentally accessible. It's measurable in plenty of systems, but there are also many cases where it is either inaccessible or much more expensive to access.
$endgroup$
– Emilio Pisanty
19 mins ago
add a comment |
$begingroup$
That is, of course, if the phase information is experimentally accessible. It's measurable in plenty of systems, but there are also many cases where it is either inaccessible or much more expensive to access.
$endgroup$
– Emilio Pisanty
19 mins ago
$begingroup$
That is, of course, if the phase information is experimentally accessible. It's measurable in plenty of systems, but there are also many cases where it is either inaccessible or much more expensive to access.
$endgroup$
– Emilio Pisanty
19 mins ago
$begingroup$
That is, of course, if the phase information is experimentally accessible. It's measurable in plenty of systems, but there are also many cases where it is either inaccessible or much more expensive to access.
$endgroup$
– Emilio Pisanty
19 mins ago
add a comment |
$begingroup$
Are you looking for something like polynomial regression? The general idea is, if you have measured pairs of (x, y(x)) and you are looking for find a fit of the form:
$$y = alpha_0 + alpha_1 x + alpha_2 x^2 ...$$
You can write this in matrix form as:
$$beginbmatrix y_1 \ y_2 \ y_3 \ vdots \ y_n endbmatrix = beginbmatrix 1 & x_1 & x_1^2 & cdots \ 1 & x_2 & x_2^2 & cdots \ 1 & x_3 & x_3^2 & cdots \ vdots & vdots & vdots & vdots \ 1 & x_n &x_n^2 & cdots endbmatrix beginbmatrix beta_0 \ beta_1 \ beta_2 \ vdots \ beta_m endbmatrix$$
This can now be solved for your coefficients, $beta_i$. That being said, and as was hinted at in your comments, I've never actually done this, and have instead used non-linear fitting functions provided by libraries.
More information on polynomial regression on the wikipedia page.
New contributor
$endgroup$
1
$begingroup$
The answer is yes if the equation can be reduced to a polynomial one. I don't think it can be though.
$endgroup$
– Andreas Mastronikolis
2 hours ago
$begingroup$
Then I think your only choice is to follow the advice as given in Anders Sandberg's answer and use one of the fitting techniques suggested there.
$endgroup$
– Anon1759
2 hours ago
add a comment |
$begingroup$
Are you looking for something like polynomial regression? The general idea is, if you have measured pairs of (x, y(x)) and you are looking for find a fit of the form:
$$y = alpha_0 + alpha_1 x + alpha_2 x^2 ...$$
You can write this in matrix form as:
$$beginbmatrix y_1 \ y_2 \ y_3 \ vdots \ y_n endbmatrix = beginbmatrix 1 & x_1 & x_1^2 & cdots \ 1 & x_2 & x_2^2 & cdots \ 1 & x_3 & x_3^2 & cdots \ vdots & vdots & vdots & vdots \ 1 & x_n &x_n^2 & cdots endbmatrix beginbmatrix beta_0 \ beta_1 \ beta_2 \ vdots \ beta_m endbmatrix$$
This can now be solved for your coefficients, $beta_i$. That being said, and as was hinted at in your comments, I've never actually done this, and have instead used non-linear fitting functions provided by libraries.
More information on polynomial regression on the wikipedia page.
New contributor
$endgroup$
1
$begingroup$
The answer is yes if the equation can be reduced to a polynomial one. I don't think it can be though.
$endgroup$
– Andreas Mastronikolis
2 hours ago
$begingroup$
Then I think your only choice is to follow the advice as given in Anders Sandberg's answer and use one of the fitting techniques suggested there.
$endgroup$
– Anon1759
2 hours ago
add a comment |
$begingroup$
Are you looking for something like polynomial regression? The general idea is, if you have measured pairs of (x, y(x)) and you are looking for find a fit of the form:
$$y = alpha_0 + alpha_1 x + alpha_2 x^2 ...$$
You can write this in matrix form as:
$$beginbmatrix y_1 \ y_2 \ y_3 \ vdots \ y_n endbmatrix = beginbmatrix 1 & x_1 & x_1^2 & cdots \ 1 & x_2 & x_2^2 & cdots \ 1 & x_3 & x_3^2 & cdots \ vdots & vdots & vdots & vdots \ 1 & x_n &x_n^2 & cdots endbmatrix beginbmatrix beta_0 \ beta_1 \ beta_2 \ vdots \ beta_m endbmatrix$$
This can now be solved for your coefficients, $beta_i$. That being said, and as was hinted at in your comments, I've never actually done this, and have instead used non-linear fitting functions provided by libraries.
More information on polynomial regression on the wikipedia page.
New contributor
$endgroup$
Are you looking for something like polynomial regression? The general idea is, if you have measured pairs of (x, y(x)) and you are looking for find a fit of the form:
$$y = alpha_0 + alpha_1 x + alpha_2 x^2 ...$$
You can write this in matrix form as:
$$beginbmatrix y_1 \ y_2 \ y_3 \ vdots \ y_n endbmatrix = beginbmatrix 1 & x_1 & x_1^2 & cdots \ 1 & x_2 & x_2^2 & cdots \ 1 & x_3 & x_3^2 & cdots \ vdots & vdots & vdots & vdots \ 1 & x_n &x_n^2 & cdots endbmatrix beginbmatrix beta_0 \ beta_1 \ beta_2 \ vdots \ beta_m endbmatrix$$
This can now be solved for your coefficients, $beta_i$. That being said, and as was hinted at in your comments, I've never actually done this, and have instead used non-linear fitting functions provided by libraries.
More information on polynomial regression on the wikipedia page.
New contributor
New contributor
answered 2 hours ago
Anon1759Anon1759
392
392
New contributor
New contributor
1
$begingroup$
The answer is yes if the equation can be reduced to a polynomial one. I don't think it can be though.
$endgroup$
– Andreas Mastronikolis
2 hours ago
$begingroup$
Then I think your only choice is to follow the advice as given in Anders Sandberg's answer and use one of the fitting techniques suggested there.
$endgroup$
– Anon1759
2 hours ago
add a comment |
1
$begingroup$
The answer is yes if the equation can be reduced to a polynomial one. I don't think it can be though.
$endgroup$
– Andreas Mastronikolis
2 hours ago
$begingroup$
Then I think your only choice is to follow the advice as given in Anders Sandberg's answer and use one of the fitting techniques suggested there.
$endgroup$
– Anon1759
2 hours ago
1
1
$begingroup$
The answer is yes if the equation can be reduced to a polynomial one. I don't think it can be though.
$endgroup$
– Andreas Mastronikolis
2 hours ago
$begingroup$
The answer is yes if the equation can be reduced to a polynomial one. I don't think it can be though.
$endgroup$
– Andreas Mastronikolis
2 hours ago
$begingroup$
Then I think your only choice is to follow the advice as given in Anders Sandberg's answer and use one of the fitting techniques suggested there.
$endgroup$
– Anon1759
2 hours ago
$begingroup$
Then I think your only choice is to follow the advice as given in Anders Sandberg's answer and use one of the fitting techniques suggested there.
$endgroup$
– Anon1759
2 hours ago
add a comment |
Thanks for contributing an answer to Physics Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fphysics.stackexchange.com%2fquestions%2f469754%2fhow-do-i-fit-a-non-linear-curve%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
2
$begingroup$
Rearrange it into equations that can be plotted easily and that have coefficients which can be extracted easily(such as straight lines, log-log etc). Make the plots work for you not the other way around d.
$endgroup$
– Jake Rose
2 hours ago
$begingroup$
At the most basic level you simply put different values of $C, omega_0, gamma$ until you get a curve that looks like your data. Practically this is done with software, for example R, matlab, and mathematica.
$endgroup$
– KF Gauss
2 hours ago
$begingroup$
Is there a mathematical way (just as we derive the linear regression formula) to derive a curve for this case ?
$endgroup$
– Andreas Mastronikolis
2 hours ago
$begingroup$
As KG Gauss says, the equation you've given is the equation that should be fitted to the data points. This will need to be done numerically.
$endgroup$
– lemon
2 hours ago