trapezoid approximation of sine function












0












$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:




  1. visible light length stays roughly the same (around winter solistice),

  2. visible light lenghtens by roughly x minutes a day (around spring equinox),

  3. visible light length stays roughly the same (around summer solistice),

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










share|cite|improve this question











$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
















0












$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:




  1. visible light length stays roughly the same (around winter solistice),

  2. visible light lenghtens by roughly x minutes a day (around spring equinox),

  3. visible light length stays roughly the same (around summer solistice),

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










share|cite|improve this question











$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














0












0








0





$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:




  1. visible light length stays roughly the same (around winter solistice),

  2. visible light lenghtens by roughly x minutes a day (around spring equinox),

  3. visible light length stays roughly the same (around summer solistice),

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










share|cite|improve this question











$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:




  1. visible light length stays roughly the same (around winter solistice),

  2. visible light lenghtens by roughly x minutes a day (around spring equinox),

  3. visible light length stays roughly the same (around summer solistice),

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






share|cite|improve this question















share|cite|improve this question













share|cite|improve this question




share|cite|improve this question








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


















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










1 Answer
1






active

oldest

votes


















3












$begingroup$

I assume you want something like this:
piecewise linear approximation to a sinusoid



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.






share|cite|improve this answer











$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













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
});


}
});














draft saved

draft discarded


















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









3












$begingroup$

I assume you want something like this:
piecewise linear approximation to a sinusoid



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.






share|cite|improve this answer











$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


















3












$begingroup$

I assume you want something like this:
piecewise linear approximation to a sinusoid



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.






share|cite|improve this answer











$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
















3












3








3





$begingroup$

I assume you want something like this:
piecewise linear approximation to a sinusoid



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.






share|cite|improve this answer











$endgroup$



I assume you want something like this:
piecewise linear approximation to a sinusoid



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.







share|cite|improve this answer














share|cite|improve this answer



share|cite|improve this answer








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




















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




















draft saved

draft discarded




















































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.




draft saved


draft discarded














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





















































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







Popular posts from this blog

Human spaceflight

Can not write log (Is /dev/pts mounted?) - openpty in Ubuntu-on-Windows?

張江高科駅