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."
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.
'not powerful enough' is probably a poor choice of words. How about 'handles inefficiently'?
Someone hates these cans.
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
This isn't going to be of any help, but I have a few questions.
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. But I'm wondering what in particular you've found spreadsheets unable to do.
Further, you didn't mention a platform on which you are operating. I assume KDE running on Linux, since you mentioned KSolve. Are your restricting your search to this platform?
And, dare I ask, have you tried Excel to see if it provides functionality to do this built in, via macros, or via VB? Although VBA may not be great fun, it may allow you to do what you want without doing quite so far as writing a full program.
You like splinters in your crotch? -Jon Caldara
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.
The Scientific Applications on Linux site has a few entries for spreadsheets and many more for data processing and visualization.
Ron
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
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.
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!
I'm probably missing something, and I'm definitely biased against spreadsheets in general for most scientific work (MSME here, working with grad students daily on this sort of thing).
But given that most engineering/scientific spreadsheets have a format of:
I'm just not seeing the big advantage to it versus:
In the spreadsheet version, your variable names tend to be cell locations. In a program, you pick meaningful names.
The complexity of writing formulas isn't terribly different, assuming you're using a language with a reasonable math/stats library (Matlab definitely qualifies, and Python should, too).
Now a spreadsheet does have mind-numbingly simple graphing, as long as you don't get too complicated. But at least in Matlab, if you have a pair of row or column matrices x and y, it's plot(x,y).
Instant gratification in a spreadsheet isn't terribly more instant than (up-arrow) (Enter) in the shell or Matlab window mentioned above.
And neither Python nor Matlab compare in learning curve to Fortran or most other languages. You could likely be competent in either of them inside of two days.
See here for one example on projectile motion. The functions aren't required to be split out, but are good practice.
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.
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.
Thanks for your explanation; I was thinking in terms of storing logged lab data.
(My post was a troll/joke anyway -- I've worked in too many places that actually do use Excel to record important data in this manner.)
Try TK Solver. It is designed for solving simultaneous equations. I used it in college to solve some nasty problems dealing with internal combustion engine cycles. Back then it was on UNIX, but it looks like it is only Windows now.
A major limitation is that Excel can only handle small data sets. A worksheet can only have 32000 rows (or is it 32k? I forget) and even fewer columns. That may sound like a lot, but it's not really.
Also, Excel's graphing package is awful (poor layout control, clunky interface).
Kind Regards,
Bruce
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.
I personally use and love both Open Office Calc, and MS Excell, but that's mostly for stats and financial data, which is their strong points. However, StarOffice 5 allowed you to create functions using C or C++, I can't recall which, its been too long since I looked at it. I don't know if its in the newest version but you might want to see if that meets your needs. It looked to be pretty powerful, more so than Excel's add-in functions. I was wanting to add Black-Scholes to it as a function, but gave up and just made it a sheet. Also Maple, once your used to the odd syntax of the command line, is excellent unless your doing lots of DSP type stuff, which Matlab excelled at. I haven't used Mathmatica, but everything I've seen or heard about it has been excellent, and I would like to try it if I had anymore heavy duty math to do.
Degaussing scares the bad magnetism out of the monitor and fills it with good karma.
The limit of 32,000 rows was removed. Just don't get me started at how it handles CSV files by default...
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.
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
no one needs to remind you of brainfuck
--
fight global cooling