CSS 455 Scientific Programming

Machine Problem #1   MP1

 

Problem Solving using Newton’s Method

System of two nonlinear equations

 

Due:  January 22, 2012  (see drop box for time)

Deadline: for full credit  - 11:59 PM, Sunday, Jan 22.

Due:  January 24, 2012  (see drop box for time)

Deadline: for full credit  - 11:59 PM, Tuesday, Jan 24.


for 75% credit - up to 24 hrs late

for 50% credit – up to 48 hrs late

(Changes made in this document after first posting are in blue.)

 

Specification.  The overall problem here is to provide a Matlab program for an engineer who needs to know the length of a utility cable being stretched on poles.  A surveyor has determined the locations and elevations of sites approximately every 300 feet for construction of tall poles.  The height of the poles is not relevant except to note that they are tall enough to easily accommodate the wire sags specified below.  The surveyor provides a cdf file to be read by Matlab that has the position of each pole, specified as a single coordinate in feet, and an elevation also in feet.  Treat this problem as though the line is extending in straight line without any turns, requiring only one coordinate to specify the position. Since this is a field engineering problem set in the US, the units used will be the American System of feet and lbs rather than the metric system.  The program specification is as follows:

 

 

Background and context.

















Note that the sag (40 ft) is measured from the lower end and that the higher end is H (15 ft) above the lower one.
















The overall length of the curve in this segment is the sum  S = S1 + S2.  In the test case above, a cable length of 319.3 ft is needed to span the poles 300 feet apart with an elevation difference of 15 ft, and with the 40 ft sag.

 

 

Text Box: fname = input('Enter the DataSet Name: ')
info=cdfread(fname,'Variable',{'positions' 'altitudes'});
positionData = info{1,1}(:,1);
altitudeData = info{1,2}(:,1);

The file name is entered in single quotes (‘fname’) by the user.  The names positions and altitudes are the variable names to create the cdf file, which identify which data to extract.  The names positionData and altitudeData  are local to the calling program and can be whatever you choose.  The four cdf data files provided here are

ShortDataSetEvenMP1.CDF

Approximately 10 data segments, all at same elevation (H=0)

ShortDataSetUnevenMP1.CDF

Approximately 10 data segments, with uneven terrain.

LongDataSetEvenMP1.CDF

Approximately 1700 data segments, even terrain (H=0)

LongDataSetUnevenMP1.CDF

Approximately 1700 data segments, with uneven terrain.  This is the actual problem set for your final submission with the serial program..

VeryLongDataSetMP1.CDF

Approx 17,000 data segments.

ExtraLongDataSetMP1.CDF

Approx 50,000 data segments is the actual problem set for your final submission with the parallel program.

 

Preliminary submission.  By 11:59 PM, Friday, January 13, you are to turn in a deliverable to the “MP1PreliminarySubmission” drop box.  This file is to report on the design (including modularization), author responsibilities for different components and phases of code development.  It should also include rough drafts ( not yet debugged) of any modules that have been started.