All submitted solutions must be legible,
organized, and always convey your understanding.
Include reasoning whether the problem
explicitly calls for it or not.
You are encouraged to discuss homework
problems with each other and to learn from each other.
However, the work submitted must be written up individually. Help
received from others must be acknowledged by a note at the beginning
of your assignment.
Academic integrity policies will
be strictly enforced. Please be advised that you
are responsible for making yourself aware of and understanding the
policies and procedures in the Undergraduate and Graduate Catalogs
that pertain to Academic Honesty. These policies include cheating,
fabrication, falsification and forgery, multiple submission,
plagiarism, complicity and computer misuse. [The policies can be
found at http://catalog.wmich.edu
under Academic Policies, Student Rights and Responsibilities.] If
there is reason to believe you have been involved in academic
dishonesty, you will be referred to the Office of Student Conduct.
You will be given the opportunity to review the charge(s). If you
believe you are not responsible, you will have the opportunity for a
hearing. You should consult with me if you are uncertain about an
issue of academic honesty prior to the submission of an assignment or
Problems will cover both numerical and theoretical
aspects of the course.
Numerical experimentation is an integral part of the course.
Its goal is to reinforce and reflect theory, compare and contrast theory
with practise, and make numerical and theoretical conjectures.
Here are some tips on what makes a good solution to a problem involving
numerical computation. Not all of these may be applicable in very problem:
- In most cases, your Matlab code should be an m-file.
- Keep your code readable by using smart indentation (the Matlab editor can
do this automatically), and including documentation and comments.
Chapter 7 in the Matlab Guide by Higham and Higham contains
excellent advice on how to do this.
Do NOT submit reams of numerical output.
This will almost certainly earn you negative credit.
When appropriate, plot your numerical data.
Use the subplot command to get multiple plots on the same page.
- Describe the design of your experiment.
If you are comparing Method A with Method B,
consider comparing the performance (for example, in terms of efficiency and
accuracy) of each of the
methods against a standard benchmark.
A benchmark could be the exact solution computed by analytical (rather than
numerical) means, or it could be a different method (which could be a
built-in Matlab function).
Describe the test data,
and why you chose it.
Do the same for any other design parameters.
Organize your output in a compact and readable fashion.
Use format compact to suppress unnecessary line feeds.
Calculate relative errors if appropriate; summarize results in a table.
Annotate your output; by hand is ok, and
even preferable at times!
What do you observe?
What does the output suggest?
Can you explain your observations?
What conclusions can you draw from your experiments?
How does theory compare with practise?
For example, how do the mathematically exact solutions compare with the
numerical ones? Or, can you prove by analytical means
the patterns you've observed or been led to conjecture
by numerical means?
Does your experiment suggest directions for further exploration?
Include any progress made on such investigations.
You are encouraged to extend exercises in this manner, and carry out
your own on-going investigations during the semester.
- To save output to a file, you can use Matlab's diary command.
To learn more, type help diary at the Matlab prompt.
- Creating special matrices:
>> help ones
>> help zeros
>> help eye
>> help diag
Example (try this at home!):
>> n = 5; a = 5*eye(n) - 2*diag(ones(n-1,1),1) + 3*diag(ones(n-1,1),-1);
- Formats: >> help format
Useful formats are: format short, format long, format
Always use format compact when printing to save paper.
Don't confuse format compact with format short .
- Entering a polynomial: >> help poly
Finding its roots: >> help roots
Finding its derivative: >> help polyder
Evaluating a polynomial: >> help polyval
Multiplying polynomials: >> help conv
Dividing polynomials: >> help deconv
- Generating evenly spaced points for function evaluation:
>> help linspace
- Plotting: >> help plot
Multiple plots in the same window: >>help subplot
Last modified: Thu Aug 31 19:25:30 EDT 2017
[ home ]
[ Math 507 ]
[ classes ]
[ selected papers ]
[ selected links ]