【发布时间】:2011-05-26 19:43:46
【问题描述】:
我在mathematica中使用如下代码调用matlab
In[1]:= Needs["NETLink`"]
matlab = CreateCOMObject["matlab.application"]
In[5]:= matlab@Execute["a=[1 2;3 4]"]
我想从mathematica 中获取matlab 工作区变量“a”并将其转换为mathematica 矩阵。 如何使用 netlink 做到这一点?
【问题讨论】:
-
我没有 matlab,但假设
matlab@Execute["a"]的输出将是 Matlab 格式的字符串,您需要将该字符串解析为有效的 Mathematica 语法。或者,您可以使用 Mathematica 可以导入的格式将向量、矩阵从 matlab 导出到文件中。 -
@Sasha:你如何获得任何应用程序的“ProgID”?
-
@Jalil 我建议您提供一些在评估代码时获得的输出示例,例如
matlab@Execute["a=[1 2;3 4]"]。然后有人可以帮助您编写将此类输出转换为 Mathematica 格式的代码。 -
@Alexey: 如果我写 matlab@Execute["a=1;"] 我不能使用 ImportString 命令因为 ";" .
-
@Jalil 你应该提供一组你希望能够转换成 Mathematica 格式的示例输出。
标签: matlab wolfram-mathematica netlink