emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] Babel language support for Mathematica


From: Yi Wang
Subject: Re: [O] Babel language support for Mathematica
Date: Fri, 13 Mar 2015 23:16:36 +0000

Dear Richard,

You can do:

#+BEGIN_SRC mathematica
f[x_] := x+3;
f[5]
#+END_SRC

Here 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

reply via email to

[Prev in Thread] Current Thread [Next in Thread]