trapezoid approximation of sine function
$begingroup$
I want to find a reasonable good periodic trapezoid function approximation for the sine (or cosine) function.
My use case is it to divide the year in 4 epochs:
- visible light length stays roughly the same (around winter solistice),
- visible light lenghtens by roughly x minutes a day (around spring equinox),
- visible light length stays roughly the same (around summer solistice),
- visible light length shortens by roughly x minutes a day (around fall equinox).
I'd be interrested in 3 values:
- length of visible light during quasi-contant epochs
- steepness of change in the transit epoch
- days of transition between the epochs
If I did not make a mistake, this requires estimation or calculation of two parameters of the trapezoid function: amplitude and one of either lenght in high or low phase or steepness of the transition. Additionally of course some weighting function to establish a minimum distance would be required. If sensible/possible I'd go for sum of absolute difference.
I tried to establish a picewise formula for the difference between sinus and a periodic trapezoid function, to then minimize this, but it was over my head. Unfortunately I am not fluent enough in a mathematical program language to state that problem. Before I do a brute force numerical approximation I'd rather have a closed symbolic expression that yields a nice and exact solution.
optimization approximation periodic-functions
$endgroup$
add a comment |
$begingroup$
I want to find a reasonable good periodic trapezoid function approximation for the sine (or cosine) function.
My use case is it to divide the year in 4 epochs:
- visible light length stays roughly the same (around winter solistice),
- visible light lenghtens by roughly x minutes a day (around spring equinox),
- visible light length stays roughly the same (around summer solistice),
- visible light length shortens by roughly x minutes a day (around fall equinox).
I'd be interrested in 3 values:
- length of visible light during quasi-contant epochs
- steepness of change in the transit epoch
- days of transition between the epochs
If I did not make a mistake, this requires estimation or calculation of two parameters of the trapezoid function: amplitude and one of either lenght in high or low phase or steepness of the transition. Additionally of course some weighting function to establish a minimum distance would be required. If sensible/possible I'd go for sum of absolute difference.
I tried to establish a picewise formula for the difference between sinus and a periodic trapezoid function, to then minimize this, but it was over my head. Unfortunately I am not fluent enough in a mathematical program language to state that problem. Before I do a brute force numerical approximation I'd rather have a closed symbolic expression that yields a nice and exact solution.
optimization approximation periodic-functions
$endgroup$
$begingroup$
I assume you mean "sine" and "cosine", I've never heard them called "sinus" and "cosinus" before. The question that needs to be asked is what criterion you want to use to determine a "good" approximation. The two obvious choices are to either minimize the maximum difference between function values, or else to minimize the area between the two curves. But which would you prefer? Or is there some other criterion that would be better in this case? There is no need to "brute force" it. Either way, the problem is not hard to solve analytically.
$endgroup$
– Paul Sinclair
Jan 4 at 0:31
$begingroup$
@PaulSinclair. These are the French names of these functions.
$endgroup$
– Claude Leibovici
Jan 4 at 10:45
$begingroup$
@PaulSinclair: of course sine and cosine, I'm used to the German terms, which in turn stem directly from the Latin "Sinus" for "bend; bay", see en.wikipedia.org/wiki/Trigonometric_functions#Etymology for details. The measure for the quality of the approximation would be the minimum sum of absolute distance, equal to the minimum absolute area between both functions. Hard is in the eye of the beholder, and I got stuck and are happy for every hint that someone may offer.
$endgroup$
– trapicki
Jan 21 at 16:26
add a comment |
$begingroup$
I want to find a reasonable good periodic trapezoid function approximation for the sine (or cosine) function.
My use case is it to divide the year in 4 epochs:
- visible light length stays roughly the same (around winter solistice),
- visible light lenghtens by roughly x minutes a day (around spring equinox),
- visible light length stays roughly the same (around summer solistice),
- visible light length shortens by roughly x minutes a day (around fall equinox).
I'd be interrested in 3 values:
- length of visible light during quasi-contant epochs
- steepness of change in the transit epoch
- days of transition between the epochs
If I did not make a mistake, this requires estimation or calculation of two parameters of the trapezoid function: amplitude and one of either lenght in high or low phase or steepness of the transition. Additionally of course some weighting function to establish a minimum distance would be required. If sensible/possible I'd go for sum of absolute difference.
I tried to establish a picewise formula for the difference between sinus and a periodic trapezoid function, to then minimize this, but it was over my head. Unfortunately I am not fluent enough in a mathematical program language to state that problem. Before I do a brute force numerical approximation I'd rather have a closed symbolic expression that yields a nice and exact solution.
optimization approximation periodic-functions
$endgroup$
I want to find a reasonable good periodic trapezoid function approximation for the sine (or cosine) function.
My use case is it to divide the year in 4 epochs:
- visible light length stays roughly the same (around winter solistice),
- visible light lenghtens by roughly x minutes a day (around spring equinox),
- visible light length stays roughly the same (around summer solistice),
- visible light length shortens by roughly x minutes a day (around fall equinox).
I'd be interrested in 3 values:
- length of visible light during quasi-contant epochs
- steepness of change in the transit epoch
- days of transition between the epochs
If I did not make a mistake, this requires estimation or calculation of two parameters of the trapezoid function: amplitude and one of either lenght in high or low phase or steepness of the transition. Additionally of course some weighting function to establish a minimum distance would be required. If sensible/possible I'd go for sum of absolute difference.
I tried to establish a picewise formula for the difference between sinus and a periodic trapezoid function, to then minimize this, but it was over my head. Unfortunately I am not fluent enough in a mathematical program language to state that problem. Before I do a brute force numerical approximation I'd rather have a closed symbolic expression that yields a nice and exact solution.
optimization approximation periodic-functions
optimization approximation periodic-functions
edited Jan 21 at 16:21
trapicki
asked Jan 3 at 15:58
trapickitrapicki
1063
1063
$begingroup$
I assume you mean "sine" and "cosine", I've never heard them called "sinus" and "cosinus" before. The question that needs to be asked is what criterion you want to use to determine a "good" approximation. The two obvious choices are to either minimize the maximum difference between function values, or else to minimize the area between the two curves. But which would you prefer? Or is there some other criterion that would be better in this case? There is no need to "brute force" it. Either way, the problem is not hard to solve analytically.
$endgroup$
– Paul Sinclair
Jan 4 at 0:31
$begingroup$
@PaulSinclair. These are the French names of these functions.
$endgroup$
– Claude Leibovici
Jan 4 at 10:45
$begingroup$
@PaulSinclair: of course sine and cosine, I'm used to the German terms, which in turn stem directly from the Latin "Sinus" for "bend; bay", see en.wikipedia.org/wiki/Trigonometric_functions#Etymology for details. The measure for the quality of the approximation would be the minimum sum of absolute distance, equal to the minimum absolute area between both functions. Hard is in the eye of the beholder, and I got stuck and are happy for every hint that someone may offer.
$endgroup$
– trapicki
Jan 21 at 16:26
add a comment |
$begingroup$
I assume you mean "sine" and "cosine", I've never heard them called "sinus" and "cosinus" before. The question that needs to be asked is what criterion you want to use to determine a "good" approximation. The two obvious choices are to either minimize the maximum difference between function values, or else to minimize the area between the two curves. But which would you prefer? Or is there some other criterion that would be better in this case? There is no need to "brute force" it. Either way, the problem is not hard to solve analytically.
$endgroup$
– Paul Sinclair
Jan 4 at 0:31
$begingroup$
@PaulSinclair. These are the French names of these functions.
$endgroup$
– Claude Leibovici
Jan 4 at 10:45
$begingroup$
@PaulSinclair: of course sine and cosine, I'm used to the German terms, which in turn stem directly from the Latin "Sinus" for "bend; bay", see en.wikipedia.org/wiki/Trigonometric_functions#Etymology for details. The measure for the quality of the approximation would be the minimum sum of absolute distance, equal to the minimum absolute area between both functions. Hard is in the eye of the beholder, and I got stuck and are happy for every hint that someone may offer.
$endgroup$
– trapicki
Jan 21 at 16:26
$begingroup$
I assume you mean "sine" and "cosine", I've never heard them called "sinus" and "cosinus" before. The question that needs to be asked is what criterion you want to use to determine a "good" approximation. The two obvious choices are to either minimize the maximum difference between function values, or else to minimize the area between the two curves. But which would you prefer? Or is there some other criterion that would be better in this case? There is no need to "brute force" it. Either way, the problem is not hard to solve analytically.
$endgroup$
– Paul Sinclair
Jan 4 at 0:31
$begingroup$
I assume you mean "sine" and "cosine", I've never heard them called "sinus" and "cosinus" before. The question that needs to be asked is what criterion you want to use to determine a "good" approximation. The two obvious choices are to either minimize the maximum difference between function values, or else to minimize the area between the two curves. But which would you prefer? Or is there some other criterion that would be better in this case? There is no need to "brute force" it. Either way, the problem is not hard to solve analytically.
$endgroup$
– Paul Sinclair
Jan 4 at 0:31
$begingroup$
@PaulSinclair. These are the French names of these functions.
$endgroup$
– Claude Leibovici
Jan 4 at 10:45
$begingroup$
@PaulSinclair. These are the French names of these functions.
$endgroup$
– Claude Leibovici
Jan 4 at 10:45
$begingroup$
@PaulSinclair: of course sine and cosine, I'm used to the German terms, which in turn stem directly from the Latin "Sinus" for "bend; bay", see en.wikipedia.org/wiki/Trigonometric_functions#Etymology for details. The measure for the quality of the approximation would be the minimum sum of absolute distance, equal to the minimum absolute area between both functions. Hard is in the eye of the beholder, and I got stuck and are happy for every hint that someone may offer.
$endgroup$
– trapicki
Jan 21 at 16:26
$begingroup$
@PaulSinclair: of course sine and cosine, I'm used to the German terms, which in turn stem directly from the Latin "Sinus" for "bend; bay", see en.wikipedia.org/wiki/Trigonometric_functions#Etymology for details. The measure for the quality of the approximation would be the minimum sum of absolute distance, equal to the minimum absolute area between both functions. Hard is in the eye of the beholder, and I got stuck and are happy for every hint that someone may offer.
$endgroup$
– trapicki
Jan 21 at 16:26
add a comment |
1 Answer
1
active
oldest
votes
$begingroup$
I assume you want something like this:
This is the line $y = x$ up to some maximum point $c$, which it maintains until it gets to $pi - c$, where it drops by the line $y = pi - x$, etc. We can control $c$ to determine the best fit.
The simplest criterion to find the best fit for is the minimum height difference between the two curves. The trapezoidal curve (the usual term of art for this sort of curve is "piecewise linear") is highest above the sine curve at $x = c$, where the distance is $c - sin c$. The sine curve is highest above the trapezoidal curve at $x = pi/2$, where the distance is $1 - c$. The distance will be minimized when these two distances are equal, so $c - sin c = 1 - c$. Wolfram Alpha computes this to be when $c approx 0.887862$.
If you want to minimize the area, that calculation is a lot more complex. By symmetry, it is sufficient to look only at the portion between $0$ and $pi/2$, where the area is given by
$$A = left(int_0^c x,dx + int_c^{sin^{-1} c} c,dx - int_0^{sin^{-1} c} sin x, dxright) + left(int_{sin^{-1} c}^{pi/2} sin x, dx - int_{sin^{-1} c}^{pi/2} c,dxright)\=frac{c^2}2 + c(sin^{-1}c - c) - (1 - cos(sin^{-1}c)) + cos(sin^{-1}c) -c(frac{pi}2- sin^{-1}c)\=-1 - fracpi 2 c - frac {c^2}2 +2sqrt{1 - c^2} + 2csin^{-1}c$$
To minimize the area, we take the derivative with respect to $c$ and set it to 0:
$$A' = -frac pi 2 - c -frac{2c}{sqrt{1 - c^2}} + 2sin^{-1}c + frac {2c}{sqrt{1-c^2}}=2sin^{-1}c-frac pi 2 - c = 0 $$
Which Wolfram Alpha says is $c approx 0.95261$.
Of course, I just used $y = sin x$, whereas your curve will need to be of the form $$y = Asin(Bx)$$ but the same solution should work using lines of slope $pm AB$, and a cutoff value of $C = Ac$ for your choice of the two $c$ values calculated above.
$endgroup$
$begingroup$
You might do a little better (for some definitions of better) by allowing the slope to be slightly less than $1$. That is one more parameter, which makes the trapezoid wave more complicated but can improve the fit. Well done.
$endgroup$
– Ross Millikan
Jan 21 at 20:04
$begingroup$
@RossMillikan - I had considered that, but of course, the best linear approximation to sine at the inflection points is slope $1$, so I left it and just controlled the height.
$endgroup$
– Paul Sinclair
Jan 21 at 20:16
$begingroup$
@RossMilikan: I got to the point of just looking at the 0 to pi and establishing the function for the area, but it never occurred to me that I could just start with one parameter and let the slope be the trivial one. Great step by step solution, learned something about solving problems by starting small and simple.
$endgroup$
– trapicki
Jan 24 at 15:37
$begingroup$
@PaulSinclair: how do you produce the nice graphics?
$endgroup$
– trapicki
Jan 25 at 15:37
$begingroup$
Desmos. It took me some work to figure out how to do the trapezoid curve, through.
$endgroup$
– Paul Sinclair
Jan 25 at 17:29
add a comment |
Your Answer
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: "69"
};
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: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
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%2fmath.stackexchange.com%2fquestions%2f3060713%2ftrapezoid-approximation-of-sine-function%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
I assume you want something like this:
This is the line $y = x$ up to some maximum point $c$, which it maintains until it gets to $pi - c$, where it drops by the line $y = pi - x$, etc. We can control $c$ to determine the best fit.
The simplest criterion to find the best fit for is the minimum height difference between the two curves. The trapezoidal curve (the usual term of art for this sort of curve is "piecewise linear") is highest above the sine curve at $x = c$, where the distance is $c - sin c$. The sine curve is highest above the trapezoidal curve at $x = pi/2$, where the distance is $1 - c$. The distance will be minimized when these two distances are equal, so $c - sin c = 1 - c$. Wolfram Alpha computes this to be when $c approx 0.887862$.
If you want to minimize the area, that calculation is a lot more complex. By symmetry, it is sufficient to look only at the portion between $0$ and $pi/2$, where the area is given by
$$A = left(int_0^c x,dx + int_c^{sin^{-1} c} c,dx - int_0^{sin^{-1} c} sin x, dxright) + left(int_{sin^{-1} c}^{pi/2} sin x, dx - int_{sin^{-1} c}^{pi/2} c,dxright)\=frac{c^2}2 + c(sin^{-1}c - c) - (1 - cos(sin^{-1}c)) + cos(sin^{-1}c) -c(frac{pi}2- sin^{-1}c)\=-1 - fracpi 2 c - frac {c^2}2 +2sqrt{1 - c^2} + 2csin^{-1}c$$
To minimize the area, we take the derivative with respect to $c$ and set it to 0:
$$A' = -frac pi 2 - c -frac{2c}{sqrt{1 - c^2}} + 2sin^{-1}c + frac {2c}{sqrt{1-c^2}}=2sin^{-1}c-frac pi 2 - c = 0 $$
Which Wolfram Alpha says is $c approx 0.95261$.
Of course, I just used $y = sin x$, whereas your curve will need to be of the form $$y = Asin(Bx)$$ but the same solution should work using lines of slope $pm AB$, and a cutoff value of $C = Ac$ for your choice of the two $c$ values calculated above.
$endgroup$
$begingroup$
You might do a little better (for some definitions of better) by allowing the slope to be slightly less than $1$. That is one more parameter, which makes the trapezoid wave more complicated but can improve the fit. Well done.
$endgroup$
– Ross Millikan
Jan 21 at 20:04
$begingroup$
@RossMillikan - I had considered that, but of course, the best linear approximation to sine at the inflection points is slope $1$, so I left it and just controlled the height.
$endgroup$
– Paul Sinclair
Jan 21 at 20:16
$begingroup$
@RossMilikan: I got to the point of just looking at the 0 to pi and establishing the function for the area, but it never occurred to me that I could just start with one parameter and let the slope be the trivial one. Great step by step solution, learned something about solving problems by starting small and simple.
$endgroup$
– trapicki
Jan 24 at 15:37
$begingroup$
@PaulSinclair: how do you produce the nice graphics?
$endgroup$
– trapicki
Jan 25 at 15:37
$begingroup$
Desmos. It took me some work to figure out how to do the trapezoid curve, through.
$endgroup$
– Paul Sinclair
Jan 25 at 17:29
add a comment |
$begingroup$
I assume you want something like this:
This is the line $y = x$ up to some maximum point $c$, which it maintains until it gets to $pi - c$, where it drops by the line $y = pi - x$, etc. We can control $c$ to determine the best fit.
The simplest criterion to find the best fit for is the minimum height difference between the two curves. The trapezoidal curve (the usual term of art for this sort of curve is "piecewise linear") is highest above the sine curve at $x = c$, where the distance is $c - sin c$. The sine curve is highest above the trapezoidal curve at $x = pi/2$, where the distance is $1 - c$. The distance will be minimized when these two distances are equal, so $c - sin c = 1 - c$. Wolfram Alpha computes this to be when $c approx 0.887862$.
If you want to minimize the area, that calculation is a lot more complex. By symmetry, it is sufficient to look only at the portion between $0$ and $pi/2$, where the area is given by
$$A = left(int_0^c x,dx + int_c^{sin^{-1} c} c,dx - int_0^{sin^{-1} c} sin x, dxright) + left(int_{sin^{-1} c}^{pi/2} sin x, dx - int_{sin^{-1} c}^{pi/2} c,dxright)\=frac{c^2}2 + c(sin^{-1}c - c) - (1 - cos(sin^{-1}c)) + cos(sin^{-1}c) -c(frac{pi}2- sin^{-1}c)\=-1 - fracpi 2 c - frac {c^2}2 +2sqrt{1 - c^2} + 2csin^{-1}c$$
To minimize the area, we take the derivative with respect to $c$ and set it to 0:
$$A' = -frac pi 2 - c -frac{2c}{sqrt{1 - c^2}} + 2sin^{-1}c + frac {2c}{sqrt{1-c^2}}=2sin^{-1}c-frac pi 2 - c = 0 $$
Which Wolfram Alpha says is $c approx 0.95261$.
Of course, I just used $y = sin x$, whereas your curve will need to be of the form $$y = Asin(Bx)$$ but the same solution should work using lines of slope $pm AB$, and a cutoff value of $C = Ac$ for your choice of the two $c$ values calculated above.
$endgroup$
$begingroup$
You might do a little better (for some definitions of better) by allowing the slope to be slightly less than $1$. That is one more parameter, which makes the trapezoid wave more complicated but can improve the fit. Well done.
$endgroup$
– Ross Millikan
Jan 21 at 20:04
$begingroup$
@RossMillikan - I had considered that, but of course, the best linear approximation to sine at the inflection points is slope $1$, so I left it and just controlled the height.
$endgroup$
– Paul Sinclair
Jan 21 at 20:16
$begingroup$
@RossMilikan: I got to the point of just looking at the 0 to pi and establishing the function for the area, but it never occurred to me that I could just start with one parameter and let the slope be the trivial one. Great step by step solution, learned something about solving problems by starting small and simple.
$endgroup$
– trapicki
Jan 24 at 15:37
$begingroup$
@PaulSinclair: how do you produce the nice graphics?
$endgroup$
– trapicki
Jan 25 at 15:37
$begingroup$
Desmos. It took me some work to figure out how to do the trapezoid curve, through.
$endgroup$
– Paul Sinclair
Jan 25 at 17:29
add a comment |
$begingroup$
I assume you want something like this:
This is the line $y = x$ up to some maximum point $c$, which it maintains until it gets to $pi - c$, where it drops by the line $y = pi - x$, etc. We can control $c$ to determine the best fit.
The simplest criterion to find the best fit for is the minimum height difference between the two curves. The trapezoidal curve (the usual term of art for this sort of curve is "piecewise linear") is highest above the sine curve at $x = c$, where the distance is $c - sin c$. The sine curve is highest above the trapezoidal curve at $x = pi/2$, where the distance is $1 - c$. The distance will be minimized when these two distances are equal, so $c - sin c = 1 - c$. Wolfram Alpha computes this to be when $c approx 0.887862$.
If you want to minimize the area, that calculation is a lot more complex. By symmetry, it is sufficient to look only at the portion between $0$ and $pi/2$, where the area is given by
$$A = left(int_0^c x,dx + int_c^{sin^{-1} c} c,dx - int_0^{sin^{-1} c} sin x, dxright) + left(int_{sin^{-1} c}^{pi/2} sin x, dx - int_{sin^{-1} c}^{pi/2} c,dxright)\=frac{c^2}2 + c(sin^{-1}c - c) - (1 - cos(sin^{-1}c)) + cos(sin^{-1}c) -c(frac{pi}2- sin^{-1}c)\=-1 - fracpi 2 c - frac {c^2}2 +2sqrt{1 - c^2} + 2csin^{-1}c$$
To minimize the area, we take the derivative with respect to $c$ and set it to 0:
$$A' = -frac pi 2 - c -frac{2c}{sqrt{1 - c^2}} + 2sin^{-1}c + frac {2c}{sqrt{1-c^2}}=2sin^{-1}c-frac pi 2 - c = 0 $$
Which Wolfram Alpha says is $c approx 0.95261$.
Of course, I just used $y = sin x$, whereas your curve will need to be of the form $$y = Asin(Bx)$$ but the same solution should work using lines of slope $pm AB$, and a cutoff value of $C = Ac$ for your choice of the two $c$ values calculated above.
$endgroup$
I assume you want something like this:
This is the line $y = x$ up to some maximum point $c$, which it maintains until it gets to $pi - c$, where it drops by the line $y = pi - x$, etc. We can control $c$ to determine the best fit.
The simplest criterion to find the best fit for is the minimum height difference between the two curves. The trapezoidal curve (the usual term of art for this sort of curve is "piecewise linear") is highest above the sine curve at $x = c$, where the distance is $c - sin c$. The sine curve is highest above the trapezoidal curve at $x = pi/2$, where the distance is $1 - c$. The distance will be minimized when these two distances are equal, so $c - sin c = 1 - c$. Wolfram Alpha computes this to be when $c approx 0.887862$.
If you want to minimize the area, that calculation is a lot more complex. By symmetry, it is sufficient to look only at the portion between $0$ and $pi/2$, where the area is given by
$$A = left(int_0^c x,dx + int_c^{sin^{-1} c} c,dx - int_0^{sin^{-1} c} sin x, dxright) + left(int_{sin^{-1} c}^{pi/2} sin x, dx - int_{sin^{-1} c}^{pi/2} c,dxright)\=frac{c^2}2 + c(sin^{-1}c - c) - (1 - cos(sin^{-1}c)) + cos(sin^{-1}c) -c(frac{pi}2- sin^{-1}c)\=-1 - fracpi 2 c - frac {c^2}2 +2sqrt{1 - c^2} + 2csin^{-1}c$$
To minimize the area, we take the derivative with respect to $c$ and set it to 0:
$$A' = -frac pi 2 - c -frac{2c}{sqrt{1 - c^2}} + 2sin^{-1}c + frac {2c}{sqrt{1-c^2}}=2sin^{-1}c-frac pi 2 - c = 0 $$
Which Wolfram Alpha says is $c approx 0.95261$.
Of course, I just used $y = sin x$, whereas your curve will need to be of the form $$y = Asin(Bx)$$ but the same solution should work using lines of slope $pm AB$, and a cutoff value of $C = Ac$ for your choice of the two $c$ values calculated above.
edited Jan 24 at 16:58
answered Jan 21 at 19:57
Paul SinclairPaul Sinclair
19.6k21442
19.6k21442
$begingroup$
You might do a little better (for some definitions of better) by allowing the slope to be slightly less than $1$. That is one more parameter, which makes the trapezoid wave more complicated but can improve the fit. Well done.
$endgroup$
– Ross Millikan
Jan 21 at 20:04
$begingroup$
@RossMillikan - I had considered that, but of course, the best linear approximation to sine at the inflection points is slope $1$, so I left it and just controlled the height.
$endgroup$
– Paul Sinclair
Jan 21 at 20:16
$begingroup$
@RossMilikan: I got to the point of just looking at the 0 to pi and establishing the function for the area, but it never occurred to me that I could just start with one parameter and let the slope be the trivial one. Great step by step solution, learned something about solving problems by starting small and simple.
$endgroup$
– trapicki
Jan 24 at 15:37
$begingroup$
@PaulSinclair: how do you produce the nice graphics?
$endgroup$
– trapicki
Jan 25 at 15:37
$begingroup$
Desmos. It took me some work to figure out how to do the trapezoid curve, through.
$endgroup$
– Paul Sinclair
Jan 25 at 17:29
add a comment |
$begingroup$
You might do a little better (for some definitions of better) by allowing the slope to be slightly less than $1$. That is one more parameter, which makes the trapezoid wave more complicated but can improve the fit. Well done.
$endgroup$
– Ross Millikan
Jan 21 at 20:04
$begingroup$
@RossMillikan - I had considered that, but of course, the best linear approximation to sine at the inflection points is slope $1$, so I left it and just controlled the height.
$endgroup$
– Paul Sinclair
Jan 21 at 20:16
$begingroup$
@RossMilikan: I got to the point of just looking at the 0 to pi and establishing the function for the area, but it never occurred to me that I could just start with one parameter and let the slope be the trivial one. Great step by step solution, learned something about solving problems by starting small and simple.
$endgroup$
– trapicki
Jan 24 at 15:37
$begingroup$
@PaulSinclair: how do you produce the nice graphics?
$endgroup$
– trapicki
Jan 25 at 15:37
$begingroup$
Desmos. It took me some work to figure out how to do the trapezoid curve, through.
$endgroup$
– Paul Sinclair
Jan 25 at 17:29
$begingroup$
You might do a little better (for some definitions of better) by allowing the slope to be slightly less than $1$. That is one more parameter, which makes the trapezoid wave more complicated but can improve the fit. Well done.
$endgroup$
– Ross Millikan
Jan 21 at 20:04
$begingroup$
You might do a little better (for some definitions of better) by allowing the slope to be slightly less than $1$. That is one more parameter, which makes the trapezoid wave more complicated but can improve the fit. Well done.
$endgroup$
– Ross Millikan
Jan 21 at 20:04
$begingroup$
@RossMillikan - I had considered that, but of course, the best linear approximation to sine at the inflection points is slope $1$, so I left it and just controlled the height.
$endgroup$
– Paul Sinclair
Jan 21 at 20:16
$begingroup$
@RossMillikan - I had considered that, but of course, the best linear approximation to sine at the inflection points is slope $1$, so I left it and just controlled the height.
$endgroup$
– Paul Sinclair
Jan 21 at 20:16
$begingroup$
@RossMilikan: I got to the point of just looking at the 0 to pi and establishing the function for the area, but it never occurred to me that I could just start with one parameter and let the slope be the trivial one. Great step by step solution, learned something about solving problems by starting small and simple.
$endgroup$
– trapicki
Jan 24 at 15:37
$begingroup$
@RossMilikan: I got to the point of just looking at the 0 to pi and establishing the function for the area, but it never occurred to me that I could just start with one parameter and let the slope be the trivial one. Great step by step solution, learned something about solving problems by starting small and simple.
$endgroup$
– trapicki
Jan 24 at 15:37
$begingroup$
@PaulSinclair: how do you produce the nice graphics?
$endgroup$
– trapicki
Jan 25 at 15:37
$begingroup$
@PaulSinclair: how do you produce the nice graphics?
$endgroup$
– trapicki
Jan 25 at 15:37
$begingroup$
Desmos. It took me some work to figure out how to do the trapezoid curve, through.
$endgroup$
– Paul Sinclair
Jan 25 at 17:29
$begingroup$
Desmos. It took me some work to figure out how to do the trapezoid curve, through.
$endgroup$
– Paul Sinclair
Jan 25 at 17:29
add a comment |
Thanks for contributing an answer to Mathematics 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%2fmath.stackexchange.com%2fquestions%2f3060713%2ftrapezoid-approximation-of-sine-function%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
$begingroup$
I assume you mean "sine" and "cosine", I've never heard them called "sinus" and "cosinus" before. The question that needs to be asked is what criterion you want to use to determine a "good" approximation. The two obvious choices are to either minimize the maximum difference between function values, or else to minimize the area between the two curves. But which would you prefer? Or is there some other criterion that would be better in this case? There is no need to "brute force" it. Either way, the problem is not hard to solve analytically.
$endgroup$
– Paul Sinclair
Jan 4 at 0:31
$begingroup$
@PaulSinclair. These are the French names of these functions.
$endgroup$
– Claude Leibovici
Jan 4 at 10:45
$begingroup$
@PaulSinclair: of course sine and cosine, I'm used to the German terms, which in turn stem directly from the Latin "Sinus" for "bend; bay", see en.wikipedia.org/wiki/Trigonometric_functions#Etymology for details. The measure for the quality of the approximation would be the minimum sum of absolute distance, equal to the minimum absolute area between both functions. Hard is in the eye of the beholder, and I got stuck and are happy for every hint that someone may offer.
$endgroup$
– trapicki
Jan 21 at 16:26