Thanks. After a bit of experimentation, I found that you can have a block outputting several lines, but you need to manually add commas and carriage returns, e.g.,
#+BEGIN_SRC mathematica :results output f[x_] := 3*x^2+3; f[8], "\n", D[f[x],x] #+END_SRC
#+RESULTS: : 195 : 6*x
Dear Richard, You can do: #+BEGIN_SRC mathematicaf[x_] := x+3;f[5]#+END_SRCHere are explanations: I actually put everything in the SRC block into a Print[...]. So in the second example, what actually runs is
Print[f[x_] := x+3 f[5]]
This does not return any value. Because what it really does is print the value of "f[x_] := x+3 f[5]"
Here is the code:
(concat (mapconcat ;; define any variables (lambda (pair) (format "%s=%s;" (car pair) (org-babel-mathematica-var-to-mathematica (cdr pair)))) vars "\n") "\nPrint[\n" body "\n]\n")
If anybody has idea to improve it, I will be happy to see and work it out!
Best, Yi
On Sat, Mar 14, 2015 at 7:09 AM John Kitchin < address@hidden> wrote: I wonder if this is an output vs value issue on the return of the
block. If you set :results output does anything change? or, is there a
way to specify a return value? or specifically print something?
Richard Stanton writes:
> I recently saw this posting about org support for Mathematica. Thanks for writing this!
>
> Unfortunately, while I can get it to work for simple things (e.g., 2+3), even slightly more complex things don't seem to work. For example, suppose I'd like to define a function f(x) = x + 3, and then calculate f(5). In a MMA notebook, if I type
>
> f[x_] := x+3
> f[5]
>
> I get the answer 8. If I try the same code in an org-mode code block, here's what happens:
>
> #+BEGIN_SRC mathematica
> f[x_] := x+3
> f[5]
> #+END_SRC
>
> #+RESULTS:
> : Null
>
> Am I missing something obvious here?
>
> Thanks very much.
>
> Richard Stanton
--
Professor John Kitchin
Doherty Hall A207F
Department of Chemical Engineering
Carnegie Mellon University
Pittsburgh, PA 15213
412-268-7803
@johnkitchin
http://kitchingroup.cheme.cmu.edu
|