Slashdot Mirror


Spreadsheets for Scientific Computing?

redcliffe asks: "Sometimes it's much easier to create a spreadsheet to do some mathematical calculations for physics than to create a whole new program to do the calculations. It's also handy to be able to easily change one figure and have all your other calculations update. But there a certain types of calculations that normal spreadsheet apps like KSpread don't seem to handle well. Anyone know of a spreadsheet or something similiar designed for scientific computing? I've seen GNU Octave, but that's almost like writing a whole program, and without a GUI it's hard to learn quickly."

19 of 41 comments (clear)

  1. Something else by Goldsmith · · Score: 3, Insightful

    Spreadsheets are usefull, yes, but if you're trying to do something your spreadsheet can't handle, chances are you should probably not be using it.

    I suggest you use a program like Mathmatica, or program in Fortran or similar "easy" programming language. Spreadsheets are really only usefull in physics for data collection and mining on a small scale.

    1. Re:Something else by Louis_Wu · · Score: 2
      Occasionally a "spreadsheet problem" has one or two bits which are really "math-program problems". Your straight-forward calculation can sometimes have a quadratic in the middle, and sometimes it's a quintic, while other times it is a quartic - and then you have to integrate the bloody thing. If the equation was constant, you could just do the integration on paper and plug the equation into your spreadsheet and get-on-with-it. But you can't, you have to somehow make Excel (or Gnumeric) integrate your polynomial. And I don't think that they can.

      Enter Mathematica.

      Mathematica has an add-on available which lets you link to Excel, and link from Excel to Mathematica. You can send that equation over to Mathematica, have it evaluate it, and send it back.

      I've never used this feature, but I hear that it's a real life-saver. Plus, Mathematica is one of the easiest math programs to start using, and one of the most powerful if you keep using it.

    2. Re:Something else by hubie · · Score: 2

      Just curious, but what do you consider a "hard" programming language, or at least one that would be considered "harder" than FORTRAN (from my point I certainly wouldn't say "C" because it is pretty much the same as FORTRAN---they just have different ways of looking at things)?

  2. Re:Spreadsheets by redcliffe · · Score: 2

    Well that's what I'm trying to find, a spreadsheet style app that handles this sort of stuff well. Like if I'm changing a few values, it very nice to be able to see instantly what the result is. Writing a whole program to do this would be hard. Thanks,

    David

  3. Scientific Spreadsheets by Dymaxion · · Score: 3, Informative

    You want a program like Origin -- a spreadsheet designed for scientific computing. While it's both very much not free and windows only, sometimes you just have to use the right tools for the job. A free or even just Un*x friendly replacement for Origin at its level of sophistication would be a very Good Thing. I'm hoping that there are other, similar software packages out there, but that's the one I'm most familiar with.

    1. Re:Scientific Spreadsheets by fxj · · Score: 2, Informative

      There is Scigraphica (scigraphica.sourceforge.net)
      which might be what you want. It features spreadsheets, graphics and python as programming language. Another good spreadsheet is VisAD (www.ssec.wisc.edu/~billh/visad.html) which is written in java and jython and thus works on Linux AND M$-windoze.

  4. UK NPL view on scientific software by Yarn · · Score: 2

    The NPL (UK version of NIST) tested a variety of software used for scientific purposes, some of the results are in Metromania 13.

    --
    -Yarn - Rio Karma: Excellent
  5. Re:What don't they handle well? by redcliffe · · Score: 2

    Well the things you mention, and it is also difficult to create and use complex mathematical formulas.

    Well Linux is my operating system of choice, but I don't have huge objections to windows. Excel is no better for what I'm doing than KSpread though so I use Kspread. VBA is good, but I'm trying to avoid having to code to get this to work. Thanks

  6. Matlab by clark625 · · Score: 3

    A previous poster correctly stated that if you can't do it easily in a spreadsheet, you're probably needing another tool altogether. I would suggest using Matlab. Mathematica is nice, and so is Maple. And fortran's great if you want to push around bits, although C is used more by the engineering community.

    Matlab's greatest strength is that it works magic with matricies. By using a spreadsheet, you aren't terribly far off from Matlab's strength, as I'm guessing that you've got several arrays. The matlab engine is also very robust and has nearly as many options available as fortran or C would. Can't beat that.

    --
    Long, cute, or funny Sigs are just another form of over compensation, used by geeks, nerdz, etc.
    1. Re:Matlab by Col.+Klink+(retired) · · Score: 2

      Octave is a Free version of Matlab.

      Even Octave/Matlab are programming languages, they aren't that hard to learn and are extremely powerful. In fact, I've seen people make spreadsheets more complicated than matlab programs.

      --

      -- Don't Tase me, bro!

  7. MathCad by sysadmn · · Score: 3

    Consider MathCad. Back when I was doing control theory classes, the interface seemed much more intuitive. You 'wrote' a page of equations, plots, etc. and they were solved automatically. You could even write live reports. It was great for lab and homework writeups. The screenshots don't do it justice. Sadly it is not free, and is windows only.

    --
    Envy my 5 digit Slashdot User ID!
  8. You could try IDL by HuskyDog · · Score: 2
    Another possibility would be IDL. I believe that it is very similar in concept to Matlab (although I have never used the latter). It certainly works just fine on x86 Linux and there is even a version for Alpha Linux (although that is about to be discontinued), but it isn't cheap.

    Most of my colleagues are Windows addicts who battle away getting Excel to handle huge data sets. I do almost all of my work in IDL and find that it works just great.

  9. Re:Excel by foobar104 · · Score: 2

    Cool UID, SpatchMonkey.

    Rather than just leaving you moderated at -1, I thought I'd speak up and tell you why you're off topic.

    The poster wanted to hear about programs for doing scientific calculations. You suggested that he use Excel to build a database. That's pretty far from what he was asking about.

    I just hate it when people moderate my comments down and it's not entirely clear why. So I figured I'd speak up, why not.

  10. related to octave by Pauly · · Score: 2
    Octave is primarily used as a plotting tool, no? If for you the answer is yes, than by all means check out Scigraphica. Scigraphica reminds me a great deal of the wonderful plotting packages like Stanford Graphics that I once used as a budding scientist. It claims to be aiming for the functionality of Microcal Origin. I can't speak for its spreadsheet capabilities, but its plotting capabilities have impressed me more than any other GPL equivalent.

  11. Re:What don't they handle well? by dutky · · Score: 3, Informative
    OldMiner wrote
    I'm sure there are things which spreadsheets can't handle well. Off the type of my head I can think of derivatives, integration, and solving simultaneous equations.
    Huh? None of the things you mentioned are handled badly by a spreadsheet, at least not in the numerical sense. Integration is simply a sum of cell data. Derivation is obtained by taking the difference of adjacent cells. While solution of linear systems is a bit trickier, many spreadsheet packages either come with solver engines or have scripting langauges in which a simple solver can be written.

    The one thing that I have found lacking in most spreadsheets is an easy way to fit curves to data sets. This is pretty glaring omission, given that you have both the data sets and a graphing tool in most spreadsheets. But then, I suppose that curve fitting is an alien concept to most of the financial world (though, I would think, statisticians might have some use for it).

    A quick browse, however, through the Gnumeric Manual indicates that it has a linear solver and a host of statistical tools, which should allow you build almost any other numerical analysis tool you want.

    Now, if you want to get symbolic results from a spreadsheet, you are probably screwed. But there are other tools that are better suited to such tasks than spreadsheets.

  12. KSpread is open source you know by bluGill · · Score: 2

    Open source can always use programers who have an itch to scratch. Without knowing your problem I can't really say more, but it would be a good selling point for KSpread to be the only spreadsheet that can do what you need. A good way to take over from Microsoft is to do everything Excell does that people need, and a few other things that they don't do.

    Other packages you named are also open source, pick on that is closed to your needs, and make it better for everyone. There are plenty of out of work programers (like me - hint hint) who would love to modify an open source program for money.

  13. Re:Spreadsheets by topham · · Score: 3, Informative

    The limit of 32,000 rows was removed. Just don't get me started at how it handles CSV files by default...

  14. I'll second MathCad; not too expensive, either. by alienmole · · Score: 2
    I find MathCad really useful, even for day to day calculations. It supports units, so you can type in "5 mi/3 sec =" and ask for the answer in mph (or whatever). [If only NASA's Mars team had used it...]

    It also licenses Maple (or parts thereof), so it can solve equations symbolically.

    MathCAD is also the cheapest program of its kind. There are free tools, but none of them have GUIs like MathCAD, and dealing with complex mathematical formulae is one place where a GUI can make a big difference.

  15. Re:Spreadsheets by redcliffe · · Score: 2

    For me input data isn't so much a problem, and neither is output data. I just want to be able to easily change values, and instantly see the results throughtout the calculations. Thanks