imatlab

A Jupyter kernel for MATLAB.
授权协议 MIT License
开发语言
所属分类 应用工具、 科研计算工具
软件类型 开源软件
地区 不详
投 递 者 孟乐
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

A Jupyter kernel for MATLAB

This kernel requires Jupyter with Python 3.5+, and the MATLAB engine forPython R2016b+ (this release provides a much better completion API), whichneeds to be installed first. Note that additionally, Python versions notsupported by the engine are likewise not supported by the kernel.

Installation

As usual, install using pip:

$ pip install imatlab  # from PyPI
$ pip install git+https://github.com/imatlab/imatlab  # from Github

Then, register the kernelspec with

$ python -mimatlab install

In the absence of administrator rights, the --user flag should be added toall of these commands.

Use

# Notebook (in the notebook interface, select Matlab from the 'New' menu):
$ jupyter notebook
# or QtConsole:
$ jupyter qtconsole --kernel imatlab
# or terminal:
$ jupyter console --kernel imatlab

(Note that imatlab intentionally does not declare a dependency onany Jupyter client, as it can be used with any one of them individually.In practice, this means that at least one of jupyter-notebook,jupyter-qtconsole, or jupyter-console need to be installed in additionto imatlab.)

Inline graphics

MATLAB figures can be displayed in native MATLAB windows (the default), or(when using the notebook) as inline images. The kernel can natively displaystatic images, or use Plotly to generate interactiveJavaScript figures.

The exporter is set by calling the imatlab_export_fig function, which isautomatically added to the MATLAB path when the kernel is running. Thefollowing settings are possible:

imatlab_export_fig('')  % Native windows.
imatlab_export_fig('fig2plotly')  % Plotly figures.
imatlab_export_fig('print-png')  % Static png figures.
imatlab_export_fig('print-svg')  % Static svg figures.
imatlab_export_fig('print-jpeg')  % Static jpeg figures.

This call must be issued before the first figure is shown. Note that thenon-native exporters will call set(0, 'defaultfigurevisible', 'off') toprevent the window from being briefly displayed, whereas using native windowsturns the default figure visibility back 'on'.

Plotly exporter

Plotly inline graphics in the notebook depend on plotly.py (>=1.13) and thePlotly MATLAB API (>=2.2.7), which can be installed as follows:

  1. Run pip install plotly or pip install --user plotly.

  2. Clone plotly/MATLAB-Online or download it as a zip file.

  3. Recursively add the resulting extracted folders to the MATLAB search pathusing addpath(genpath(<Plotly MATLAB API path>));. Either put such acall in your startup.m, or then call savepath; to save the path.

  4. In MATLAB, copy the required JavaScript files and initialize thecredentials:

    getplotlyoffline('https://cdn.plot.ly/plotly-latest.min.js');
    try, signin; catch, saveplotlycredentials('', ''); end;

    (If your version of MATLAB uses an old OpenSSL, you may need to use HTTPinstead of HTTPS.)

At the beginning of each notebook, you may then callimatlab_export_fig('fig2plotly') to use automatically Plotly inlinegraphics (no further calls to the Plotly API are required; in particular,ignore the output from getplotlyoffline).

Static exporters

The static exporters (png, svg, and jpeg) do not required additionaldependencies.

The default size of exported figures, as well as whether to display figuresbefore exporting them, should be set using standard figure properties (set(0,'defaultpaperposition', [left, bottom, width, height]);, etc.).

Custom exporters

For further customization, you may override the imatlab_export_fig function(the default version is provided by imatlab and added to the MATLAB path).This function is called with no arguments after each notebook cell is executed,while the current directory is temporarily switched to a temporary folder; thisfunction should return a cell array of filenames with .html, .png, or.jpg/.jpeg extension. The corresponding files, which should have beencreated by the function, will be loaded into the notebook.

Environment variables

IMATLAB_CONNECT
If this environment variable is set to a valid MATLAB identifier, the kernelwill attempt to connect to the shared engine with that name. If it is setto another non-empty value, it will connect to any existing shared engine.
IMATLAB_CD
If this environment variable is set, the engine's working directory will bechanged to match the kernel's working directory.

IMATLAB_CONNECT needs to be set outside of MATLAB (as it is checked beforethe connection to the engine is made). Other environment variables can be seteither outside of MATLAB (before starting the kernel) or from within MATLAB(using setenv).

Asynchronous output

A construct such as 1, pause(1), 2 will output 1 and 2 with a onesecond interval on Linux and OSX, but together after a one second wait onWindows. PRs improving Windows support are welcome.

Asynchronous output using timer objects seem to be completely unsupportedby the MATLAB engine for Python.

MATLAB debugger

The MATLAB debugger is cleared (dbclear all) before each execution, asinteractive input is not supported by the engine API.

Differences with the Calysto MATLAB Kernel

  • The completion system is much more robust, by relying on the new APIavailable in MATLAB 2016b.
  • History is read from and written to MATLAB's own History.xml, and thusshared with standard MATLAB sessions. Note that if the file does not exist(e.g. if the don't save history file option is set, or in a console-onlysetup), history will not be reloaded into later sessions. (A PR for loadinghistory.m instead would be welcome; it would need to properly parsemultiline inputs in that file.)
  • Synchronous output is supported on Linux and OSX (see above).
  • There is no magics systems, as MATLAB already provides many functions forthis purpose (cd, edit, etc.).
  • Inline graphics can be based on plotly, and thus interactive.

