我提前为这个问题道歉。我不喜欢“解释此代码”的问题,但我找不到任何关于我的具体示例的文档。
背景的
我的问题是这个。我正在尝试将一些MATLAB代码转换为C#,但我同时还要学习MATLAB。我不与任何知道MATLAB代码的人合作,我无法访问MATLAB,所以我无法测试任何代码,我找不到任何关于以下问题的文档。所以......
问题(S)
我可以用某个免费的在线/桌面MATLAB编译器/解释器来测试MATLAB代码吗?
...或...
是否有人可以解释以下代码段:
someVar.member1=myValue1;
someVar.member2=myValue2;
if (myCondition)
for i=1:myTotal
someVar(i).member3=myValue3;
end;
end;
这会使someVar
成为一个数组吗?我是否会丢失member1
和member2
,还是以某种方式保存我所设置的内容?
答案 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)
您可以尝试Octave,它与MATLAB免费且非常兼容。
在此代码段的末尾(假设myCondition
为真),someVar
将是长度为myTotal
的向量(即{{1}的大小为1的数组}})。向量的每个元素都是一个包含三个字段myTotal
,member1
和member2
的结构。向量的第一个元素将包含所有三个字段的值;其余的值仅包含member3
的值,并且将空数组作为member3
和member1
的值。如果member2
为false,则您将拥有包含两个字段myCondition
和member1
的单一结构。
希望有所帮助!
答案 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)
确实很好找。欢呼声。