Matlab - Ejecutar archivos ".m" y ".mdl" desde un Push Button

 
Vista:

Ejecutar archivos ".m" y ".mdl" desde un Push Button

Publicado por Víctor (3 intervenciones) el 15/11/2012 13:39:32
Buenas tardes a todos,

Estoy realizando una GUI para hacer más sencilla la interpretación de un proyecto sobre el gobierno de una servovalvula del flap del ala de un avión.

La idea que tengo es la de realizar una GUI, con "Push Buttons", en orden y numerados, para que el examinador solo tenga que pulsar el botón correspondiente y obtenga automáticamente lo que dice el botón que va a obtener (cargar variables principales; ejecutar un ".m" "abrir un archivo simulink ".mdl"... etc.).

Estoy buscando el código a introducir en los Callbacks de los Push Buttons de la GUI para:

1- Ejecutar un archivo ".m" al pulsar el boton (como si lo escribieramos nosotros en matlab en la ventana de comandos)

2- Abra un archivo simulink ".mdl" (Correr el archivo simulink tambien se puede hacer? Seria un gran avance)

Un saludo y espero que puedan ayudarme.

Muchas gracias de antemano:

Víctor
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Ejecutar archivos ".m" y ".mdl" desde un Push Button

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 16/11/2012 19:37:56
respuesta 1.
1
2
3
4
function pushbutton2_Callback(hObject, eventdata, handles)
% escribes el archivo,  pero sin su extension
%Ejemplo:  
caballero


pregunta 2

http://www.lawebdelprogramador.com/foros/Matlab/1356608-interactuar_una_gui_con_simulink.html


Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
programador en matlab
Servicios de programacion matlab
[email protected]

http://matlabcaballero.blogspot.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ejecutar archivos ".m" y ".mdl" desde un Push Button

Publicado por Víctor (3 intervenciones) el 17/11/2012 14:52:19
Hola de nuevo,

En primer lugar, gracias por tu respuesta. No he estado parado durante este tiempo y he investigado más, intentando cosas nuevas para que me funcione el GUI.

Encontre la pregunta 1, escribir el nombre del archivo.m sin su extension. Lo hice. El problema es que no se donde se cargan las variables. Es un archivo de constantes, y formulas (es un script, no una función), y lo necesito para que luego los archivos de simulink cojan las variables de ahí para realizar sus cálculos.

En cuanto a la pregunta 2, encontré ese post, y lo lei. Con el comando que ahora pegaré aquí, he conseguido que se me abra el simulink, pero tengo que darle manualmente al play (algo que no es un problema primordial). El problema es que ese simulink utiliza los datos de un ".m" y ese archivo no se ejecuta o se ejecuta en otro sitio que el simulink no puede leer (no se si me explico muy bien...) y por tanto simulink me da errores de todo tipo.

Pego el código de los botones:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
 
principal;
 
 
 
% --- Executes on button press in pushbutton3.
function pushbutton3_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton3 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
identification;
open_system('simu_identification.mdl');
 
 
% --- Executes on button press in pushbutton4.
function pushbutton4_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton4 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
 
graphes_simu;


La idea una vez visto el codigo es la siguiente (para resumir, que si no hago esto demasiado pesado)

1- Ejecutar un archivo.m y cargar las varibles (luego los simulinks necesitan esas varibles durante todo el proyecto)

2- Pulsar el segundo boton, el cual tiene que ejecutar otro archivo.m y luego abrir un simulink para realizar el ensayo (este simulink utiliza los datos de los .m.

3- Pulsar el tercer boton para ejecutar otro .m que me dibuja lo que sale en el simulink


Pedirme lo que queráis, o hacerme las preguntas que necesiteis, siento no ser mas claro, pero no se como enfocar bien el problema

Un saludo y gracias por la ayuda de nuevo Jose Jeremias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ejecutar archivos ".m" y ".mdl" desde un Push Button

Publicado por Emmanuel Espejo (1 intervención) el 20/11/2012 00:39:05
En cuanto a tu pregunta 2, yo he programado algo similar, pero tuve que cambiar el archivo .m.
Espero poderme explicar bien, ya que soy nuevo acá.
Por ejemplo: Supongo que tenes varias variables o constantes expresadas como sigue:

A=100; %constante 'A'
B=200; %constante 'B'

... etc.

Para que se carguen en el workspace debes agregar luego de cada constante el comando 'assignin' y te quedará algo parecido a esto:

A=100; %constante 'A'
assignin('base','A',A);
B=200; %constante 'B'
assignin('base','B',B);

... etc

Vas a tener que modificar en definitiva todo el ".m". Sé que es un poco tediosa la tarea pero es la única manera que se me ocurre.
Saludos y espero que te haya servido.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ejecutar archivos ".m" y ".mdl" desde un Push Button

Publicado por Víctor (3 intervenciones) el 21/11/2012 22:39:08
Gracias por tu ayuda Emmanuel, mañana mismo me pongo con ello. Lo probare y te digo si funciona.

desde luego si funciona...Me has resuelto un problema de dimensiones titanicas :)

Un saludo!

PD: si a alguien se le ocurren mas ideas que puedan ayudarme estaré encantado de recibirlas :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ejecutar archivos ".m" y ".mdl" desde un Push Button

Publicado por Luis (5 intervenciones) el 25/11/2012 08:58:59
Hola, mira pues no se si estoy repitiendo lo mismo que ya te dijeron pero por si acaso te funcionara. Esto lo he hecho con solo scripts no con Simulink (pero supongo que no habria problemas) y pues en tu callback pones el nombre de tu archivo .m y te redirecciona a el solo que la condicion es que este en la misma carpeta donde esta guardado tu GUI sino pues tendrias que poner la extension completa.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ejecutar archivos ".m" y ".mdl" desde un Push Button

Publicado por Joys (1 intervención) el 14/05/2019 17:35:51
hola ,veo q este post es un poco viejo, pero necesito ayuda, estoy en la misma situacion q publ1caron en el problema 1 y necesito ayuda lo mas pronto posible
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar