Numerical Methods Project

Numerical methods provide a way to compute (approximate) values of solutions to differential equations, even when we cannot solve the equations exactly.  The drawback is the large number of numerical calculations required to obtain a desired value and level of precision.  In this project, you will use technology to implement the various numerical methods and use your technological solution to solve differential equations problems.

MAT 2680 Project

(Parts I-IV due Monday, April 3rd, 2023)  Use technology to compute approximate solutions to your assigned initial value problem using Euler’s Method, the Improved Euler’s Method, and the Runge-Kutta Method.

Initial Value Problem. Your project will be based on the initial value problem provided in the WeBWorK assignment NumericalMethodsProject.

Part I: Use technology (see “Technology Options” below) to approximate the solution to your Initial Value Problem using Euler’s Method, the Improved Euler’s Method, and the Runge-Kutta Method. See “Project Requirements” below for more details.

Part II. Find the exact solution $y(x)$ to the Initial Value Problem and use it to determine the value requested in the problem. Round your answer to 8 decimal places.
Type or write your answer to this part and submit it with your project.

Part III. Compare the exact value obtained in Part II to the three numerical approximations obtained in Part I. How many correct decimal digits did each method produce? Which method was the most accurate?
Type or write your answer to this part and submit it with your project.

Part IV. Reflection.  Write one or two paragraphs (minimum 300 words) responding to the following.  Leave your response to this part as a comment on this post.

  1. Describe your project and how it works.
  2. Describe the process of building your numerical methods calculator.  What kind of technology did you decide to use, and why? Did you encounter any unexpected challenges in completing this project?
  3. Why do we need numerical methods in addition to the other methods studied in the class?
  4. Why is this assignment included in the class (instead of just computing the various methods using a calculator)?
  5. Please include a link to your project (if it is online), or clearly state that you will be sending me the files by email (and don’t forget to do it!).

Technology Options

You can choose your technology tool for this job – use any one of the following:

  1. a spreadsheet (Excel, Google Sheets, or other spreadsheet)
    • if you choose to create a spreadsheet, you should have columns for$x, y, f(x,y)$ , and so on, and each stage should appear in its own row (See Project Requirements below for more details)
    • HOW TO SUBMIT: If your project is a spreadsheet, either share it with me (if it is in Google Sheets or a similar cloud-based platform), or email the file to me as an attachment.
  2. a programming language (Java, Perl, or other programming language)
    • if you choose to write code, your program should output the values of $x, y, f(x,y)$ and so on at each stage (See Project Requirements below for more details)
    • HOW TO SUBMIT: If your project is code, please submit it using an online coding site like ideone.com â€“ once your code is working on the site, you can simply submit a link.  If you are using a programming language not supported by ideone.com, you can email the source code to me (for Python, try this site).
  3. mathematical software (MatLab, Maple, Mathematica, or other mathematical software)
    • if you choose to use mathematical software, your program should output the values of $x, y, f(x,y)$ and so on at each stage (See Project Requirements below for more details)
    • HOW TO SUBMIT: If your project uses mathematical software, either share it with me (if it is in MatLab Online or a similar cloud-based platform), or email the file to me as an attachment.

Project Requirements

  • Your solution must be able to carry out Euler’s Method, Improved Euler’s Method, and Runge-Kutta (you may implement these as three separate spreadsheets or programs if you wish).
  • Your solution should display all the points $(x,y)$ found along the way, not just the final point.
  • Your solution should also display other values found while carrying out each method:
    1. Euler’s Method: display the slope $f(x,y)$ at each stage
    2. Improved Euler’s: display the values of $k1, k2$ at each stage
    3. Runge-Kutta: display the values of $k1, k2, k3, k4$ at each stage
    4. You can display other values as well, if you wish (for example, the intermediate y-value in the Improved Euler method that we refer to as $z$).
  • Your solution may NOT use any built-in version of these methods (for example, most mathematical software contains a built-in command for Euler’s Method – you can use this to check your work, but you need to create your own solution).

Test Your Project

Test your project.  Data for the first few stages of calculation using each method can be found in WeBWorK.