Tests

Run tests with python -munittest or pytest after installing the kernel andjupyter_kernel_test.

  • Matlab 中一些符号的含义_电脑基础知识_IT/计算机_专业资料。一个角度 ... 8、 在 MATLAB 中,a = 1,b = i,则 a 占_8__个字节,b 占_16_个字节,c 占___ 字节。 9、 在 MATLAB 中,inf 的含义是__无穷大__,nan 的含义...... MATLAB中FFT结果的物理意义_数学_自然科学_专业资料。MATLAB中如何使用fft,以及fft

  • 由于 MATLAB不使用 stdin 和 stdout,而是使用command window进行交互。因此不需要使用 scanf 和 printf 等 C/C++ 函数来提示用户进行输入。但在某些情况下需要提示用户进行输入并打印相关结果时,可使用如下函数。 输入:input() MATLAB中使用input()函数获取用户输入。 1. 输入单个数值 a = input('');

  •        今天在MATLAB中遇见了ismember函数,就懒了上网上搜了一下是怎么回事,找了半天也没有说明白的,后来还是自己在MATLAB中help一下,看看这个函数到底干了啥! 用法:(举例) a=[1 2 3 4 5]; b=[3 4 5 6 7]; c=[2 4 6 8 10]; ismember(a,b) [lia,lib]=ismember(a,c) 直接复制代码到MATLAB运行

  • 复数的数学表述 代数式 F = a + j b F = a +jb F=a+jb a,b 分别代表了实部和虚部。 指数式 F = ∣ F ∣ e θ F= |F| e^{\theta} F=∣F∣eθ F F F 代表了模(幅值), θ \theta θ 代表了角度(相位) 三角函数式 F = ∣ F ∣ e j θ = ∣ F ∣ ( c o s θ + j s i n θ ) = a + j

  • 一、取整函数 1.向零取整(截尾取整) fix-向零取整(Round towards zero); fix(3.6) ans = 3 2.向负无穷取整(不超过x 的最大整数-高斯取整) floor-向负无穷取整(Round towards minus infinity); floor(-3.6) ans = -4 3.向正无穷取整(大于x 的最小整数) ceil-向正无穷取整(Round towa

  • 高晓勇的回答: length:数组长度,i=length(y):如果y为非空数组,返回行数和列数两者之间较大的那个值。然后还有佛如循环,这句代码的意思是就是获取y 的长度值,然后i 循环从1循环到length(y)。 蒋鑫的回答: length:数组长度,i=length(y):如果y为非空数组,返回行数和列数两者之间较大的那个值。然后还有佛如循环,这句代码的意思是就是获取y 的长度值,然后i 循

  • matlab中怎样从一个邹振中查找一个行向量的位置,即行数 编个循环?fori=1:size(A,1)ifsum(A(i,:)==C)==length(A(i,:))result=i;endend用find似乎不行.另外我把判断条件改了. matlab 求矩阵最小值 min(a)返回的是每列的最小值>>a=[234;512]a=234512>>min(a)ans=212 matlab中,如何确定向

  • 以下语句显示了一种在 MATLAB 中创建复数值的方法。变量 x 被赋予了一个复数值,该复数的实部为 2,虚部为 3: x = 2 + 3i; 创建复数的另一种方法是使用 complex 函数。此函数将两个数值输入组合成一个复数输出,并使第一个输入成为实部,使第二个输入成为虚部: x = rand(3) * 5; y = rand(3) * -8; z = complex(x, y) z = 4.

  • matlab里怎么调用函数每一滴泪,每一道疤,是自己成长的代价,小编曾经犹豫过,葛然回首,小编不后悔。 先保存你所编写的函数 如函数 function drawsur(surface), switch surface case 'sphere',sphere case 'cylinder',cylinder end shading interp axis equal 保存在D:\My Docume

  • Simulink 模块如下:其中, MATLABFCN为核心算法,因代码较长,放... Excel Link 提供了 13 个函数,分别为 4 个链接管理函数 (matlabinit,MLAutoStart,MLClose,MLOpen) 和 9 个数据管理函数 (matlabfcn,matlabsub,MLAppendMatrix,...... 35???7.?Select?the?"MATLA

  • 函数功能 开启并行计算,同时开启多个处理器进行代码运算,加速程序运行。 函数应用注意事项 # 开启和关闭并行计算 coreNum =8; %设置处理器数目 matlabpool(‘open’, ‘local’, coreNum); %开启并行计算 matlabpool close %关闭并行计算 需要注意的是2014之后版本不再使用matlabpool,二以parpool函数替代,其开启并行的方法

  • 最近在读别人的代码时,发现i,j在使用时没有赋值,但是程序也没有报错。很奇怪,调试运行才知道i,j自动赋了值。 在Matlab中,i 和j其实是MATLAB内置函数,代表的是虚数单位。 一般情况下,我们编程喜欢用i,j作为循环变量,(这个习惯是学习C语言的时候形成的)。 clear i j i = 1; j = 2; 在Matlab中,我们也可以用i,j作为循环变量。Matlab运行时将i和j重

  • 这个分两种情况: 第一种,纵轴已经显示为指数刻度,只是想改变这个指数,如由10^3改为10^6,可如下设置: ax = gca; ax.YAxis.Exponent = 6; (ax.YAxis(2).Exponent=6;)%%%---多纵轴情况下--- 参考:How do I change the yaxis exponent when using a double y-axis plot?