Hi Matthias --<div><br></div><div>David, it is entirely safe to navigate around the mathematics sections in the book</div><div><br></div><div>Yes, but I can&#39;t resist the challenge of tackling and hopefully solving an explicitly &quot;mathematical&quot; problem which I always considered beyond my reach :) (which is why I&#39;m up at 5:30 am taking a whack at this thing!).&nbsp;</div>
<div><br></div><div>I looked at the link sent to me by Thomas Chust and came up with this version of integrate-kepler (before reading your comments below, which I will):<br></div><div><br></div><div><div>(define (integrate-kepler f left right)</div>
<div>&nbsp;&nbsp;(local ((define (area-of-trap a b1 b2)</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(* a &nbsp;( / ( + (f b1) (f b2)) 2)))</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(define midpoint ( / (+ right left) 2))</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(define alt-left (- midpoint left))</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(define alt-right (- right midpoint))) &nbsp; &nbsp;</div><div>&nbsp;&nbsp; &nbsp;(+ (area-of-trap alt-left left midpoint)</div><div>&nbsp;&nbsp; &nbsp; &nbsp; (area-of-trap alt-right midpoint right))))</div><div><br></div><div>Am I in the ballpark?</div>
<div><br></div><div>Thanks!</div><div><br></div><div>Dave</div></div><div><br></div><div><br></div><div><br><div><br></div><div><br><br><div class="gmail_quote">On Tue, Feb 10, 2009 at 6:40 AM, Matthias Felleisen <span dir="ltr">&lt;<a href="mailto:matthias@ccs.neu.edu">matthias@ccs.neu.edu</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><br>
<br>
David, it is entirely safe to navigate around the mathematics sections in the book. As someone pointed out, they exist because it&#39;s so easy to use Scheme to bring across rather complex mathematical concepts. Indeed, you won&#39;t believe it but by reaching part VI, you have mastered a significant chunk of mathematics that you would have never considered within reach had I told you at the outset of your studies that you&#39;d understand rudimentary concepts from &quot;higher&quot; algebra (advanced college material).<br>

<br>
If you want to figure out some basics, try this.<br>
<br>
&nbsp;Can you draw the curve for (define (f x) x), (define (g x) 10), and (define (h x) (- 10 x)) between 0 and 10?<br>
<br>
&nbsp;Can you determine the area that is enclosed by f, g, and h, the X and Y axis between 0 and 10?<br>
<br>
&nbsp;If so, how did you compute those?<br>
<br>
These are special cases for the exercise that you are tackling. If your solution comes close to your answers, you know it works for special cases. That&#39;s good. For somewhat more advanced uses, you would consider more sophisticated cases, such as sin, cos, expt, etc. In all those cases, mathematics tells you how to come up with a close-enough answer through a few calculations.<br>

<br>
And that&#39;s the whole point of testing. You hope that it works for the rest of it.<br>
<br>
Give it a try. -- Matthias<div><div></div><div class="Wj3C7c"><br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
On Feb 9, 2009, at 9:47 PM, David Yrueta wrote:<br>
<br>
</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div></div><div class="Wj3C7c">
Hi Thomas --<br>
<br>
Thank you for the link. &nbsp;I&#39;m not familiar with the mathematical notation used to represent the trapezoid rule function, but it resembles Scheme enough to give me some clue on how to go forward.<br>
<br>
Here&#39;s my best effort at translation:<br>
<br>
For this problem, argument &quot;a&quot; signifies the x-axis coordinate for the &quot;left interval&quot; and argument &quot;b&quot; signifies the x-axis coordinate for &quot;right interval.&quot;<br>
<br>
The length of each interval is equal to it&#39;s y-coordinate value, which can be derived by applying function f to it&#39;s x-coordinate. The length of each interval also equals the two base lengths of a trapezoid. &nbsp;The altitude of the trapezoid is equal to the difference between the x-coordinate values of a and b. &nbsp;So, if the area of a trapezoid = altitude * ((base1+ base2) / 2), then the formula for the area under the curve equals &nbsp;[(b - a) * ((f a) + (f b) / 2)].<br>

<br>
To calculate the areas for two trapezoids, one needs only to divide the interval between a and b by 2, apply f to that value, and then use the result as base2 for the trapezoid with (f a) as base1, and base1 for the trapezoid with (f b) as base2.<br>

<br>
Does that sound about right? &nbsp;If so, I&#39;ll translate it to Scheme. &nbsp;Perhaps that would make my thoughts easier to evaluate.<br>
<br>
Thanks for the time!<br>
<br>
Thanks,<br>
Dave<br>
<br>
On Mon, Feb 9, 2009 at 5:33 PM, Thomas Chust &lt;<a href="mailto:chust@web.de" target="_blank">chust@web.de</a>&gt; wrote:<br>
2009/2/10 David Yrueta &lt;<a href="mailto:dyrueta@gmail.com" target="_blank">dyrueta@gmail.com</a>&gt;:<br>
&gt; [...] Still don&#39;t really understand how this relates to the question of computing the<br>
&gt; &quot;area of each trapezoid,&quot; though. [...]<br>
<br>
Hello,<br>
<br>
<a href="http://en.wikipedia.org/wiki/Trapezoidal_rule" target="_blank">http://en.wikipedia.org/wiki/Trapezoidal_rule</a> has some figures that<br>
may make the idea behind this integration method more clear: The graph<br>
of the function is approximated by a polyline -- in the special case<br>
of Kepler&#39;s rule a very coarse one with only two edges; the<br>
approximation of the integral is the area of the polygon bounded by<br>
this polyline, the two integration interval boundaries and the<br>
coordinate axis of the integration variable.<br>
<br>
cu,<br>
Thomas<br>
<br>
<br>
--<br>
When C++ is your hammer, every problem looks like your thumb.<br>
<br></div></div><div class="Ih2E3d">
_________________________________________________<br>
 &nbsp;For list-related administrative tasks:<br>
 &nbsp;<a href="http://list.cs.brown.edu/mailman/listinfo/plt-scheme" target="_blank">http://list.cs.brown.edu/mailman/listinfo/plt-scheme</a><br>
</div></blockquote>
<br>
</blockquote></div><br></div></div>