Questions on how to write code in a better or different style, using Mathematica's capabilities for coding in multiple styles.
44
votes
7answers
1k views
Can one identify the design patterns of Mathematica?
... or are they unnecessary in such a high-level language?
I've been thinking about programming style, coding standards and the like quite a bit lately, the result of my current work on a mixed ...
5
votes
1answer
135 views
How to find the name of the current function
I would like to know the name of the current function from within that function. For example, consider the following code
...
5
votes
3answers
204 views
More structure in Source Code/Notebooks
Mathematica is great for small and quick projects and has a great syntax. However as soon as a project grows I run into trouble. How do you scale and maintain projects in Mathematica? What is beyond ...
3
votes
0answers
83 views
How do I add options to a built in function, which only apply to a certain class of argument?
I'd like to add an option to a built-in function that only applies when it is given an argument of a certain form.
For example, something like this approach to extending ...
7
votes
2answers
391 views
How to write data from Mathematica to an existing formated Excel file?
I have a sheet in an Excel file already formated: different colors, fonts, columns width and cells styles. I want to fill-out values from Mathematica into specific cells of that sheets, or use that ...
12
votes
2answers
185 views
f[arg1, arg2,…,argN] vs. f[{arg1, arg2,…,argN}]
I am trying to reproduce the API of a function (written in R) that accepts an arbitrary number of arguments and handles it the same way as it would handle a single argument that is a list of different ...
3
votes
0answers
118 views
Notebook function formatting
I've recently started a course in which I am learning how to solve different problems using Mathematica. A large part of the course covers creating your own functions. The thing is I don't like how my ...
9
votes
5answers
288 views
An elegant way to plot a numeric function that returns a list, and have each element in a different color
I have a function that takes a numeric argument and returns a list of numbers. I want to plot each element of the list in a different color.
If I use this command,
...
1
vote
1answer
147 views
Lines with label in Plot options syntax
I wrote a little function to add lines with labels to plots. It just creates customized {GridLines -> ..., Epilog -> ...} code:
...
6
votes
4answers
432 views
Alternatives to While Loops?
I am using Mathematica to run a probabilistic simulation. Essentially, I have a list of members of a population (they only have one, numerical, attribute, so it's just implemented as a list of ...
11
votes
2answers
223 views
Notebook formatting - easier descriptions for equations and results?
When I do computations in mathematica, I generally try to make it readable for myself-in-the-future. This can be a cumbersome task in mathematica, where it often requires me to switch betwee a text ...
8
votes
1answer
151 views
What is the purpose of Dump contexts?
Motivation
I've been trolling through some internal code, trying to glean design practices WRI developers employ when extending Mathematica using top-level code.
During my ...
6
votes
2answers
445 views
Speed up Mathematica code involving Convolve
I'm trying to plot the averaged autocorrelation function of a random wire profile $\xi(x)$ which is build from unitsteps which are each L units long. To calculate the average I'm generating nMax ...
6
votes
0answers
111 views
What are some general strategies to avoid using For loops? [duplicate]
Possible Duplicate:
Iterating over lists in Mathematica
While there are some cases where a For loop might be reasonable, it's a general mantra – one I ...
11
votes
2answers
315 views
What's the most “functional” way to do Cholesky decomposition?
I can do Cholesky in a procedural style, such as:
...
9
votes
3answers
339 views
Generating an autoregressive time series
Find $X_t = c_1 X_{t-1} + \dots + c_n X_{t-n} + n_t$ for given $c_i$, initial conditions $(X_1, \dots, X_n)$, and distribution for i.i.d. $n_t$.
I would like to know if there is a more efficient or ...
11
votes
2answers
587 views
Speeding up random walk for many particles
I am trying to speed up this code for many particles to take a random walk. I'm not sure why it is so slow for such a simple task.
I got a few hints from colleagues to reduce the precision of the ...
10
votes
3answers
323 views
Are these nested Tables necessary?
In exploring this fish population game with my calculus students, I wrote some Mathematica code to search for the sequence of catches that would result in the maximal total population of fish (both in ...
13
votes
4answers
304 views
Short syntax for accessing System`Utilities`HashTableAdd and System`Utilities`HashTableGet
I have a need for a struct analogue in Mathematica. After reading this post I came to the conclusion that System`Utilities`HashTable is one of the best options. But ...
11
votes
2answers
362 views
Are there advantages to using generalized Part extraction instead of specialized functions like First, Last?
There are many ways to extract different parts of lists in Mathematica. For example, the first part of a list v can be accessed either as ...
8
votes
3answers
316 views
Can this code be written in a more functional style
Referencing this question, I wonder if the following code can be written more concisely using a functional style, i.e. without For loops or ...
19
votes
2answers
749 views
Extracting values from nested rules in JSON data
I have been using Mathematica to analyse some data from the StackExchange API. It is conveniently available in JSON form, which Mathematica interprets as replacement rules. However, some of the rules ...
15
votes
1answer
232 views
Are there advantages to using additional arguments of common functions rather than alternative ways of calculating with lists?
(Apologies for the long question title.)
One of the interesting, if sometimes confusing, things about Mathematica is that there is always more than one way to do things. Even intermediate users can ...
5
votes
1answer
192 views
Alternative to overloading Set
In the ideas shared in my answer to this post Struct equivalent in Mathematica? at the end I propose a solution that changes the way Set works in a particular case that can be expressed in plain words
...
53
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 ...
8
votes
3answers
296 views
With versus Function
I've seen people compare Block with Module and With as scoping constructs, and try to figure ...
22
votes
4answers
413 views
Placement of Condition /; expressions
It is my practice to place Condition expressions on the left side of := and :> in almost ...
57
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 ...