Experiment with the small test matrix, C/C++ Programming

Assignment Help:

For this assignment, I've provided a data file called 'elevation.mat', which contains the elevation data you'll be working with.  

Type load elevation.mat to get the variable map, which is a matrix of heights (in meters) for a region near Springfield.  You also get a small matrix test that is 10x10, on which you can experiment to make sure your code is behaving sensibly.

As a first step, display the map as a shaded image with

imagesc(map);

axis equal;

colormap gray;

 

(-1,-1)

(-1,0)

(-1,1)

(0,-1)

(0, 0)

P

(0,1)

(1,-1)

(1,0)

(1,1)

Now, here's the function you'll be implementing for this first part.  Every pixel P that is not on the boundary of the image has eight neighbors (above, below, left, right, and four diagonal neighbours).  Let's denote P as the pixel at row r and column c - I'll use (r, c) as shorthand for this. Water follows the path of steepest descent, so we would like to know, for each non-boundary pixel, the direction to the lowest height of the 9 cells around P, including P itself. One way to do that is to store, for each map point (r, c), both the row and the column offsets to its lowest neighbor. We can record these offsets in two matrices (one for rows, one for columns), each containing only the numbers  -1, 0, and +1. Look at the figure to see how these numbers map to the neighbours of a given pixel. As an example, if the lowest neighbour for pixel (r, c) is the pixel directly above, you would store the corresponding offsets of -1 and 0 at location (r, c) in the two offset matrices.

Since border pixels don't have all neighbours defined, let's assign boundary pixels to have both offsets zero.

Thus, for this first part, write and turn in a function that looks like:

function [roffset, coffset] = findLowNhbr(map)

This functions returns two matrices of the same size as map, so that pixel (r,c) in the map has pixel (r+roffset(r,c), c+coffset(r,c)) in the map as its lowest neighbour. 

What to submit: For this part, you do not need to turn in any output -include your m-file in the zip file, and also place the code for the function into the published html, as follows:

type findLowNhbr;   % put this line into the cell for Part 1 in solutionWatersheds.m

You may want to experiment with the small test matrix to check if your code is giving you reasonable results (for this small 10x10 test matrix, you should be able to calculate the offsets by hand).

A note on coding: Try to be as general as possible in your code. One example of this is to use statements such as [nrows,ncols] = size(map); to assign the numbers of rows and columns to variables nrows and ncols.  If you use nrows and ncols instead of the numbers, then you can run your code on any size maps without modification.


Related Discussions:- Experiment with the small test matrix

What is the value of a resistor marked as 47kk, (a) Verify the values of th...

(a) Verify the values of the resistors with the following colour coding: (i) red-red-orange-silver (ii) orange-orange-black-blue-green (b) What is the value of a resistor

For loop, write a c++ program for the sum of 10 numbers and print out the a...

write a c++ program for the sum of 10 numbers and print out the average

What is the main advantage to using a data file, Problem: (a) What is ...

Problem: (a) What is the main advantage to using a data file? (b) What is meant by opening a data file? How is this accomplished? Illustrate your answer clearly with a sui

What does throw; (with no exception object after the throw , What does thro...

What does throw; (with no exception object after the throw keyword) mean? Where would I employ it? A: You should see code that looks something like this: class MyException

Define a structure of student class, Define a structure of student class:  ...

Define a structure of student class:  Write a program to define a structure of student record in C. class student { char name[20]; int roll_no; int marks[2];

Priority Queue, Ask question #Minimum 100 words acceptedEducational Objecti...

Ask question #Minimum 100 words acceptedEducational Objectives: After completing this assignment, the student should be able to accomplish the following: Apply generic algorithms i

Explain the changing field width, Changing Field width The printf() and...

Changing Field width The printf() and scanf() functions from the standard library, use width specifier for controlling the width of its output . Similarly, the ostream class al

Minimum shelf, At a shop of marbles, packs of marbles are prepared. Packets...

At a shop of marbles, packs of marbles are prepared. Packets are named A, B, C, D, E …….. All packets are kept in a VERTICAL SHELF in random order. Any numbers of packets with thes

CptS 121 Program Development & Design program design in C, Write a program...

Write a program that performs character processing on 10 characters read in from a file, and writes the results to output files. Do NOT use loops or arrays to solve this problem. N

C program to find the even words in the string, C Program to FIND THE EVEN ...

C Program to FIND THE EVEN WORDS IN THE STRING #include conio.h> #include stdio.h> void main() {           char a[50],temp;           int i=0,k=0,l[25],c=0,r=0;

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd