The kernel provides a "session" so matlab stays alive and doesn't have to
restart on every block.

The kernel might require python3.
On Sat, Mar 11, 2017 at 9:20 AM Uwe Brauer <o...@mat.ucm.es> wrote:

>
>    > You might dig around in ob-octave to see how it works. It should be
> able
>    > to Matlab (and on Linux/Mac I believe it might). On Windows, it has
> been
>    > broken for a long time due to the lack of a proper shell (maybe that
> can
>    > be adapted in win10 though).
>
>    > I vaguely recall making that matlab function to try it out on Windows
>    > some years ago.
>
>    > There is a Jupyter Matlab kernel now.
>    > https://github.com/Calysto/matlab_kernel
>
>
> Thanks for pinting it out to me. Couldn't  install it so far
> ImportError: No module named pathlib
> when trying directly to use >python -m matlab_kernel install
>
> Or ould not find a version that satisfies the requirement
> backports.tempfile (from matlab-kernel) (from versions: 1.0rc1, 1.0rc1)
> Cleaning up...
> No distributions matching the version for backports.tempfile (from
> matlab-kernel)
> Storing debug log for failure in /home/oub/.pip/pip.log
>
> Have to write the author.
>
> The output using your code and Eric's suggestion is ok but I am curious
> to see what the kernel is supposed to do better.
>
> Uwe
>    > I was able to use this (and installing the kernel, and making sure a
>    > matlab is on the path):
>
>    > #+BEGIN_SRC emacs-lisp
>    > (add-to-list 'org-src-lang-modes '("matlab" . matlab))
>
>    > ;; set default headers for convenience
>    > (setq org-babel-default-header-args:matlab
>    >       '((:results . "output replace")
>    >    (:session . "matlab")
>    >    (:kernel . "matlab")
>    >    (:exports . "code")
>    >    (:cache .   "no")
>    >    (:noweb . "no")
>    >    (:hlines . "no")
>    >    (:tangle . "no")))
>
>    > (defalias 'org-babel-execute:matlab 'org-babel-execute:ipython)
>    > (defalias 'org-babel-prep-session:matlab
> 'org-babel-prep-session:ipython)
>    > (defalias 'org-babel-matlab-initiate-session
> 'org-babel-ipython-initiate-session)
>    > #+END_SRC
>
>
>    > #+RESULTS:
>    > : org-babel-matlab-initiate-session
>
>    > To enable this:
>
>    > #+BEGIN_SRC matlab :results output org drawer
>    > x = [1, 2, 3, 4, 5];
>    > fprintf('|%d', x)
>    > #+END_SRC
>
>    > #+RESULTS:
>    > :RESULTS:
>    > | 1 | 2 | 3 | 4 | 5 |
>    > :END:
>
>    > It is not much better output wise without the fprintf, but that seems
> to
>    > be a feature of Matlab's output. I think Eric is probably right, you
>    > will have use fprintf to get what you want.
>
>    > I am not a big matlab user these days, so I do not have a sense for
> how
>    > usable the kernel is. It does run in a session, which is a big
>    > improvement over the other one I wrote.
>
>    > Uwe Brauer writes:
>
>
>
> --
John

-----------------------------------
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