Least Squares and Real Data

Data Source: http://www.ncdc.noaa.gov/oa/climate/research/ushcn/

Contents

Download Real Data

The data found above was cleaned and is found at the site below
	disp('http://euclid.nmu.edu/~joshthom/ClimateData');

% Follow the link above, select a .mat file, download to your MATLAB directory

	disp('http://euclid.nmu.edu/~joshthom/ClimateData/ClimateStations.txt');

% The file Stations.txt indicate which cities correspond to which matrices.
http://euclid.nmu.edu/~joshthom/ClimateData
http://euclid.nmu.edu/~joshthom/ClimateData/ClimateStations.txt

Structure of Matrix Data

Each matrix is roughly of size 118 by 14, and contains data recorded from a weather station in a particular city in the continental US.

% Each row corresponds to a year, starting with 1895.
% Column 1 contains the year in which the temps were recorded.
% Columns 2-13 contain MAX MONTHLY TEMPERATURES
% January = 2, February = 3, ..., December = 13, etc.
% Column 14 contains the average of the maximum monthly temperatures.

Assignment 1

Load ONE matrix into MATLAB, and compute a "Least Squares Approximation" for each month. For example,

load(['MaxTempsStation_7.mat']);
% The x-value are 1,2,3, ..., 117 representing the years 1895,1896,1897,...2012
% The y-values are entries of columns 2-13 from the matrix.
% Proceed as in the examples in the text, producing a y-intercept and a slope.

% On a single figure, plot a month of data along with the line of best fit you just computed.  Do this for each month.

% Create a 12-element vector whose entries are the least-squares-slopes for each month.

Assignment 2

Repeat Assignment ONE for as many cities as you can and analyze the slopes found in each approximation.

% Is there a trend to the slopes?

Technique for downloading multiple .mat files

% Load Data

    for i = 1:100
		url_station = 'http://euclid.nmu.edu/~joshthom/ClimateData/MaxTempsStation_';
		url_tail    = '.mat';
		n = num2str(i);
		url = [url_station,n,url_tail]; % a web address of .mat file for Station i
    	a=urlwrite(url,'temp.mat'); % loads the .mat file into MATLABj
    	load('temp.mat'); % this creates D with fields M (data matrix), Country (string)

    	F = D.M; % the data matrix for Station i
	end

Grading

% - Mathematics: 3-5
% - Is the mathematics correct?  Does your work make sense?

% - MATLAB: 5-8
% - Are your figures labeled, colored or displayed nicely? Does your code work? Do you analyze many different data sets?

% - Presentation 2-7
% - Is your presentation/project clear?  Do you make a reasonable hypothesis?  Do you understand what you're doing?

% - Maximum Points Possible: 20