2012-12-18 51 views
18

我對這個問題提前道歉。我不喜歡「解釋這些代碼」的問題,但我找不到有關我的具體示例的任何文檔。有人可以指向我的在線/免費的MATLAB編譯器/解釋器或解釋在這個MATLAB代碼中發生了什麼?

背景
我的問題是這樣的。我正在嘗試將一些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還是保存了我設置的內容?

+3

你可以試試這個:http://www.gnu.org/software/octave/它的matlab克隆和免費使用。大部分的matlab代碼在這裏工作。 – User1551892

+2

[This](http://www.online-utility.org/math/math_calculator.jsp)和[this](http://lavica.fesb.hr/octave/octave-on-line_en.php)是兩個「好吧」在線Octave終端。請注意,兩者都不支持MATLAB內置命令的各種版本。 –

+1

這個Matlab代碼是壞的 – Serg

回答

16

回覆:1 - 有優秀的Matlab Documentation,包括視頻教程,這將有助於你理解Matlab。這比編譯器更有用,因爲您將學習代碼的意圖,以便您可以以適合C#的方式重新編寫代碼,而不是嘗試複製Matlab優化的語法。

但是,要測試運行Matlab代碼,有Octave它提供了核心Matlab的大部分功能,但可能不支持工具箱功能(額外支付Matlab的額外模塊)。

回覆:2 - 下面的代碼確實

實例化什麼structure arraysomeVar(Matlab的並不需要事先聲明變量)與現場member;它分配給myValue1

someVar.member1=myValue1; 

創建一個附加字段member2,將其設置爲myValue2

someVar.member2=myValue2; 

如果條件爲真,循環myTotal時間,並設置someVar所有i元件的領域member3myValue3。因此,someVar從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優化語法。

+0

絕對低效。不好玩的代碼翻譯。感謝您的鏈接和解釋。 –

+2

@MikeWebb:還有[Matlab博客](http://blogs.mathworks.com/),特別是Loren's,講述了Matlab的一些有趣/好奇的方面。此外,還有我們在這裏,或者Matlab Answers的人,他們總是很樂意幫助你理解代碼(除非它使我的眼睛流血,當我的眼睛流血時我不喜歡)。 – Jonas

7
  1. 你可以嘗試八度,這是免費的,並與MATLAB漂亮兼容。

  2. 在該片段的結束(假定myCondition爲真),someVar將與長度myTotal一個矢量(即一個由myTotal尺寸1的陣列)。矢量的每個元素將是具有三個字段member1,member2member3的結構。矢量的第一個元素將具有所有三個字段的值;其餘的將僅具有member3的值,並且將具有作爲member1member2的值的空數組。如果myCondition爲false,則您將擁有包含兩個字段member1member2的單一結構。

希望幫助!

+0

感謝您對Octave的解釋和建議。我會看看。 –

7

我已經寫了一個免費的在線界面,MATLAB許多其他語言,如Perl,Python和Java的,C等。 /運行腳本的Octave,還有一個可以輸入命令的實時提示。您還可以在會話之間保存腳本。請在octave-online.net查看。

1

我只是想重申一個建議的選擇:anycodex.com在以前的答案,因爲沒有提到它是一個真正的在線MATLAB解釋器,這真的很好。我起初懷疑,以爲那只是另一個動力通過八度,但使用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) 

很不錯的發現確實如此。乾杯。

+0

鏈接重定向到色情網站。 –

相關問題