Computing finite difference approximations for the first


Analysis of formulas derived from Taylor Series

The primary goal of the task is to have you write Python/NumPy/Matplotlib code for computing finite difference approximations for the first derivative of a specified function, and to plot these approximations along with the analytical first derivative. Your tasks will be to

- Write the code for the specified function, its derivative, and its string LaTeX format (so that you can put this in the plot title)

- Write code for functions to compute the forward, backward and centered finite difference approximations of the first derivative. I have provided you with code for the forward difference, fda_fwd(), so you simply need to emulate this for the correct backward and centered finite difference approximations.

- Plot the three approximations as well as the true first derivative curves. Again, I have gotten you started by plotting the forward difference curve and the true first derivative curve. You should enhance the plot by adding your name and the stepsize to it, as I have illustrated in the following graphic

Once you have this working with the function that I have given you, you should prepare your deliverables by explain in GREAT DETAIL how the Python functions are working. I want you to convince me that you understand all the details of exactly what kinds of values and structures are being passed into the functions, what kinds of values and structures are being used locally within the functions, and what kinds of values and structures are being returned from the functions. Likewise, you should explain in detail the plotting functions being used. The point of this step is to insure that you fully understand the foundations of NumPy and Matplotlib and how they are being used in this code. This step is very important. Don't take it lightly. I've given you a lot of code without making you figure it out for yourself, so you should take the time to fully understand and explain it.

Project proposal

As stated in the syllabus, a final project, worth 20% of your grade, is expected. I am usually hesitant to suggest topics to students because I would prefer to see you pursue projects that YOU have decided that you are interested in. This is an opportunity for you to explore a new area at relatively low risk.

Your project may be any one of, or combination

- An in-depth report of an area of scientific computing that you find interesting and would like to know more about. This would be in the form of a formal report surveying peer-reviewed literature.

- The creation of an instructional module consisting of background, lecture notes and solved assignments for an advanced topic beyond that which is presented in this course. If you do this, I would appreciate your permission to use it in a future course if I want, but that's not a requirement. This might also apply to exploration of certain Python modules that aren't covered in class, that you think might be useful to future students.

- A software project - build, document and demonstrate a software tool of your creation that helps in some aspect of scientific computing
- I think there's a very interesting future in "scientific computing as a service" (following on from the Software as a Service - SaaS - paradigm). It seems that a lot of you have interests in web programming. If you feel like you have the skills, you might consider setting up a web service in your VM (or an AWS VM) that performs some kind of scientific computing services. There are relatively easy-to-use Python-based web services (e.g. Flask, CherryPy) as well as Django, but there's still a learning curve with these.

Ultimately, at the end of the semester you will be expected to submit a detailed, comprehensive report on your project, with meaningful examples and demonstrations where applicable.

For this Assignment, you should suggest in some detail what you would like to try as a project in this course. Ideally, you should provide

- Background - what you know about the topic, citations to information that you have looked at before proposing the topic, etc. This section should explain why the topic is interesting, challenging and important to you

- Proposed work - explain what deliverable you propose to turn in at the end of the semester. Consider using some variation of SMART Objectives as you think about this funding proposals often request this kind of thing

- Explain the intermediate milestones you will pursue towards the final project, and when you plan to have each one done. Explain why you think you will be capable of meeting these milestones, and express any fears or concerns you might have about particular areas.

Attachment:- Assignment.rar

Solution Preview :

Prepared by a verified Expert
Python Programming: Computing finite difference approximations for the first
Reference No:- TGS02880567

Now Priced at $50 (50% Discount)

Recommended (95%)

Rated (4.7/5)