この質問について事前に謝罪します。 「このコードを説明する」という質問は好きではありませんが、特定の例に関するドキュメントを見つけることができません。
バックグラウンド
私の問題はこれです。いくつかのMATLABコードをC#に変換しようとしていますが、同時にMATLABを学習する必要があります。私は、MATLABコードを知っている人とは仕事をしていません。MATLABにアクセスできないため、コードをテストできず、次の質問に関するドキュメントも見つかりません。そう...
質問
MATLABコードをテストするために使用できる無料のオンライン/デスクトップMATLABコンパイラ/インタープリターはどこかにありますか?
...または...
次のコードスニペットを説明できる人がいますか。
someVar.member1=myValue1;
someVar.member2=myValue2;
if (myCondition)
for i=1:myTotal
someVar(i).member3=myValue3;
end;
end;
これにより、someVar
が配列になりますか?負けますかmember1
およびmember2
またはそれは私が何らかの形で設定したものを保存しますか?
Re:1-優れた Matlabドキュメンテーション があります。これには、Matlabの理解に役立つビデオチュートリアルが含まれています。これはコンパイラーよりもはるかに便利です。コードが何を意図していたかがわかるので、Matlabに最適化された構文をコピーするのではなく、C#に適した方法でコードを書き直すことができます。
ただし、Matlabコードをテスト実行するには、 Octave があります。これは、Matlabのコア機能のほとんどを提供しますが、ツールボックス関数(追加料金を支払うMatlab)。
日時:2-コードの機能
structure arraysomeVar
(Matlabは事前に変数を宣言する必要はありません)をフィールドmember
;でインスタンス化します。 _myValue1
_に割り当てます
_someVar.member1=myValue1;
_
追加のフィールド_member2
_を作成し、_myValue2
_に設定します
_someVar.member2=myValue2;
_
条件が真の場合、myTotal
をループし、i
のすべてのsomeVar
要素のフィールド_member3
_を_myValue3
_に設定します。したがって、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向けに最適化された構文があまりない場合があります。
このウェブサイトを試してください:
http://www.compileonline.com/execute_matlab_online.php
Matlabコンパイラに加えて、Perl、Python、Java、Cなど、他の多くの言語があります。
無料で、MATLABとかなり互換性のあるOctaveを試すことができます。
このスニペットの最後(myCondition
がtrueであると仮定)では、someVar
は長さmyTotal
(つまり、サイズ1のmyTotal
の配列)になります)。ベクターの各要素は、3つのフィールドmember1
、member2
、およびmember3
を持つ構造体になります。ベクトルの最初の要素には、3つのフィールドすべての値があります。残りのものはmember3
のみの値を持ち、member1
とmember2
の値として空の配列を持ちます。 myCondition
がfalseの場合、2つのフィールドmember1
およびmember2
を持つ単一の構造になります。
お役に立てば幸いです!
スクリプトを実行し、コマンドを入力できるライブプロンプトも備えた、MATLAB/Octave用の無料のオンラインインターフェイスを作成しました。セッション間でスクリプトを保存することもできます。 octave-online.net で確認してください。
提案された選択肢の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)
本当に素敵な発見。乾杯。