programacion - script matlab ejemplo
¿Alguien puede indicarme un compilador/intérprete de MATLAB en línea o gratis o explicar qué sucede en este código de MATLAB? (5)
Puedes probar Octave, que es gratuito y bastante compatible con MATLAB.
Al final de este fragmento de
myCondition
(suponiendo quemyCondition
es verdadero),someVar
será un vector con longitudmyTotal
(es decir, una matriz de tamaño 1 pormyTotal
). Cada elemento del vector será una estructura con tres camposmember1
,member2
ymember3
. El primer elemento del vector tendrá valores para los tres campos; los restantes tendrán valores solo paramember3
, y tendrán la matriz vacía como valores paramember1
ymember2
. SimyCondition
es falso, tendrá una estructura única con dos camposmember1
ymember2
.
¡Espero que ayude!
Me disculpo de antemano por esta pregunta. No me gustan las preguntas sobre "explique este código", pero no puedo encontrar ninguna documentación sobre mi ejemplo específico.
Fondo
Mi problema es este. Estoy intentando traducir algún código de MATLAB a C #, pero al mismo tiempo tengo que aprender MATLAB. No trabajo con nadie que sepa el código MATLAB, no tengo acceso a MATLAB, por lo que no puedo probar ninguno de los códigos y no puedo encontrar ninguna documentación sobre la siguiente pregunta. Asi que...
Pregunta (s)
¿Hay algún intérprete / compilador MATLAB en línea / de escritorio gratuito que pueda usar para probar el código MATLAB?
...o...
¿Hay alguien que pueda explicar el siguiente fragmento de código:
someVar.member1=myValue1; someVar.member2=myValue2; if (myCondition) for i=1:myTotal someVar(i).member3=myValue3; end; end;
¿Esto convierte a
someVar
en una matriz? ¿Pierdomember1
ymember2
o guarda de alguna manera lo que he configurado?
He escrito una interfaz en línea gratuita para MATLAB / Octave que ejecuta scripts y también tiene un indicador en vivo donde puede escribir comandos. También puede guardar sus scripts entre sesiones. Échale un vistazo a octave-online.net .
Prueba este sitio web:
http://www.compileonline.com/execute_matlab_online.php
Tiene un compilador de Matlab y muchos otros lenguajes como Perl, Python, Java, C, etc.
Re: 1 - Existe la excelente documentación de Matlab , que incluye tutoriales en video, que lo ayudarán a comprender Matlab. Esto es mucho más útil que un compilador, ya que aprenderá lo que pretendía el código, por lo que puede reescribirlo de una manera que sea apropiada para C #, en lugar de intentar copiar la sintaxis optimizada de Matlab.
Sin embargo, para probar el código de Matlab, hay gnu.org/software/octave que proporciona la mayor parte de la funcionalidad del núcleo de Matlab, pero es posible que no admita las funciones de la caja de herramientas (módulos adicionales de Matlab por los que paga extra).
Re: 2 - Esto es lo que hace el código
Cree una instancia de una matriz de estructura someVar
(Matlab no necesita declarar variables de antemano) con un member
campo; asignarlo a myValue1
someVar.member1=myValue1;
Crea un campo adicional member2
, myValue2
en myValue2
someVar.member2=myValue2;
Si la condición es verdadera, myTotal
ciclo myTotal
veces y establezca el campo member3
de todos los elementos i
de someVar
en myValue3
. Por lo tanto, someVar
va de una matriz de estructura 1 por 1 a una matriz de estructura 1 por 1. someVar(1).member1
sigue siendo myValue1
, mientras que someVar(i).member1
se inicializa para vaciar ( []
).
if (myCondition)
for i=1:myTotal
someVar(i).member3=myValue3;
end;
end;
/ aparte: este bucle es una forma bastante ineficiente de definir la estructura. Por lo tanto, es posible que no haya mucha sintaxis optimizada para Matlab en el código que necesita traducir.
Solo quiero reiterar una de las opciones sugeridas: anycodex.com en una respuesta anterior, porque no se mencionó que es un verdadero intérprete de MATLAB en línea, lo cual es realmente bueno. Al principio sospeché que pensaba que era solo otro alimentado por Octave, pero después de usar el comando ver
parece mostrar que usa la MATLAB Version: 7.14.0.739 (R2012a)
como se ve aquí con sus productos instalados:
--------------------------------------------------------------------------------------------------
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)
Muy buen hallazgo por cierto. Aclamaciones.