5

I have to create a program that compares two or three different methods (FEM FVM FDM) for solving an easy pde. Is there a program language in which I could do this easily? (i need to operate with vectors/matrix and perform inversions on matrix)

Stephane Rolland
5961 gold badge6 silver badges17 bronze badges
asked Mar 7, 2013 at 20:25
2
  • 5
    You probably want to look at something like R and MATLAB. I know that more recently people have been using Python for that sort of thing as well. Check out this more general question: stackoverflow.com/questions/488502/… Commented Mar 7, 2013 at 20:29
  • 1
    I bet GNU Octave can do this stuff, too. Commented Mar 7, 2013 at 21:13

3 Answers 3

3

For this kind of data processing I would really recommend R (note that I'm a heavy R user, so I might be biased. But let me break it down a bit. I would definitely go for a high level language like Python + numpy, Matlab or R, and not Fortran or C++. These languages are powerful I know from experience, but also more complex. If it is not strictly needed I would stick to a simpler language, this will enable you to spend more time analyzing data and less programming.

In choosing a high level language, I'd go for R. It is free and open source, has powerful data processing routines built-in, awesome visualisation tools, and a very large user community that provides even the most exotic analysis methods. Although you'd probably also work happily with some other high level language.

answered Mar 7, 2013 at 21:33
1
  • +1: no reason to muck around with compiling and linking when you could be getting step-by-step feedback Commented Mar 8, 2013 at 0:01
3

My suggestion would be to use Python. The SciPy package allows for solving PDE really simply. I used it for the projects involved in my honours thesis and found it really easy to learn and simple. Have a look at http://scipy-lectures.github.com/intro/scipy.html#numerical-integration-scipy-integrate .

answered Mar 7, 2013 at 21:51
1
  • Sorry, but I don't think that's accurate. According to the very same url you provided: "There is no Partial Differential Equations (PDE) solver in Scipy. Some Python packages for solving PDE’s are available, such as fipy or SfePy". I realize this question is really old but still. Commented Oct 10, 2015 at 12:21
0

I think nowadays it doesn't matter which language you use. I would recommend Fortran + IMSL library, C# + some math library (there are several of them distributed under GNU license) or C++ with boost or NR. MATLAB might be better choice but to me it seems much more expensive.

answered Mar 7, 2013 at 20:51
3
  • 5
    Octave is a Free clone of Matlab. Commented Mar 7, 2013 at 21:15
  • For this kind of work I would definitely not recommend Fortran or C++. See my answer for more details. Commented Mar 7, 2013 at 21:34
  • 1
    -1: language makes a big difference in the time to completion. If you don't think so, you don't know enough languages. Commented Mar 7, 2013 at 23:59

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.