At Polytech Orléans, I learned how to solve analytically differential equations. Then in group of three, we had to solve a problem about a subject by solving numerically a differential equation.
As long as we had learned few weeks ago C# and WinForm, I decided to build a software that generate the result table of our problem.
Solving a mathematical problem
The algorithm use a numeric method to solve differential equation.
Solving differential equation numerically
I learnt in class two methods to do that. The first one is named Euler and the second one is named Runge Kutta. Actually, Rouge-Kutta methods gather several methods, like the Euler method.
The software algorithm apply the Euler method and the second order Runge-Kutta method.
It’s a GUI software coded in C#. I used VisualStudio and its graphic user interface to arrange the WinForm widgets.
The code was pretty simple because the main code is the algorithm we learned in class. This algorithm calculates data. The software generates an Excel sheet with the data used to make the chart.
The source code is published under the GNU General Public License V3.
How it work?
The software executes an algorithm which calculates something. It can be a position, a speed, a physical scale, quantity or variable, or whatever you want.
With this software, you will be able to solve your own equation. You will have to change the mathematical formula and the parameters.
In the equation, you may want to modify some variables. A ==tab== named constantes allow you to change the values.
Solving your own problem
Don’t hesitate to fork the github project and modify the code to solve your differential equation. You will have to publish the source code under the GNU GPL V3 license.
This project allow me to apply what I learned about C** and C# programming. Before this, the only graphic user interface software I was able to build was with Python3 and Gtk.
I study engineer computer sciences at Polytech Nantes, France. I love coding and I started with Python3. I like free softwares which respect privacy. I share here my projects. My blog contains articles about what I'm learning on my free time.