有人可以指向我在线/免费的MATLAB编译器/解释器或解释这个MATLAB代码中发生了什么?

时间:2012-12-18 16:11:39

标签: matlab matlab-compiler

我提前为这个问题道歉。我不喜欢“解释此代码”的问题,但我找不到任何关于我的具体示例的文档。

背景
我的问题是这个。我正在尝试将一些MATLAB代码转换为C#,但我同时还要学习MATLAB。我不与任何知道MATLAB代码的人合作,我无法访问MATLAB,所以我无法测试任何代码,我找不到任何关于以下问题的文档。所以......

问题(S)

  1. 我可以用某个免费的在线/桌面MATLAB编译器/解释器来测试MATLAB代码吗?

    ...或...

  2. 是否有人可以解释以下代码段:

    someVar.member1=myValue1;
    someVar.member2=myValue2;
    if (myCondition)
        for i=1:myTotal
            someVar(i).member3=myValue3;
        end;
    end;
    

    这会使someVar成为一个数组吗?我是否会丢失member1member2,还是以某种方式保存我所设置的内容?

5 个答案:

答案 0 :(得分:16)

Re:1 - 有优秀的Matlab Documentation,包括视频教程,可以帮助您理解Matlab。这比编译器更有用,因为您将了解代码的用途,以便您可以以适合C#的方式重新编写代码,而不是尝试复制Matlab优化的语法。

然而,为了测试运行Matlab代码,Octave提供了核心Matlab的大部分功能,但可能不支持工具箱功能(您额外付费的Matlab附加模块)。

Re:2 - 这是代码的作用

使用字段someVar实例化structure array member(Matlab不需要事先声明变量);将其分配给myValue1

someVar.member1=myValue1;

创建其他字段member2,将其设置为myValue2

someVar.member2=myValue2;

如果条件为真,则循环myTotal次,并将member3的所有i元素的字段someVar设置为myValue3。因此,someVar从1乘1结构数组变为1乘1 myTotal结构数组。 someVar(1).member1仍为myValue1,而someVar(i).member1初始化为空([])。

if (myCondition)
    for i=1:myTotal
        someVar(i).member3=myValue3;
    end;
end;

/ aside:这个循环是定义结构的一种相当低效的方法。因此,您需要翻译的代码中可能没有太多Matlab优化的语法。

答案 1 :(得分:8)

试试这个网站:
http://www.compileonline.com/execute_matlab_online.php
它有一个Matlab编译器以及许多其他语言,如Perl,Python,Java,C等。

答案 2 :(得分:7)

  1. 您可以尝试Octave,它与MATLAB免费且非常兼容。

  2. 在此代码段的末尾(假设myCondition为真),someVar将是长度为myTotal的向量(即{{1}的大小为1的数组}})。向量的每个元素都是一个包含三个字段myTotalmember1member2的结构。向量的第一个元素将包含所有三个字段的值;其余的值仅包含member3的值,并且将空数组作为member3member1的值。如果member2为false,则您将拥有包含两个字段myConditionmember1的单一结构。

  3. 希望有所帮助!

答案 3 :(得分:7)

我为MATLAB / Octave编写了一个免费的在线界面,可以运行脚本并且还有一个实时提示符,您可以在其中键入命令。您还可以在会话之间保存脚本。请查看octave-online.net

答案 4 :(得分:1)

我只想重复一个建议的选择:anycodex.com 在之前的回答中,因为没有提到它是一个真正的在线MATLAB解释器,这真的很好。起初我很怀疑,认为它只是另一个由Octave驱动的,但在使用ver命令后,它似乎表明它使用了MATLAB Version: 7.14.0.739 (R2012a),如此处所示的安装产品:

