values being altitude MSL, in increments of 5,000 ft., with index 1 being 0 ft.; andvalues being gross weight, in increments of 300 lbs., with index 1 being 1,700 lbs. Values are at ISA.

In[1]:=

rateOfClimb



1085 825 570 315840 610 380 155645 435 230 20





feet



minute





Out[1]=



1085, 825, 570, 315



,



840, 610, 380, 155



,



645, 435, 230, 20



We define functions that convert a given altitude or gross weight into index values of the matrix.

In[2]:=

RateOfClimbMatrixAltitudeToIndex



alt







feet







alt



5000



1

Out[2]=

1



alt5000

In[3]:=

RateOfClimbMatrixWeightToIndex



wt







pounds







wt



300



14



3

Out[3]=



143



wt300

We define a function that yields a rate of climb for a given altitude and weight.

In[4]:=

RateOfClimbInterpolator



ListInterpolation



rateOfClimb



ListInterpolation::inhr



:



Requested order is too high; order has been reduced to



2, 3



.



Out[4]=

InterpolatingFunction



1, 3



,



1, 4



,





In[5]:=

RateOfClimb



alt







feet





, wt







pounds







RateOfClimbInterpolator



RateOfClimbMatrixWeightToIndex



wt



,RateOfClimbMatrixAltitudeToIndex



alt

 



feet



minute





Out[5]=

InterpolatingFunction



1, 3



,



1, 4



,







143



wt300, 1



alt5000





Chart 2. Climb Speed

Climb speed is represented as a matrix with

x

values being altitude MSL, in increments of 5,000 ft., with index 1 being 0 ft.; and

y

values being gross weight, in increments of 300 lbs., with index 1 being 1,700 lbs. Matrix values are at ISA.

In[6]:=

climbSpeed



83 77 70 6488 81 75 6891 85 80 73





miles



hour





Out[6]=



83, 77, 70, 64



,



88, 81, 75, 68



,



91, 85, 80, 73



We define functions that convert a given altitude or gross weight into index values of the matrix.

In[7]:=

ClimbSpeedMatrixAltitudeToIndex



alt







feet







alt



5000



1

Out[7]=

1



alt5000

In[8]:=

ClimbSpeedMatrixWeightToIndex



wt







pounds







wt



300



14



3

Out[8]=



143



wt300

We define a function that yields a rate of climb for a given altitude and weight.

In[9]:=

ClimbSpeedInterpolator



ListInterpolation



climbSpeed



ListInterpolation::inhr



:



Requested order is too high; order has been reduced to



2, 3



.



Out[9]=

InterpolatingFunction



1, 3



,



1, 4



,





In[10]:=

ClimbSpeed



alt







feet





, wt







pounds







ClimbSpeedInterpolator



ClimbSpeedMatrixWeightToIndex



wt



, ClimbSpeedMatrixAltitudeToIndex



alt

 



miles



hour





Out[10]=

InterpolatingFunction



1, 3



,



1, 4



,







143



wt300, 1



alt5000





art 3. m ue urn

Climb fuel burn is derived from fuel used to attain altitude. This data is represented as a matrix with

x

values being altitude MSL,in increments of 5,000 ft., with index 1 being 0 ft.; and

y

values being gross weight, in increments of 300 lbs., with index 1 being1,700 lbs. Matrix values are the amount of fuel required to attain that altitude, at ISA, including 1 US gallon of taxi/runup fueluse.

In[11]:=

climbFuelBurn



1 1.9 2.9 4.41 2.2 3.6 6.31 2.6 4.8 11.5





US gallons



hour





Out[11]=



1, 1.9, 2.9, 4.4



,



1, 2.2, 3.6, 6.3



,



1, 2.6, 4.8, 11.5



We define functions that convert a given altitude or gross weight into index values of the matrix.

In[12]:=

ClimbFuelBurnMatrixAltitudeToIndex



alt







feet







alt



5000



1

Out[12]=

1



alt5000

In[13]:=

ClimbFuelBurnMatrixWeightToIndex



wt







pounds







wt



300



14



3

Out[13]=



143



wt300

We define a function that yields a fuel burn between two altitudes.

In[14]:=

ClimbFuelBurnInterpolator



ListInterpolation



climbFuelBurn



ListInterpolation::inhr



:



Requested order is too high; order has been reduced to



2, 3



.



Out[14]=

InterpolatingFunction



1., 3.



,



1., 4.



,





2

1974-5 Cessna Skyhawk 172 M.nb

In[15]:=

ClimbFuelBurn



alt0







feet





, altf







feet





, wt







pounds







ClimbFuelBurnInterpolator



ClimbFuelBurnMatrixWeightToIndex



wt



,ClimbFuelBurnMatrixAltitudeToIndex



altf





ClimbFuelBurnInterpolator



ClimbFuelBurnMatrixWeightToIndex



wt



,ClimbFuelBurnMatrixAltitudeToIndex



alt0

 



US gallons



hour





Out[15]=



InterpolatingFunction



1., 3.



,



1., 4.



,







143



wt300, 1



alt05000





InterpolatingFunction



1., 3.



,



1., 4.



,







143



wt300, 1



altf5000



We define a function that uses rate-of-climb data to determine how long it takes to climb from one altitude to another.

In[16]:=

TimeBetweenAltitudes



alt0







feet





, altf







feet





, wt







pounds









alt0altf

1RateOfClimb



x, wt





x





minutes





Out[16]=



alt0altf

1InterpolatingFunction



1, 3



,



1, 4



,







143



wt300

, 1



x5000





x

Finally, we define a function that determines the fuel burn at a given altitude and gross weight. The burn is rate is determinedover a climb of ±500 feet from that altitude.

In[17]:=

ClimbFuelBurnRate



alt







feet





, wt







pounds







ClimbFuelBurn



alt



500, alt



500, wt



TimeBetweenAltitudes



alt



500, alt



500, wt



60

 



US gallons



hour





Out[17]=

60



InterpolatingFunction



1., 3.



,



1., 4.



,







143



wt300, 1



500



alt5000





InterpolatingFunction



1., 3.



,



1., 4.



,







143



wt300, 1



500



alt5000

  



500



alt500



alt

1InterpolatingFunction



1, 3



,



1, 4



,







143



wt300

, 1



x5000





x

Section 2. Cruise



art 1. ruse pee

Cruise speed is represented as a vector with

x

values being altitude MSL, in increments of 2,500 ft., with index 1 being 2,500 ft.Matrix values are at 2,300 lbs. gross weight, 2,400 RPM, and ISA.

In[18]:=

cruiseSpeed





122, 121, 119, 117, 115

 



miles



hour





Out[18]=



122, 121, 119, 117, 115



We define a function that converts a given altitude into an index value of the vector.

In[19]:=

CruiseSpeedVectorAltitudeToIndex



alt







feet







alt



2500

Out[19]=

alt2500

We define a function that yields a cruise speed in knots for a given altitude.