20

この質問を前もってお詫び申し上げます。「このコードを説明してください」という質問は好きではありませんが、特定の例に関するドキュメントが見つかりません。

背景
私の問題はこれです。一部の MATLAB コードを C# に変換しようとしていますが、同時に MATLAB を学習する必要があります。私は MATLAB コードを知っている人と仕事をしていません。MATLAB にアクセスできないため、コードをテストすることはできません。また、次の質問に関するドキュメントも見つかりません。そう...

質問

  1. MATLAB コードのテストに使用できる無料のオンライン/デスクトップ MATLAB コンパイラ/インタープリターはありますか?

    ...また...

  2. 次のコード スニペットを説明できる人はいますか。

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

    これsomeVarは配列になりますか?どういうわけか設定したものを失いますかmember1、それとも保存しますか?member2

4

5 に答える 5

17

Re: 1 -ビデオ チュートリアルを含む優れたMatlab ドキュメントがあり、Matlab を理解するのに役立ちます。これは、Matlab に最適化された構文をコピーしようとするのではなく、C# に適した方法でコードを書き直すことができるように、コードの意図を学習できるため、コンパイラよりもはるかに便利です。

ただし、Matlab コードをテスト実行するために、コア Matlab のほとんどの機能を提供するOctaveがありますが、ツールボックス機能 (追加料金を支払う Matlab の追加モジュール) をサポートしない場合があります。

Re: 2 - コードの機能は次のとおりです

field を使用して構造体配列 をインスタンス化someVarします (Matlab では事前に変数を宣言する必要はありません) member。に割り当てますmyValue1

someVar.member1=myValue1;

追加のフィールドを作成しmember2、に設定しますmyValue2

someVar.member2=myValue2;

条件が true の場合は、時間をループし、のすべての要素のmyTotalフィールドを に設定します。したがって、1 行 1 列の構造体配列から 1 行 1 列の構造体配列になります。空( ) に初期化されます。member3isomeVarmyValue3someVarmyTotalsomeVar(1).member1myValue1someVar(i).member1[]

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

/aside: このループは、構造を定義する方法としてはかなり非効率的です。したがって、翻訳する必要があるコードには、Matlab に最適化された構文があまり含まれていない可能性があります。

于 2012-12-18T16:20:40.913 に答える
9

スクリプトを実行し、コマンドを入力できるライブ プロンプトを備えた MATLAB/Octave 用の無料のオンライン インターフェイスを作成しました。セッション間でスクリプトを保存することもできます。octave-online.netでチェックしてください。

于 2013-10-19T05:27:51.597 に答える
8

この Web サイトを試してください:
http://www.compileonline.com/execute_matlab_online.php
これには、Matlab コンパイラと、Perl、Python、Java、C などの他の多くの言語があります。

于 2013-04-30T16:03:58.060 に答える
8
  1. 無料で MATLAB とかなり互換性のある Octave を試すことができます。

  2. このスニペットの最後 ( myConditiontrue と仮定) は、someVar長さのベクトルmyTotal(つまり、サイズが 1 x の配列myTotal) になります。ベクトルの各要素は、 と の 3 つのフィールドを持つ構造体member1member2なりmember3ます。ベクトルの最初の要素には、3 つのフィールドすべての値が含まれます。残りのものは のみの値member3を持ち、 と の値として空の配列をmember1持ちmember2ます。が false の場合、 と の 2 つのフィールドをmyCondition持つ単一の構造体になります。member1member2

それが役立つことを願っています!

于 2012-12-18T16:19:12.567 に答える
1

提案された選択肢の 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)

とても素敵な発見です。乾杯。

于 2014-03-22T08:25:19.977 に答える