28 Comments

  1. Edmond Lee

    My project uses excel to solve the numerical methods; Eulers Method, Improved Eulers Method and Runge-Kutta Method. I decided to use excel since it is a technology I am familiar with unlike mathematical software or a programming language. My project works by inputting the given x and y value and using formulas to solve for k, z and y values. I do not have to find the x value since we know that each step is going up by 0.07 so we add that number to the starting x value which was given to us. In the end after all the formulas are inputted to find the next x and y value excel is capable of solving these equations up to the desired end value which is 1.22, this gave us approximately 1.042595 for Runge-Kutta Method. One challenge that I had while doing this project was finding the exact solution because I made an error when plugging in my given x value. I accidentally kept one x value as if it were a constant which messed up finding the final value of y(1.22). Eventually I was able to find the error and solve for y(1.22) which was 1.04260538. This value was close to my numerical methods in my excel sheet which showed me that this was the correct answer.  Numerical Methods are studied in class as a way to understand how data can be used to predict how events will turn out. Numerical Methods can be used to see how objects may move, like rockets discussed in class or how fast objects can heat up over time. I believe that this assignment was assigned to the class so that we could learn about the other methods that are used to compute numerical methods since computers are more capable than humans at solving math problems. This project gave us insight on how numerical methods are used in modern times and made me think about what else numerical methods can be used for. I will be emailing you the files for my numerical methods project. 

  2. Kevindra

    The purpose of this project was to explore different Numerical Methods which are techniques used to approximate the solutions to problems that cannot be solved analytically. Either they are too complex, the exact solution is unknown, or they are no methods yet on how to solve them. For this project, we used a problem that can be solved analytically using differential equations so that we can verify our solutions and determine the accuracy of the various methods. During this project, we utilized three Numerical Methods they were, Euler’s Method, Improved Euler’s Method, and Runge-Kutta Method. While building my Numerical Methods calculator I chose to utilize excel because it displays the calculated data in a simple, neat, and presentable manner. My project works by entering the formula, initial condition, and step size into the correct cells then drag cells to update the sheet. Once those values are changed the spreadsheet will compute any problem. While creating my Numerical Methods Calculator I did encounter a few unexpected challenges. Although I carefully followed my notes and inputted each equation with every step. My unexpected challenge was with the Runge-Kutta Method since it has a multitude of steps compared to Euler’s and Improved Euler’s Method. The equations inputted were correct however some of the cells that were dependent on other cells were in the incorrect sequence. After I selected the correct cells, the problem was rectified, and all the numbers aligned with the sample table given in webwork. This assignment was included in class instead of just using a calculator because it allowed us to create our own calculator utilizing various means and use differential equations with methods that are frequently used in the real world by engineers, physicists, etc. These methods are used for but not limited to approximate outcomes from physics simulations for fluid dynamics, quantum mechanics, to aerospace to improve the accuracy of projectile motion simulations with drag. For these applications based on the data from my report the Runge-Kutta method is vastly more accurate than Euler’s and improved Euler’s method. Also with these Numerical Methods, there are an extensive number of steps, we must keep track of and numerous digits after the decimal point for the approximation to remain accurate and humans are prone to make mistakes while completing these calculations by hand. While using technology once it is programmed correctly it is great at repeating the same rigorous steps over and over with incredible accuracy while taking milliseconds for calculations that could take a human several hours to complete. I will be submitting a PDF of the report along with an excel file.

  3. Orel C Shimoonov

    (excel file and word file will be attached in an email)

    Part 3 compare:

    Comparing the exact value obtained in Part II to the three numerical approximations obtained in Part I, we can count the number of correct decimal digits produced by each method. Euler’s method produced 4 correct decimal digits, Euler’s improved method produced 5 correct decimal digits, and the Runge-Kutta method produced 6 correct decimal digits. This means that the Runge-Kutta method was the most accurate among the three methods evaluated, as it produced the highest number of correct decimal digits. Although Euler’s method had the largest error, it is still a useful method for approximating the solution of differential equations due to its simplicity. However, for this particular problem, the Runge-Kutta method was the most accurate numerical approximation method having 6 correct decimal digits.

     

    Part 4 reflection:

    1)   In this project, Excel is used to calculate the differential equation y’ = 7x – 8y. The calculator works by calculating each individual step at a time, where the values for x, y, yi+1, K, k1, k2, k3, k4, z, z2, z3, z4, h, n, and n are computed. These values are then used to generate an approximation for the differential equation. To find the point y(1.16), three numerical approximation methods are applied, including Euler’s method, Euler’s improved method, and the Runge-Kutta method. The results obtained from these methods are then compared to the exact solution of the differential equation. The number of correct decimal digits produced by each method is counted, and the most accurate method is determined.

     

    2)   Building my numerical methods calculator using Excel was initially challenging, as I encountered some confusion with the initial calculations required for the project. However, once I was able to overcome this obstacle, the process became significantly smoother and more manageable. Despite the initial difficulties, I found that utilizing Excel as my primary technology for this project ultimately proved to be an effective and efficient choice, and I was able to successfully apply various numerical approximation methods to calculate the differential equation with a high degree of accuracy.

     

    3)   numerical methods allow for a degree of flexibility and adaptability in solving differential equations, with a wide range of different algorithms and techniques available to accommodate different types of problems or data sets. This flexibility and adaptability make numerical methods an essential tool in the modern-day engineer’s toolkit, allowing for more accurate and efficient solutions to a wide range of complex real-world problems. Using these methods can also be a lot quicker than trying to find the exact solution for every given point of a differential equation because we can end up with a curve that lets us see more points on a graph sooner that we would solving for the exact solution every time.

    4)   This assignment is included in the class to develop a deeper understanding of the underlying mathematical principles behind numerical methods for differential equations. By constructing a numerical methods calculator from scratch, students are forced to grapple with the fundamental concepts of numerical analysis, including approximations, error analysis, and algorithmic design. Furthermore, this assignment provides an opportunity for students to develop their technical skills in using computational tools such as Excel or MATLAB. By working with these tools to compute the various numerical methods, students gain valuable experience in using technology to solve complex problems. Finally, this assignment helps students to develop critical thinking and problem-solving skills that are essential for success in any technical field. Through this process, students learn how to analyze problems, break them down into smaller components, and develop effective solutions through a process of trial and error.

  4. Jonathan Pavel

    The purpose of this project was to see if I can get a computer program, in this case, Microsoft Excel, to calculate an approximate solution to a differential equation using the three primary numerical methods we have learned in this class. I chose Microsoft Excel because it was the easiest for me to figure out as I have no programming expertise or knowledge. Numerical methods help us find approximate solutions to differential equations that are otherwise difficult or near impossible to solve using regular methods. Numerical methods can’t truly solve a differential equation, but they can get approximate values that get ever more accurate with more and more steps taken. The main issue with these numerical methods is not their complexity however, it’s the long repetitive process of calculating the many steps that makes it tedious and error-prone to do by hand. Therefore, once people figured out how to program computers to calculate these methods, our accuracy and productivity in solving differential equations skyrocketed.

    Today, we have many computer calculators that are set up to solve differential equations using numerical methods (usually one of the Runge-Kutta methods). We can easily use a calculator program to help us with the many real-world applications that differential equations can manifest in. Why then do we even have to learn differential equations or even how to set up a computer program to solve them if it’s already done? Basically, there are many things in our lives, especially in mathematics that can easily be done with technology these days. We have calculators to solve most types of standard mathematical problems, and yet we still spend time in elementary school, high school, and college learning all the principles and bases of the mathematics we use. We can’t usefully apply mathematics to our daily lives with calculators if we don’t know the theory and rules behind it. We must learn the background and minutiae of differential equations in order to use computers later on to solve it the easy way. On top of this, it is very helpful to know how the computer thinks in order to better understand how to program it to do even more complex mathematical processes. This is why we have done this project even though programs are readily available. Now that I’ve done the nitty-gritty of building a program to perform the numerical methods, I can more easily understand the process that more streamlined programs use.

    *the rest of my write-up is the process of how I did the project and the results. It’s all in the word doc I sent to you, Professor Reitz. Don’t see a point in adding that stuff to this comment.

     

  5. Willian Lee Feng

    My project uses excel to calculate the approximate answers to differential equations using formulas in each excel cell. The calculator uses formulas to solve differential equations using Euler’s Method, Improved Euler’s Method and the Runge-Kutta Method. I used Excel to create my numerical methods calculator because it was the only program I was familiar with enough to be able to complete the project in time. The other ones like using python or scratch are foreign to me and those would take more time than I had to complete. The first thing I did for the project was read the instructions and look at the examples. I didn’t know how to start until I saw the example given. After inputting the given numbers, I started to work on the formulas. I looked at my notebook for the formulas and plugged in each variable. One problem I encountered was using the $. I wanted to use the step size value in the top left, but the calculator wouldn’t work until I referred to the value as B$3 instead of just B3. We need numerical methods in addition to other methods studied because it makes us familiar with the process and calculations of using the formulas and concepts given in class. We also become more familiar with big decimal numbers to find the most accurate answer. By understanding different methods to get the same answer, we train ourselves to find solutions to difficult questions by thinking out of the box. This assignment is included in the class, so we further understand the concepts of Euler’s Method and Runge-Kutta Method. As we build our numerical methods calculator, we must truly understand each step before writing down the code or formulas for each step. By working on the formulas for each step, we become comfortable with these methods which require careful tracking and compartmentalization of different numbers and answers. 

  6. Frederick De Leon

    Parts (1-3) I emailed to you.

    Part IV (Reflection):

    My project simply goes through each step of Euler’s Method, the Improved Euler’s Method, and Runge-Kutta Method using the given differential equation and initial condition. The differential equation used for the project was y’ = 6x – 7y, with an initial condition of y(2.2) = 0.1 and a step size, h = 0.08, and y(2.68) was the point that had to be found. The technology I used to make the Numerical Methods calculator was Java, I used Java because I wanted to get more comfortable programming in Java since it’s a language I don’t use very often and I wanted to get better with it. I ran into some unexpected challenges with this project in trying to get Java to do what I wanted it to do, and it was also a challenge trying to keep track of everything for the Runge-Kutta method especially. But luckily I was able to deal with and work around these issues and everything else went smoothly enough. We need numerical methods in addition to all the other methods we have studied in class because it allows us to solve problems that would be impossible through other methods, also it only makes use of addition, subtraction, multiplication, and division to do so making calculation simpler for a computer to do. This assignment is included in this class because it helps give us a deeper understanding of these three numerical methods, and how they function. I will be sending you the files for the project by email. 

  7. omar Jaber

    Part 4-

    My Project went well, Matlab was used to solve the numerical methods, 3 Matlab codes were maded to calculate Euler’s Method, Improved Euler’s Method, and Runge-Kutta Method. The output I received from the Matlab script was for the Euler’s Method, I received 1.5667. For the Improved Euler’s Method, I received 1.5275 and for the Runge-Kutta Method I received 1.5301. The Euler’s Method only had one Correct decimal place compared to the actual answer that was 1.53013043. The Improved Euler’s Method produced only one correct decimal place compared to the Euler’s Method. The Runge-Kutta Method Produced 4 correct decimals compared to the actual answer. When do the Exact Solution I ran into error’s every time I would finish calculating I would receive a completely different answer compared to numerical methods, I kept making a minor Error, which I realized on the fourth attempt at it. I decided to use Matlab because I was familiar with it and overall, Matlab is a powerful tool used for scientific and engineering due to how easy it is to use it. We need Numerical Methods in addition to the other methods because Numerical Methods are essential for many applications in engineering, science and mathematics. Engineer’s use numerical methods to analyze complex structures, simulate fluid flow and optimize designs. In science, numerical methods are used to model physical systems, simulate experiments, and analyze data. Numerical methods can be used to test the accuracy and validity of the solutions you receive by providing a numerical approximation of the problem. This assignment is included in this class to give use a better understanding in how problem-solving skill is important in Math and our daily lives, we learned hoe to take a complex problem and break it down to create effective solutions based through trial and error.

    *I emailed you my project through my private email

  8. Pamela Barba

    in this project I used excel to solve the Eulers Method, Improved Eulers Method and Runge-Kutta Method. I decided to use excel fo this numerical project because l am familiar with it and it is more simple to do then the other technical methods. This is how the project works in excel, the given x and y value in this project is inputted into the formulas to therefore solve for k, z and y values. Since we know that each step is going up by 0.05 we just add that number to the initial x value that was given. After inputing the formulas to each row to find the slopes and the next points for the x and y value, then excel is able to solve the equations up to the x-value 4.4, which for the Runge-Kutta Method it gives us the y-value of 9.48787533. A challenge that I had when completing this project was when finding the exact solution because there were a lot of error when solving for the equation y prime equal -2y plus 9x and then another challenge was when plugging the given x value. But afterwards I notices that I didn’t include the exponent 8.8 to the equation in order to get the value that is exactly the same as my numerical methods value in my excel, which determines that my values in excel for runge kutta is correct. The reason why Numerical Methods are important is because it is a way to understand how the data can be used to get the exact answer and it makes it easy to compare solutions. Numerical Methods are also used in real life, for example it is used to estimate the Ocean currents as in says in google but it is also used by mechanical engineering to get an exact value for their models. This assignment was assigned so that we can have an understanding of how numerical methods works and how the outcome result is to therefore see that how approximately close they are to each other by using the three methods, But also to see that Runge Kutta method is a more exact then the other three. I will be sending the project through email.

  9. Ray Cort

    For my project, I decided to use Excel. Even though I am now learning to use Matlab, I felt that organization would be more important in this project. Using Excel’s already-installed rows and columns made it easier to keep track of values and calculations. In my project I tried to keep all my values and calculations used for each set to be contained within the same row and to move from left to right, building upon each other. Each column with the sequence was used for a specific formula. I believed this would make it easier to spot mistakes and fix them as well. The great thing about Excel is that you can take values and/or functions you already have set in your spreadsheet and use it within a different area by naming their coordinates. This made it easy to substitute values and keep working. This also allowed me to create a simple loop after solidifying my first set of calculations. 

    Numerical methods are important because they can provide tangible answers to complex differential equations/problems. Even when dealing with first-order differential equations it can get complex and sometimes it’s easy to make a mistake. Some equations are yet to be solved, however, methods like Euler’s method or Runge-Kutta can provide very close approximations with many simple calculations. Through this project, we can see that the ideas and steps behind Runge-Kutta are not hard to understand and follow in practice. This shows that we can solve higher-level math problems by implementing many of the simple practices we have learned before. I think this project is a valuable assignment for the class because it exposes us to useful tools that we can use to solve real-life scenarios. At the beginning of this project, it was explained that NASA scientists had to use these same numerical methods to track a spacecraft. So in a way, you get a taste of the job. 

    (I will be sending my files through email)

  10. Nigel Sukhnandan

     

    My project uses the coding language python to create a calculator that uses Euler method, Improved Euler method and Runge kutta method to solve the given problem. First, I solved for the exact solution and that came out to be y(2.98) = 2.20440151. Then I solved for one of the provided answers y(2.66) to make sure I did the problem correctly. I decided to use python because it is a coding language, I’m somewhat familiar with. I have more experience with it than Matlab (and like it more) and I just decided I want to use python over excel. I hard coded my specific problem into the code, first I make a function of the equation so that way I can use it for all three methods. Then I made a function of each method starting with Eulers first I had to set the initial x and y values then we can start the loop function which looped through Euler’s method for every step size until it reached the set x value. It is the same set up for all methods, but I had to reset the initial x and y values and the step size before I the code went through the next methods because the values were changed. In the functions for all the methods I just coded the arithmetic to solve each method also I put each x and y value in a list so by doing print(y[3]) you can get the 3rd value of y for said method (list start from 0 but the 0th term is the initial value). I had difficulty with writing the code for the arithmetic and rounding, I had to look up how to use the rounding function. 

    These methods are important because sometimes there is a differential equation we cannot solve, and these methods allow us to guess the next value we were looking for with various degrees of accuracy depending on the method. Usually, Euler’s is least accurate with the least amount of work and Runge kutta is most accurate with the most amount of work. Using a computer to do these calculations is way more time efficient and more accurate since we can use any step size and method we want. We are doing this project in class to understand the theoretical concept of these methods as well as how we can implement these methods into a computer so that the computer can do the work for us. This project really shows us the power and speed of using a computer to solve these types of problems. My answers and code is in the link.

    NumericalMethodsProject

  11. Raymond Manaf

    For this project i decided to use excel. personally, excel is the one that I am one most comfortable using.

    Starting with the usual Euler’s Method, I first wrote down the Xi and Yi of my equation, and then the y = 5x-6y. After that I make a table on excel and added i,h,xi+1,m, and yi+1 on it. h and xi+1 are mostly given. h is 0.04 and xi+1 is 1.4 +0.04 every time. for m, i used the formula 5*(xi+1)-6*(yi+1). for yi+i, I used formula the previous yi+i + (m*h).

    The difficulty of this project for me was finding the right formula to placed it on the correct tables. I messed up a ton and finally after multiple trial and errors I completed the Euler’s method table. I then used similar approach to finish the Euler’s Method Improved. I used Z instead of m this time, and I added k1 and k2 to the equation. the final formula for the y1+1 is the previous y1 + h(k1+k2)/2 . This is also confusion to built at first because the order of which the numbers must be computated is not clear. Do I compute Z first or k2 first? I didnt know at first, but after multiply tries I got it right and perfect.

    For the Runge Kutta, this one is pretty straight forward to me as I just follow the formula from my note book and plug in k1, k2, k3, k4 and for the yi+1, the formula is y1+ (k1+2k2+2k3+k4)h /6 .

    For part 2 and part 3, I used online website to find the actual answer for the Euler’s method and Runge Kutta. contrary to my belief, my Euler’s method answer is the same as the actual answer on the website. meanwhile, my Runge Kutta answer is slightly off from the website’s answer. I do not know which one is the actual correct one.

    We need numerical method in addition to other methods because we can use this method in case we cannot find an answer the original way, so we find the closest answer to it.

    This assignment is included in this class probably because we need to be able to compute and make the system ourselves. so in case we needed it, we can do it.

    I will be sending the files to your city tech email professor.

  12. Louis Carbone

    My project uses java to solve and calculate a differential equation using three different numerical methods. These methods include Euler’s method, the Improved Euler’s method, and the Runge-Kutta method. We have to use these methods because some problems become too complicated and cannot be solved analytically. With the help of these methods, those problems can become solved and give a fairly accurate answer depending on which method you choose. 

    The process of building my numerical methods calculator was relatively simple for me because I have a lot of experience with programming. I decided to use java because I am currently taking a java class so it is fresh in my mind. I did not encounter any unexpected challenges, however, I did change my approach when trying to code the calculator. I wanted to make it automated with a little amount of code controlling the calculator. After many attempts, I decided it was easier to just hardcode the methods as I can confirm my calculations were correct along the way. While this took more time, I felt that this helped me to further understand these methods better.

    This assignment is included in this class because it is important to understand the background and theory of these methods. These methods aren’t just random math problems made for a class in college, they are used by mathematicians, physicists, and engineers all over the world to calculate real life problems. They are used in many different fields for many different reasons. I also believe that by having to construct a calculator using software helps us to further understand these methods better. You would not be able to complete this project without a good understanding of these methods and the reasoning behind the steps inside of them. Using software helps to show us how many different ways there are to complete these sometimes hard and grueling problems. I am glad to have taken part in this project because I feel like I have gathered and learned so much information from it.

    (I will be sending files by email)

  13. Shayanna Nicholls

    I’ve written 3 separate MATLAB scripts to crunch the numbers needed to find the approximated value of y for a given equation with a specific step size via the Euler’s Method, Improved Euler’s Method, and Range Kutta Method (4th degree). They can be minorly tweaked to solve problems in the same format with differing values and can produce results much faster than a manual option.

    I chose MATLAB as my medium because my initial goal was to create a function with a prompt line and use a looping function to have the software churn out the answers with minimal scripting and because it is easier to remedy than an excel spread sheet. However, things didn’t go as planned: though I have taken a class for MATLAB and it there are forums online for help I couldn’t find a way to do what I wanted it to do. For instance with looping a function (having a function run repetitively for a certain or indefinite amount of time) MATLAB needs some specific variable and instruction Syntax that I’m deeply versed in and this proved to be a major pain. Luckily MATLAB isn’t impossible to work with and I was able to make a reliable albeit repetitive script that does the job regardless.

    I think the main reason that numerical systems has been included in the curriculum is to prove two things, not everything has been figured out and that everything can be figured out. The method’s we studied were designed to solve ‘impossible’ ODE’s and they work well, but at one point the problems were believed to be unsolvable so also serves as proof that there is a solution to every problem the trick is finding a method to it.

    The project is included within the class to solidify what we’ve learned about the methods and to challenge the idea of difficulty. In my experience there’s no way I’m forgetting any of the methods I’ve had to script, it was grueling to get the answers exactly right via my method so I think it’s a case of practice makes perfect and a stronger foundation. However I also think it was pretty fulfilling when I was finally able to get that 1000th of the decimal place right, who knew rocket science was so easy, right?

    I’ve sent an email with the scripts.

  14. Justin

    I have emailed my project. 

    The purpose of my project is to use Matlab, a software that I have a good familiar understanding with, and compare that with handwritten numerical methods for solving differential equations. Matlab is pretty efficient with numerical methods and can easily give the results on a graph and a table even. The code in Matlab works by taking any given differential equation that can be written within the code with other parameters such as the initial conditions and step size, this makes the project versatile as it can be used not only for the given question by WeBWorK but any other differential equation. The process of building the calculator for the numerical methods heavily involves the Matlab software, this is a software that I have mostly decided on because I did not think of anything else to use other than this, nor do I think the other choice I would have thought of would be as efficient as Matlab. I have experience with Matlab from prior courses so I did not expect any issues other than small mistakes as variable names not matching up as they should be. I feel that we needed to learn the numerical methods material because of the involvement it has with differential equations, along with finding the most accurate approximation that we wouldn’t be able to find on paper, but also because differential equations have many different answers and that is evident from putting one into a program like Desmos and getting a graph from that one equation. This assignment is included in this class as a way to give us the opportunity to include what we have gained from our other courses in a tech focused college, and incorporate it into this course, with many students having different experiences with coding and using different methods that can process the numerical methods and giving the correct answers. The perfect example of this is as said before, where I have prior experience using Matlab and I got used to using it for other projects.

  15. David John-Charles

    Part I – Program

    Euler’s Method: y(5.82)=2.53771753

    Improved Euler’s Method: y(5.82)=2.44511222

    Runge-Kutta Method: y(5.82)=2.43924200

    Part II – Calculate 

    y(5.82) = 2.43857133

    Part III – Compare

    The closest estimation from the numerical methods shares 3 digits with the exact answer (it could be 4 if we were to round that fourth digit). I suspect the lack of accuracy could be as a result of minor calculation discrepancies with the google sheet. The Runge-Kutta method was definitely the most accurate.

    Part IV – Reflect 

    I set this project up on Google Sheets, having used it before to keep track of money and track elapsed time between major events. I created a sheet for each method and programmed each of their steps into successive cells in the spreadsheet so that each step was separated by column and each run by row. I listed the given information on the side (like the step size, and initial and final x) and had the cell formulas reference them. Once all steps were laid out for each method, I was able to review the results each step yielded, and compare it to the values listed under “test your project” to ensure that everything was running smoothly. If for any reason I would like to examine the coordinates of a different point, or adjust the step size, I could do so by adjusting the given information on the side, and since the formulas for each step directly referenced it, they would all automatically update to the value according to the adjusted given information.

    Solving differential equations to obtain an exact answer (analytical method) is only possible with the presence of all the right givens. Without those givens, obtaining  an exact answer is near impossible. And unfortunately, in real-world scenarios, that is usually the case. The lack of necessary information to solve for the several unknowns and find our exact answer leaves us to lean heavily on numerical methods as our only possible means of getting, if not an answer, at the very least a reasonably close approximation. They’ve been apparently used before to approximate the trajectory of a projectile that could not be directly observed, which is most useful in the aerospace field where unfortunate circumstances could render tracking equipment useless. At least in those situations the individuals involved will not be completely hopeless thanks to the availability of numerical methods.

    Computing the various values given and requested in this project with a calculator would not have yielded the same results as the calculators we instead worked to develop. Through our programming, troubleshooting, and confirming we became more and more acquainted with the three given numerical methods. If we were to have done the same via the use of a ready-made calculator, we would not experience that same effect, wherein lies the value of this activity.

    I will be emailing you a link to my google sheet and a pdf of this response.

  16. Sumya Sultana

    The goal of this project was to learn about different Numerical Methods and create a computational program to solve these problems as they can often be too tedious to solve by hand. We were given problems that would also be able to be solved by hand so that the program’s accuracy could be verified. In this project, we closely observed Euler’s Method, Improved Euler’s Method, and Runge-Kutta Method and were directed to build a script or spreadsheet that could solve these complex problems using a technological program of our choice. I chose to use Excel because I am most familiar with it. On Excel, I first adjusted the standard function on Macros > Visual Basic Editor to the function I was assigned to on WebWorks. I also incorporated separate cells for the initial x and y values so they could be adjusted for different initial conditions. When these values are adjusted, the spreadsheet will update to the correct calculations for each problem. Throughout this process, I had to troubleshoot after each step as using Macros meant I needed to adjust every sheet to ensure that the correct function was being called, or else there would be errors if two sheets conflicted in values. My biggest challenge was creating the Runge-Kutta spreadsheet since it has many more steps than the first two methods. I had an issue where calling the function I entered in the Macros visual editor kept resulting in errors. I was able to fix this by starting a new sheet and repeating the steps carefully and the spreadsheet finally worked and aligned with the WebWork charts. I believe this assignment was included in class because it allowed students to carefully go through each step of each numerical method and understand the process of accuracy driven calculation. Numerical methods are essential to calculative measures used by aerospace engineers in fluid, flight, and thermodynamics to test and observe the accuracy of the drag component in flight. I can conclude that the Runge-Kutta method is the most accurate method due to the extra steps and calculations required to achieve a result that cause it to closer to the exact value. These additional steps guarantee more accurate conclusions, however, can be difficult to track and repeat by hand, which makes a program that can solve these problems in seconds both beneficial and more accurate. In addition, solving tedious problems and solving problems with an abundance of decimals is prone to human error. A reliable calculation system created by code, MATLAB, or Excel can all reduce the time needed to solve these methods exponentially while guaranteeing accuracy. By building a calculator, students can critically analyze approximations, error, and troubleshooting to problem solve. This builds critical thinking skills that can benefit future classes for students interested in programming, complex math, or aeronautical engineering. 

    ** I will be emailing you the Excel file for my project **

  17. Maya Papayan

    Numerical Methods Problems require a lot of precise and repetitive calculations. Humans are not very good at this task, as we make mistakes and spend a lot of time doing all these calculations. Computers do a much better and faster job in this case. For my project I was given an initial value problem y’ = 6x – 7y, with initial condition y(5.4) = 0.6 and final value y(5.88). I chose to write code to solve the numerical methods in Python programming language. I decided to stick with Python because this programming language is easy to read and understand even for someone who has no connection to programming at all. In addition to that, coding environments for Python are free and easy to access, so potentially anybody can use and modify my code up to their needs. Writing a code for the problem was not an issue for me, I am proficient in Python and I was able to implement the formulas for numerical methods computation learned in class into my code. The small obstacle to overcome was the final part of solving the Exact problem. When substituting x values into general and particular solutions, I made some mistakes, which resulted in the wrong final value. I spent at least 30 minutes trying to figure out my mistake. This proves that numerical methods problems are solved much better and faster by a computer.

    We need numerical methods because some problems cannot be solved analytically or through other methods. They simply do not have a solution (traditional methods of solving either give wrong or incomplete answers). Therefore, we need to guess the solution. And to do our guess accurately, we use different numerical methods, based on how accurate our outcome should be. This assignment is important because it allowed me to see how easily I can make a mistake in calculations. The mistake can be crucial if we have 10 or more steps to compute because each step is based on the previous one. In addition to that, I was able to implement all the formulas learned in class and better remember them by writing them into the code.

    NOTE: I will be submitting PDF file with the code link and Parts I-III via email.

  18. ruimingchen

    I use Excel to calculate Euler’s Method, the Improved Euler’s Method, and the Runge-Kutta Method because excel is a software I am familiar with and can use flexibly. My equation on webwork is dy/dx=3x-4y , y(3)=0.1, find y(3.42). In Excel, I filled the table with the information that I already have, which is i, h, the first number of x_i is 3 and the first number of y_i is 0.1. Then use = to enter the equation. For example, in Euler’s Method, we need to use k to find y_i+1. The equation of k is 3(x_i)-4(x_i), in Excel, I enter =3*(C10)-4*(D10) to get the result, when I finish inputting the equation, I move the mouse to the bottom right corner of the grid and pull down, so that Excel will automatically help you use the same equation to calculate the rest of result.

    I didn’t meet many challenges for the part using Excel. However, I met challenges in part 2, I have no problem getting the general solution of the differential equation, but I get a problem when I plug in the y(3)=0.1 into the general solution because I calculate part to part until the end of find y(3.42)= . I get 2.3…… for the result, it is looking not comparable with those three methods. So, I decide to use the online calculator to help me calculate the final result, I get 2.01174107 and it looks comparable at this time.

     We need these methods because sometimes there will be differential equations that cannot be solved. At this time, we can use these methods to guess the next value, and through continuous loop guessing, we can get roughly close values.

    This assignment is included in the course to let us understand how to use these numerical methods in computer software and programming. We all know that numerical methods need repeated calculations to obtain results. If we calculate it ourselves, it will cost a lot of time. But if you use computer software and programming to calculate, it only takes a few seconds.

     

    For this assignment, I will send you the word.docx and the excel file by email.

     

  19. Pauline.Katindig

    Part IV – Reflection 

    For my project I used Google Sheets/Excel to find Euler’s Method, Improved Euler’s Method, and Runge-Kutta Method. I used Google Sheets because it is what I am the most skilled with. I also like how I can change the format of the sheet to make it look more appealing, as well as have the ability to increase or decrease the number or decimal places to the values.

    Before creating the tables to the numerical methods, I first looked at the problem and figured out what values I was working it. Using the values given, I was able to find the number of steps there was for the whole problem (value of n). Using that, I was able to determine how many rows I needed. I also made it easy for myself to have the value of the step-size, h, in a set box. I did this so that I can just memorize the location of that value. And if I needed to change that value, I did not have to change the value for all formulas. The value would automatically update for all formulas.

    Afterwards I added columns based on what variables were given and the ones that I needed to calculate in order to get the next value of y. For every numerical method each needed the columns for n, x, and y. Euler’s Method I needed to add a column for k. For Euler’s Improved Method I needed to add columns for k1, z, and k2. And for Runge-Kutta’s method I needed to add columns for k1, z1, k2, z2, k3, z3, k4, z4, and k. I also added the formulas needed for each numerical method so that I can determine the formula for each box. Once I input that formula, all I had to do was hold and pull that box to the rest of the boxes in that column, in order to apply that formula to the rest of the boxes. And then I would repeat those steps to the next column and so on. The only issue I had was that I needed to go back and fix the formulas for the step size. 

    This assignment was done in class in order to get the most accurate graph of an unknown function. Especially with the three numerical methods that we did in class, each gets more and more accurate. With the values gotten from the unknown variables, we are also able to see the trend and analysis of the data at each interval. The issue with a calculator is that the one calculating would need to go back and forth to find the values of each variable. It becomes too much work when dealing with many steps. Whereas in a computer, we can simply set up a program once and then continuously modify it to our liking. And we can add as many steps as we would like, and get the answer in less than five minutes. For example, in my Google Sheets I made the value of the step size (h) by itself. If I wanted to, I could change it and the values of all the other variables would update automatically. The same can be said for the values of x and y. And if I wanted to add more steps (n), I can just create more rows, pull down the formula, and do some little modification.

  20. Noarin Laima

    PART IV:

    Numerical methods calculators are essential tools in scientific computing, engineering, and other technical fields that involve solving complex mathematical equations. 

    The process of building a numerical methods calculator involves several steps which are so complex for humans to do. First, the equations that need to be solved are identified, and appropriate numerical methods are selected to approximate the solutions. Next, the equations are put into a computer using programming languages like Python, MATLAB, etc. Finally, the numerical methods are implemented in the code, and the calculator is tested and validated against known solutions. 

    In this project, I have decided to use MATLAB because we have been recently learning about it in our Computer Engineering classes. I have chosen this method because this programming language has a large library of built-in functions and toolboxes for various numerical methods, such as differential equations solvers, optimization algorithms, and linear algebra operations. This makes it easy to quickly implement and test numerical methods without having to write complex code from scratch. I have encountered syntax errors which is a common problem for beginners when writing code in Matlab. Even a minor syntax error can prevent the code from running properly or getting a result. Also, numerical methods are very time-consuming because I ran into some errors solving the differentiations and integration parts as well.

    Numerical methods are needed in addition to other analytical methods in order to solve problems that cannot be solved analytically or for which an analytical solution is too complex or time-consuming to obtain. Learning Euler’s method, Runge-Kutta method, and Improved Euler’s method are important for several reasons because they improved our knowledge of numerical analysis, and we also learn how to ensure that we are obtaining accurate results by solving these problems in class.

    This project was important because it allowed us to apply theoretical concepts to real-world problems and simulate complex systems that may be difficult or impossible to model analytically and it helped us to develop important skills such as problem-solving, critical thinking, and programming. It also helped us gain a deeper understanding of the underlying mathematical principles and also enabled us to develop solutions to practical problems in fields such as engineering, physics, finance, and medicine.

    I will be sending my other files via email.

  21. Daniel S

    Note I will share the Excel Spreadsheet through email.

    Part â…”

    The exact solution to the differential equation is 1.366208206 which comes closest to the Runge-Kutta method. With the Runge-Kutta method I got 1.366172697. This is 3 decimal places correct. With the other methods I got less decimal places correct. With Euler’s method I got only one decimal place correct and with the improved method I got 2 places correct. As we can see the closest and most accurate method is the Runge Kutta method.

    Part 4

    My Project was done through a google sheets spreadsheet which is closely related to an excel spreadsheet. These spreadsheets have a feature that is able to copy the formula from the previous line and implement it for the rest of the sheet. This makes it very helpful for us to not have to rewrite the formulas each time. I had several complications due to the format of google sheets. I forgot that I have to use “*” for multiplication instead of *()*. This made me have a major delay because I couldn’t figure it out. These methods can be used for multiple applications but for the most part they are used in engineering and to model real world physics. In my opinion this project is an interesting part of this class because we are able to use previous experience to be able to model complex equations that we can’t do by hand or might even not have a solution that is computed.

  22. jiajie Tony Hung

    For this project, I used an excel spreadsheet to carry out some methods used to calculate a differential equation with the goal of getting the answer simple and in fast way. Some methods I used on this project were Euler’s Method, Improved Euler’s Method, and Runge-Kutta Method. I decided to use excel spreadsheets because it was relatively easy for me. The reason is I had more experience and feel comfortable using it. They are very close to the answers I get from different methods, but the more accurate and precise is the Runge-Kutta Method. Also, Improved Euler’s Method is accurate compared to Euler Method. A few unexpected things came up were, one small thing when I was doing the Runge-Kutta Method. I had to figure out what is the formula and each step to calculate the final result I wanted. Another one is, it did not give me any values after I finished inserting the equation. Therefore, I went back to look at each step trying to find out where went wrong. I found I accidentally forgot to put the symbol $ in front of a number and in between. I have to be careful with the coding or when I compute the equation in the spreadsheet. This assignment is included in the class and not just computing them using a calculator because it is challenging to keep a note of each equation number. Here, we are working with many small numbers, and it is important to be on the right track otherwise we will end up getting the wrong result. Another reason is computers can do much better and faster than us. This might take hours to solve it by hand, but not on the computer. We can compute them and get the resolution in less than an hour. I will be sending 3 different links for the project by email.

  23. Tony hung

    For this project, I used an excel spreadsheet to carry out some methods used to calculate a differential equation with the goal of getting the answer simple and in fast way. Some methods I used on this project were Euler’s Method, Improved Euler’s Method, and Runge-Kutta Method. I decided to use excel spreadsheets because it was relatively easy for me. The reason is I had more experience and feel comfortable using it. They are very close to the answers I get from different methods, but the more accurate and precise is the Runge-Kutta Method. Also, Improved Euler’s Method is accurate compared to Euler Method. A few unexpected things came up were, one small thing when I was doing the Runge-Kutta Method. I had to figure out what is the formula and each step to calculate the final result I wanted. Another one is, it did not give me any values after I finished inserting the equation. Therefore, I went back to look at each step trying to find out where went wrong. I found I accidentally forgot to put the symbol $ in front of a number and in between. I have to be careful with the coding or when I compute the equation in the spreadsheet. This assignment is included in the class and not just computing them using a calculator because it is challenging to keep a note of each equation number. Here, we are working with many small numbers, and it is important to be on the right track otherwise we will end up getting the wrong result. Another reason is computers can do much better and faster than us. This might take hours to solve it by hand, but not on the computer. We can compute them and get the resolution in less than an hour. I will be sending 3 different links for the project by email.

  24. Marco Tenelema

    Part I: The technology I used was excel and will be submitting a separate excel file with this. I used excel because I am more comfortable with it.

    Part II: The exact solution y(4.74) to the initial value problem is:

    Exact = 3.39345058

    Part III:

    Euler’s Method = 3.53156402

    Exact = 3.39345058

    0 decimal digits correct

    Improved Euler’s Method = 3.37845515

    Exact = 3.39345058

    0 decimal digits correct

    Runge-Kutta Method = 3.39339811

    Exact = 3.39345058

    3 decimal digits correct

    Part IV:

    My project is numerical methods project. Meaning that we are given a differential equation with an initial starting point (x0,y0). And our job was to find y at a specific x point. My equation was y’=6x-7y with initial coordinates y(4.5)= 0.8. Need to find y(4.74) with a step size 0.04. now to find the answer there are three methods and we used all of them. They are “Euler’s Method”, “Improved Euler’s Method” and “Runge-Kutta Method”. They all give us a number but runge-kutta was the closest to the exact solution.

    So, for excel I wrote down the known numbers such as the equation, step size and initial coordinates. Then I made three separate tables and with each formula for the respected methods I used table numbers where the number are in my equation for excel to calculate it. for example instead of (6*4.5)-(7*0.8) I used (6*D8)-(7*E8) where those are the table where the numbers are. I luckily did not encounter any problems while constructing my calculator.

    Numerical methods is needed to solve problems quickly and easily compared to analytic solutions. Whether the goal is integration or solution of complex differential equations, there are many tools available to reduce the solution of what can be sometimes quite difficult analytical math to simple algebra. This project has helped me get a more understanding of numerical methods and its principle. Trouble shooting and using technology to help us solve mathematical equation rather than just looking up a built in software computer and just plug in numbers, we built it from scratch.

    • Marco Tenelema

      I will email the Excel file

  25. Marco Tenelema

    Part I: The technology I used was excel and will be emailing a separate excel file with this. I used excel because I am more comfortable with it.

    Part II: The exact solution y(4.74) to the initial value problem is:

    Exact = 3.39345058

    Part III:

    Euler’s Method = 3.53156402

    Exact = 3.39345058

    0 decimal digits correct

    Improved Euler’s Method = 3.37845515

    Exact = 3.39345058

    0 decimal digits correct

    Runge-Kutta Method = 3.39339811

    Exact = 3.39345058

    3 decimal digits correct

    Part IV:

    My project is numerical methods project. Meaning that we are given a differential equation with an initial starting point (x0,y0). And our job was to find y at a specific x point. My equation was y’=6x-7y with initial coordinates y(4.5)= 0.8. Need to find y(4.74) with a step size 0.04. now to find the answer there are three methods and we used all of them. They are “Euler’s Method”, “Improved Euler’s Method” and “Runge-Kutta Method”. They all give us a number but runge-kutta was the closest to the exact solution.

    So, for excel I wrote down the known numbers such as the equation, step size and initial coordinates. Then I made three separate tables and with each formula for the respected methods I used table numbers where the number are in my equation for excel to calculate it. for example instead of (6*4.5)-(7*0.8) I used (6*D8)-(7*E8) where those are the table where the numbers are. I luckily did not encounter any problems while constructing my calculator.

    Numerical methods is needed to solve problems quickly and easily compared to analytic solutions. Whether the goal is integration or solution of complex differential equations, there are many tools available to reduce the solution of what can be sometimes quite difficult analytical math to simple algebra. This project has helped me get a more understanding of numerical methods and its principle. Trouble shooting and using technology to help us solve mathematical equation rather than just looking up a built in software computer and just plug in numbers, we built it from scratch.

  26. Mahamad Keita

    For my project, I made a numerical methods calculator using google sheets. My calculator takes the values (x0,y0) and computing 6 iterations of the three numerical methods learned in class: Euler’s method, improved Euler’s method, and the Runge-Kutta method. The common values (initial values and h) are placed on top of the sheet, and every method, arranged side by side, draw from those values for their computations. Below all of that, the exact value of y(2.6) is displayed and how close each method came to this value. I was already familiar with coding on google sheets, as I had taken a course in high school that focused entirely on that, which is why I decided to use this method to create this calculator. The only challenge I faced in this project was making sure that I was coding things correctly, so that I get the right values. Even with a calculator, the numerical methods are tedious, the difference being that once the coding is done, you can just change the values and get the results for those (as long as we are still working with the same equation).

     

    The importance of numerical methods is that it allows us to estimate a curve that cannot be described by a differential equation. In real life we don’t have a lot of the nice formulaic equations that we study in class. The numerical methods are the only way to truly be able to estimate or calculate all curves. This assignment allows us to get a more in-depth understanding of the methods, and gives us an alternative to manually calculating them, which can save a lot of time and prevent errors that can come up in manual computations. I had already sent you the files, by email, for this project some time ago, just took a while to get around to typing up this response.

  27. Elliott S.

    Part III: Compare

    With each method, I discovered that the y(4.5) were:

    Euler’s Method: y(4.5)=3.6944264

    Improved Euler’s Method: y(4.5)=3.54480787

    Runge-Kutta Method: y(4.5)=3.642518395

    Exact answer: y(4.5)=3.568161365

    I found that the closest approximation turned out to be my Improved Euler’s Method. It shared 2 digits with my exact answer. I am completely sure that my Runge-Kutta method would have been the most accurate but due to the way my numbers computed throughout, it sort of threw off the accuracy. It did not exactly pair up with the given troubleshooting points although fairly close and in the same realm. It was only just a matter of estimation on certain decimals. So again, I am certain Runge-Kutta would have been the most accurate out of the bunch.

    Part IV: Reflection

    For this project, Numerical Methods, it is essentially the method to find points constructed from numerical values without any knowledge of the real equations or any real solutions. Numerical methods are applied in many aspects of everyday life in the fields of physical sciences. The project calls for the use of technology tools, I chose to go with excel spreadsheets because although I am a bit familiar with Matlab from having a course a few semesters back, excel seemed to be the quicker option seeing as though I am not too keen with scripts and coding languages. So now, using excel will allow me to provide my solutions for the initial problem dy/dx=7x-8y with the condition of y(4.2)=0.7. The value to approximate to is y(4.5) [Exact solution: 3.568161365]

    So to start with, we have Euler’s method, I began on paper, mapping out my values with the proper formula to make sure I was lining up precisely with the given values displayed in troubleshooting graph on webwork. Afterwards, I input the required information in to excel spreadsheets, then labeled them as i, h for step size, x_i, y_i, k=f(xi,yi), y(i+1). With the applied formula: (7(A)-8(B)), y_i+h×f(x_i,y_i), the approximations then put themselves in place and guided me along to my answers. Now continuing on to the Improved Euler’s, it turned out to be as simple as the first method only requiring 2 extra steps when composing the formula to plug in. Using the formula: y_i+h/2 (k_1i+k_2i), z(i+1)=y_i+h×k_1i, x(i+1)= x_i+h k_2i= 2(x(i+1) )-(z(i+1) the answers again followed in line with its respective parts. Lastly, on to the Runge-Kutta, I noticed my numbers started to vary throughout the process of me inputting the data. On another note, I did not run into the problems I did prior to this project. I was able to capture results for my k1, k2, k3, k4 & my z2, z3, z4. I was excited at the fact that it all began to work out and come together to make sense. The formula for this method is y(i+1)= y_i+h/6 (k_1+2k_2+2k_3+k_4). So now to reiterate from part 3, I believe my numbers are very close in accuracy and that this method was the best method to use but again due to the rounding placement of some digits, I was not able to get to my ultimate exact number.

    From the perspective of an mechanical engineering student, I see the convenience of Numerical Methods as a way to work with problems such as differential equations because it allows for us to obtain a sufficient approximation rather than just crunching numbers by hand to a level where we aren’t able to comprehend or by a calculator. It saves a good chunk of time while getting the job done keeping things precise and to the point. The reasoning behind why this project was assigned to us was probably to give a peering eye into what mathematicians see and what they deal with when trying to correct and perfect a real-world problem. Or maybe give us students a new tool in going forward with our classes and perhaps careers and seeing how it could be applied in the real world, just for experience and knowledge.

    Prof. I have sent Parts 1&2 with spreadsheets via email.

Leave a Reply

Your email address will not be published. Required fields are marked *