Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/abarbu/matlab-chicken
This chicken egg provides matlab bindings
https://github.com/abarbu/matlab-chicken
Last synced: 25 days ago
JSON representation
This chicken egg provides matlab bindings
- Host: GitHub
- URL: https://github.com/abarbu/matlab-chicken
- Owner: abarbu
- Created: 2013-02-11T07:43:37.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2013-12-07T01:41:49.000Z (almost 11 years ago)
- Last Synced: 2024-04-15T01:18:14.060Z (7 months ago)
- Language: Scheme
- Size: 148 KB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.chickenwiki
Awesome Lists containing this project
README
[[tags: egg ffi]]
[[toc:]]This page is maintained in the this package's
[[https://github.com/abarbu/matlab-chicken|github repository]].== matlab
This Chicken egg provides matlab bindings. It makes matlab somewhat
bearable. See ''matlab-example.scm'' for how a quick example. Note
that this egg doesn't at the moment deal well with Matlab errors and
it currently only supports marshalling lists, vectors and matrices of
doubles.=== Example
(matlab "'hello'")
(matlab "a=2+2")
(matlab-get-variable "a")
(scheme->matlab! "a" '(3))
(matlab-get-variable "a")(with-matlab-default-output-buffer
(lambda (matlab-result-string)
(matlab-eval-string "A=[[1,2,3];[4,5,6]]")
(matlab-eval-string "B='Hi'")
(matlab-eval-string "C=1")
(matlab-show-variable "A")
(matlab-show-variable "B")
(matlab-show-variable "C")
(matlab-eval-string "D=randn(2,2,2,2)")
(display (matlab-result-string))
(matlab-show-variable "D")
(matlab-eval-string "'Can also get the output from matlab'")
(display (matlab-result-string))
(newline)))This does a few random things in matlab to show off the API.
=== High-level API
(matlab-eval-string s)
(matlab-eval-strings . strings)
(matlab . strings)Execute one or more strings. ''(matlab . strings)'' returns the output
of the command as a string. The return value of the other two calls is
unspecified. These commands will start up an engine automatically if
needed.(matlab-append-to-path directory)
Performs an ''addpath''.
(matlab-load-variables filename)
(matlab-save-variables filename . variables)Performs a ''load'' or a ''save''. Saves the entire workspace if no
variables are provided.(start-matlab!)
Starts the Matlab engine. Note that calling this function multiple
times has no effect.(matlab->scheme variable-name)
Marshal a variable from Matlab to scheme. Only supports arrays and
strings.(scheme->matlab! variable-name object)
Assign to a Matlab variable. Only supports matrices, vectors, and
lists.=== Low-level API
Many internal low-level functions for dealing with Matlab exist but
they are of interest only to developers. Only those that may be of
interest to users are listed here.(matlab-start arguments)
(matlab-stop engine)Start or stop an engine.
(matlab-set-visible engine visible?)
(matlab-get-visible engine visible?-pointer)Get and set if the visibility of the Matlab UI.
*default-matlab-engine-command*
The parameters to use when starting the global Matlab
engine. Currently ''-nosplash -nodesktop''. If you wish to add to
these variables you can use the environment variable
''MATLAB_LOCAL_ARGS''*matlab-engine*
The current matlab engine.
=== License
Copyright 2013 Andrei Barbu. All rights reserved.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see http://www.gnu.org/licenses.