--------------------------------------------------------------------------------------------------
MATLAB Version: 7.14.0.739 (R2012a)
MATLAB License Number: 161052
Operating System: Linux 3.5.0-23-generic #35~precise1-Ubuntu SMP Fri Jan 25 17:15:33 UTC 2013 i686
Java Version: Java 1.6.0_17-b04 with Sun Microsystems Inc. Java HotSpot(TM) Client VM mixed mode
--------------------------------------------------------------------------------------------------
MATLAB                                                Version 7.14       (R2012a)
Simulink                                              Version 7.9        (R2012a)
Aerospace Blockset                                    Version 3.9        (R2012a)
Aerospace Toolbox                                     Version 2.9        (R2012a)
Bioinformatics Toolbox                                Version 4.1        (R2012a)
Communications System Toolbox                         Version 5.2        (R2012a)
Computer Vision System Toolbox                        Version 5.0        (R2012a)
Control System Toolbox                                Version 9.3        (R2012a)
Curve Fitting Toolbox                                 Version 3.2.1      (R2012a)
DO Qualification Kit                                  Version 1.6        (R2012a)
DSP System Toolbox                                    Version 8.2        (R2012a)
Database Toolbox                                      Version 3.11       (R2012a)
Datafeed Toolbox                                      Version 4.3        (R2012a)
Econometrics Toolbox                                  Version 2.1        (R2012a)
Embedded Coder                                        Version 6.2        (R2012a)
Filter Design HDL Coder                               Version 2.9.1      (R2012a)
Financial Derivatives Toolbox                         Version 5.9        (R2012a)
Financial Toolbox                                     Version 4.2        (R2012a)
Fixed-Income Toolbox                                  Version 2.3        (R2012a)
Fixed-Point Toolbox                                   Version 3.5        (R2012a)
Fuzzy Logic Toolbox                                   Version 2.2.15     (R2012a)
Global Optimization Toolbox                           Version 3.2.1      (R2012a)
HDL Coder                                             Version 3.0        (R2012a)
HDL Verifier                                          Version 4.0        (R2012a)
IEC Certification Kit                                 Version 2.1        (R2012a)
Image Acquisition Toolbox                             Version 4.3        (R2012a)
Image Processing Toolbox                              Version 8.0        (R2012a)
Instrument Control Toolbox                            Version 3.1        (R2012a)
MATLAB Builder JA                                     Version 2.2.4      (R2012a)
MATLAB Coder                                          Version 2.2        (R2012a)
MATLAB Compiler                                       Version 4.17       (R2012a)
MATLAB Distributed Computing Server                   Version 6.0        (R2012a)
MATLAB Report Generator                               Version 3.12       (R2012a)
Mapping Toolbox                                       Version 3.5        (R2012a)
Model Predictive Control Toolbox                      Version 4.1        (R2012a)
Neural Network Toolbox                                Version 7.0.3      (R2012a)
Optimization Toolbox                                  Version 6.2        (R2012a)
Parallel Computing Toolbox                            Version 6.0        (R2012a)
Partial Differential Equation Toolbox                 Version 1.0.20     (R2012a)
Phased Array System Toolbox                           Version 1.2        (R2012a)
RF Toolbox                                            Version 2.10       (R2012a)
Robust Control Toolbox                                Version 4.1        (R2012a)
Signal Processing Toolbox                             Version 6.17       (R2012a)
SimBiology                                            Version 4.1        (R2012a)
SimDriveline                                          Version 2.2        (R2012a)
SimElectronics                                        Version 2.1        (R2012a)
SimEvents                                             Version 4.1        (R2012a)
SimHydraulics                                         Version 1.10.1     (R2012a)
SimMechanics                                          Version 4.0        (R2012a)
SimPowerSystems                                       Version 5.6        (R2012a)
SimRF                                                 Version 3.2        (R2012a)
Simscape                                              Version 3.7        (R2012a)
Simulink 3D Animation                                 Version 6.1        (R2012a)
Simulink Code Inspector                               Version 1.1        (R2012a)
Simulink Coder                                        Version 8.2        (R2012a)
Simulink Control Design                               Version 3.5        (R2012a)
Simulink Design Optimization                          Version 2.1        (R2012a)
Simulink Design Verifier                              Version 2.2        (R2012a)
Simulink Fixed Point                                  Version 7.1        (R2012a)
Simulink Report Generator                             Version 3.12       (R2012a)
Simulink Verification and Validation                  Version 3.3        (R2012a)
Stateflow                                             Version 7.9        (R2012a)
Statistics Toolbox                                    Version 8.0        (R2012a)
Symbolic Math Toolbox                                 Version 5.8        (R2012a)
System Identification Toolbox                         Version 8.0        (R2012a)
SystemTest                                            Version 2.6.3      (R2012a)
Wavelet Toolbox                                       Version 4.9        (R2012a)

确实很好找。欢呼声。