Chapter 4: Programming in Matlab - College of the Redwoods
Chapter 4: Programming in Matlab - College of the Redwoods
Chapter 4: Programming in Matlab - College of the Redwoods
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Section 4.5 Subfunctions <strong>in</strong> <strong>Matlab</strong> 385<br />
we replace <strong>the</strong> driv<strong>in</strong>g script file with a function M-file, this primary function can<br />
conta<strong>in</strong> as many subfunctions as needed to complete <strong>the</strong> programm<strong>in</strong>g task. In<br />
this way, <strong>the</strong> program is self conta<strong>in</strong>ed. One file conta<strong>in</strong>s everyth<strong>in</strong>g needed by<br />
<strong>the</strong> program to perform <strong>the</strong> task for which it was designed.<br />
Add<strong>in</strong>g Functionality to our Program<br />
In this section, we will write subfunctions that will reduce a fraction to lowest<br />
terms. This corresponds to <strong>the</strong> first choice on <strong>the</strong> menu <strong>of</strong> choices produced by<br />
<strong>the</strong> subfunction rationalMenu.<br />
How to proceed? We reduce a fraction to lowest terms <strong>in</strong> two steps. First, we<br />
f<strong>in</strong>d a greatest common divisor for both numerator and denom<strong>in</strong>ator, <strong>the</strong>n divide<br />
both numerator and denom<strong>in</strong>ator by this greatest common denom<strong>in</strong>ator.<br />
For example, to reduce <strong>the</strong> rational number 336/60 to lowest terms, we proceed<br />
as follows.<br />
1. F<strong>in</strong>d <strong>the</strong> greatest common divisior <strong>of</strong> 336 and 60, which is gcd(336, 60) = 12.<br />
2. Divide numerator and denom<strong>in</strong>ator by <strong>the</strong> greatest common divisor.<br />
336<br />
60<br />
336 ÷ 12<br />
=<br />
60 ÷ 12 = 28<br />
5<br />
Two tasks call for two subfunctions, one to f<strong>in</strong>d <strong>the</strong> gcd and a second to do<br />
<strong>the</strong> actual reduction.<br />
The Euclidean Algorithm. Early <strong>in</strong> our ma<strong>the</strong>matical education we learn<br />
that if you take an nonegative <strong>in</strong>teger a and divide it by a positive <strong>in</strong>teger b, <strong>the</strong>re<br />
is an <strong>in</strong>teger quotient q and rema<strong>in</strong>der r such that<br />
a = bq + r, 0 ≤ r < b.<br />
We can use this Euclidean Algorithm to f<strong>in</strong>d <strong>the</strong> greatest common divisor <strong>of</strong> 336<br />
and 60. We proceed as follows.<br />
1. When 376 is divided by 60, <strong>the</strong> quotient is 5 and <strong>the</strong> rema<strong>in</strong>der is 36. That is,<br />
336 = 5 · 60 + 36.<br />
2. When 60 is divided by 36, <strong>the</strong> quotient is 1 and <strong>the</strong> rema<strong>in</strong>der is 24. That is,<br />
60 = 1 · 36 + 24.<br />
3. When 36 is divided by 24, <strong>the</strong> quotient is 1 and <strong>the</strong> rema<strong>in</strong>der is 12. That is,<br />
36 = 1 · 24 + 12.