65
votes
14answers
2k views
What are the most common pitfalls awaiting new users?
As you may already know, Mathematica is a wonderful piece of software.
However, it has a few characteristics that tend to confuse new (and sometimes not-so-new) users. That can be clearly seen from ...
193
votes
10answers
22k views
Where can I find examples of good Mathematica programming practice?
I consider myself a pretty good Mathematica programmer, but I'm always looking out for ways to either improve my way of doing things in Mathematica, or to see if there's something nifty that I haven't ...
61
votes
7answers
2k views
What are the use cases for different scoping constructs?
Mathematica includes three functions that I know of which can be used to effectively (if not actually) define a variable and give it a value within a local scope: ...
54
votes
3answers
4k views
Alternatives to procedural loops and iterating over lists in Mathematica
While there are some cases where a For loop might be reasonable, it's a general mantra – one I subscribe to myself – that "if you are using a ...
51
votes
6answers
3k views
List of compilable functions
Is there somewhere a list on the functions that Compile can compile, or the cases in which a particular function can be compiled that I haven't found?
I'd be glad ...
52
votes
7answers
4k views
Struct equivalent in Mathematica?
I really miss having something like a struct in Mathematica. I know of (and regularly use) a couple of programming techniques which feel like a ...
25
votes
4answers
2k views
How do I save a variable or function definition to a file?
Is it possible to save a function which was created via Interpolation of some data in such a way that I can use this function in a new Mathematica session without ...
33
votes
4answers
5k views
Creating legends for plots with multiple lines?
So I have a graph with multiple lists, for e.g.
data = {{1,2}, {3,4}, {3,5}, {2,3} . . .}
If I then do ...
21
votes
3answers
677 views
Difference in Plot when using Evaluate vs when not using Evaluate
This example comes from
the Mathematica documentation for Plot
under Basic Examples.
Can someone please explain why these are each plotted as a different color in ...
65
votes
1answer
2k views
File-backed lists/variables for handling large data
Background
Currently I am working with some large data (most of it generated by Mathematica itself). I usually find it a hassle to do this. For example, I just exported a large amount of data to ...
23
votes
9answers
756 views
Injecting a sequence of expressions into a held expression
Consider the following toy example:
Hold[{1, 2, x}] /. x -> Sequence[3, 4]
It will give
Hold[{1, 2, Sequence[3, 4]}]
...
32
votes
5answers
2k views
What does the construct f[x_] := f[x] = … mean?
This question mentions "x := x = trickery".
What does defining a function as f[x_] := f[x] = ... do and what is it good for?
21
votes
4answers
2k views
Looking for “Longest Common Substring” solution
I'm looking for robust code to solve the "Longest Common Substring" problem. I can just code it up from that description, but I'd thought I'd ask here, first, in case someone knows of an ...
27
votes
2answers
675 views
Is there a way to separate variables between multiple notebooks?
I often correct homework by checking the calculations in Mathematica. Sometimes you would like to have two solutions open at once. However often defined symbols such as ...
31
votes
3answers
9k views
Get a “step by step” evaluation in Mathematica
Is it possible in Mathematica to get a step-by-step evaluation of some functions; that's to say, outputting not only the result but all the stages that have led to it?
Example : Let's say I want to ...
23
votes
4answers
841 views
How do I evaluate only one step of an expression?
I am looking for a simple, robust way to evaluate an expression only one step, and return the result in a held form.
The definition of a single step is ambiguous, and this itself is probably worthy ...
57
votes
2answers
2k views
What is the distinction between DownValues, UpValues, SubValues, and OwnValues?
When reading through the documentation, you often encounter the phrases DownValues, UpValues, ...
42
votes
2answers
2k views
Shaving the last 50 ms off NMinimize
The background:
I have to fit an objective function for ~10 000 datasets in near real time (with near real time being on the order of about 10 seconds). I compile the huge objective function, so that ...
19
votes
3answers
3k views
ShowLegend values
How do I get ShowLegend to put the max and min values that a plot produces.
for example, when using ListDensityPlot, with ...
30
votes
4answers
797 views
Using a PatternTest versus a Condition for pattern matching
My last question to the site resulted in several answers that involve using pattern matching in Mathematica, a feature I wasn't very familiar with at the time. I am currently reading Mathematica ...
28
votes
6answers
2k views
Intersecting graphics
Does the Mathematica graphics system have any concept of intersecting graphics? I've not found much in the documents so far. For example, if I want to show the intersection of two shapes:
...
40
votes
6answers
4k views
29
votes
7answers
965 views
32
votes
2answers
9k views
How can I use Mathematica's graph functions to cheat at Boggle?
This question is inspired by a Stack Overflow question that I decided to solve using Mathematica. In addition to Mathematica, I thought I'd use some of the new version's graph-related functionality, ...
15
votes
5answers
3k views
How do I clear all user defined symbols?
Is there some way to do this other than going to Evaluation -> Quit kernel and firing a new one up?
18
votes
1answer
273 views
Why doesn't PatternTest work with Composition?
While playing around with the solutions to this question, I've found some very strange behaviour:
...
12
votes
4answers
944 views
Clear complains that a variable is not a symbol or a string?
Here's a small listing where I've used EscqEsc to typeset θ in the notebook:
...
44
votes
5answers
4k views
Exporting graphics to PDF - huge file
I want to draw some basic surfaces, export them to PDF and include them in a LaTeX file. I create a simple 3D graphics object, for instance with
...
30
votes
6answers
4k views
Elegant operations on matrix rows and columns
Question
The Mathematica tutorial has a section 'Basic Matrix Operations', describing operations like transpose, inverse and determinant. These operations all work on entire matrices. I am missing a ...
19
votes
1answer
648 views
Customizing syntax highlighting for private cell styles
Is there any way to set up a cell style with a particular syntax highlighting?
For example, I'd like to have a CProgram cell to write in blue the C special words.
I have done it by setting ...
7
votes
3answers
931 views
General::ivar is not a valid variable when plotting - what actually causes this and how to avoid it?
I was just evaluating a couple of expressions and started to get errors like this:
...
59
votes
4answers
6k views
1 Plot, 2 Scale/Axis
I would like to plot those two datasets on top of each other. But they have very different range on the $y$ axis. How can I have two different axis?
I found the following on the help menu but quite ...
40
votes
2answers
790 views
Flatten command: matrix as second argument
One thing I could never wrap my head around is how Flatten works when provided with a matrix as the second argument, and the Mathematica help isn't particularly ...
27
votes
3answers
821 views
What is the most convenient way to read definitions of in-memory symbols when we don't have the source files?
Note: I put Simon's implementation on GitHub. Contributions welcome!
When trying to read the definition of already defined (package or built-in) symbols using ...
23
votes
2answers
635 views
Is it possible to change the colors of the highlighted code in the Mathematica frontend?
With Format -> Edit Stylesheet... it is possible to adjust text-properties, text-colors, formatting of equations, etc of a notebook and to use this style-definitions again by installing it as ...
31
votes
7answers
896 views
Updating Wagon's FindAllCrossings2D[] function
Stan Wagon's Mathematica in Action (second edition; I haven't read the third edition and I'm hoping to eventually see it), demonstrates a nifty function called ...
25
votes
4answers
756 views
How to abort on any message generated?
Mathematica is a bit unusual as a programming language because it never stops on messages, regardless of whether the message is an error, a warning or just an informative message. It simply prints the ...
26
votes
6answers
2k views
Finding real roots of negative numbers (for example, $\sqrt[3]{-8}$)
Say I want to quickly calculate $\sqrt[3]{-8}$, to which the most obvious solution is $-2$.
When I input $\sqrt[3]{-8}$ or Power[-8, 3^-1], Mathematica gives the ...
10
votes
6answers
916 views
Replacing composite variables by a single variable
To replace a single variable by another variable, one can simply use the the replace all (/.) operator (e.g., ...
4
votes
2answers
628 views
How do I work with Root objects?
I want to solve the trigonometric equation :
$$(3-\cos 4x )\cdot (\sin x - \cos x ) = 2.$$
I tried
Solve[(3 - Cos[4*x])*(Sin[x] - Cos[x]) == 2, x]
It returns the ...
17
votes
4answers
742 views
Why does MatrixForm affect calculations?
This is a really newbie question, but it has me confused. Why does this code work without // MatrixForm and doesn't work with ...
48
votes
1answer
1k views
Programmatic formatting for Mathematica code - possible?
It seems to be both an interesting programming challenge and a very useful practical application to have a Mathematica program which would allow one to pretty-print Mathematica code, so that it is ...
46
votes
5answers
1k views
What are some useful, undocumented Mathematica functions?
There have already been some questions about some undocumented functionality in Mathematica. Such as (please add to these lists!)
How can one find undocumented options or option values in ...
32
votes
2answers
984 views
Internal`Bag inside Compile
Since Internal`Bag, Internal`StuffBag and Internal`BagPart can be compiled down, it is a ...
29
votes
6answers
930 views
Functions vs. patterns
Every time I define a new function, I wonder which construct I should use: true functions obtained by using Function, or rule-based syntax. For example, these are ...
42
votes
1answer
3k views
Torn edge paper effect for images
In my answers to Plotting Error Bars on a Log Scale I used a so called "torn edge" effect from on one of the images. @SjoerdC.deVries commented: "BTW I liked the ripped-out look of your InputForm ...
30
votes
4answers
1k views
How can I implement dynamic programming for a function with more than one argument?
Dynamic programming is a technique for avoiding the repeated computation of the same values in a recursive program. Each value computed is immediately stored. If the value is needed again, it is ...
26
votes
3answers
3k views
How to find all the local minima/maxima in a range
I want to find :
all local maxima in range
all local minima in range
From those points I can interpolate and combine functions upper and lower boundary. What I am really interested in, is the ...
29
votes
2answers
865 views
What is a Mathematica packed array?
A simple sounding question with a few sub questions:
What is the difference between unpacked vs packed array?
Are packed arrays more space efficent, how much so?
Are packed arrays more time ...
16
votes
2answers
461 views
Automating Esc [[ Esc formatting?
Is it possible to program the Front End to automatically format double square brackets without having to type Esc[[Esc each time? It's awful to have to type Esc ...
