Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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)

share|improve this question
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/… –  MrFox Mar 7 '13 at 20:29
1  
I bet GNU Octave can do this stuff, too. –  Brian Mar 7 '13 at 21:13

3 Answers 3

up vote 3 down vote accepted

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.

share|improve this answer
    
+1: no reason to muck around with compiling and linking when you could be getting step-by-step feedback –  kevin cline Mar 8 '13 at 0:01

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 .

share|improve this answer

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.

share|improve this answer
5  
Octave is a Free clone of Matlab. –  Sean McSomething Mar 7 '13 at 21:15
    
For this kind of work I would definitely not recommend Fortran or C++. See my answer for more details. –  Paul Hiemstra Mar 7 '13 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. –  kevin cline Mar 7 '13 at 23:59

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.