Matlab - Ayuda Función en GUI

 
Vista:
sin imagen de perfil
Val: 8
Ha aumentado su posición en 6 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Ayuda Función en GUI

Publicado por Andres (5 intervenciones) el 09/11/2018 06:28:58
Hola a todos les presento mi inquietud espero su respuesta, recien me estoy familiarizando con el programa...

El asunto es que me encuentro realizando una GUI para resolver un sistema de 4 EDO's de segundo orden..
Según e investigado la función con los parámetros que ponga debe crearse en un archivo distinto al que nos da por defecto el del GUI; el inconveniente que tengo es que en el archivo que contiene la funcion y codigos de la solucion contiene los valores "constantes" de todos los parametros que deseo ingresar en los edits de la GUI al correrla.
En la GUI la solución y graficas la programo en un boton pero los valores de las "constantes" no cambian con el "String" de los edits.

Ya intente ponerle esto por ejemplo:
M=get(handles.M,'String');

Es para una "constante" del archivo que contiene la función y los codigos para su solución pero obviamente al correr genera errores porque aun no corre la GUI.

Ya intente ponerle toda la programación en el boton sin tener que crear otro archivo pero me genera errores. Que puedo hacer en este caso? como puedo meter la función en el GUI o como enlazar los edits con el archivo?

Espero hayan comprendido mi inquietud y espero su respuesta
Gracias
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

Ayuda Función en GUI

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 09/11/2018 13:03:52
Según entiendo tienes archivos *.m creados y quieres usarlo en el guide. Si eso deseas, entonces en el guide a todo function al final de ese function debes agregar el texto end, es decir debes cerrar todas funciones del guide.

Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab


http://matlabcaballero.blogspot.com
https://www.facebook.com/matlabcaballero
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
sin imagen de perfil
Val: 8
Ha aumentado su posición en 6 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Ayuda Función en GUI

Publicado por Andres (5 intervenciones) el 10/11/2018 00:03:04
Hola Jose gracias por responder.... el código que tengo en el archivo que digo es el siguiente:

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
function [t,matrix1,matrix2,matrix3,matrix4,matrix5,matrix6,matrix7]=solasf(tf,c,a1,a2,k,cn,kn,M,m1,m2,Iy)
%condiciones iniciales
x0=zeros(1,8);
x0(1)=0;
x0(2)=0;
x0(3)=0;
x0(4)=0;
x0(5)=0;
x0(6)=0;
x0(7)=0;
x0(8)=0;
%inputs
tf=100;
M=900;
m1=20;
m2=20;
a1=0.8;
a2=1.3;
Iy=25000;
k=10000;
c=400;
kn=2000;
cn=30000;
L=10;
%ecuaciones de entrada
y1=L;
%sin(tf);
dy1=0;
%cos(tf);
 
%ecuacion diferencial
f=@(t,x) [x(2);(-c*(2*x(2)-x(4)-x(6)-a1*x(8)-a2*x(8))-k*(2*x(1)-x(3)-x(5)-a1*x(7)+a2*x(7)))/M;
    x(4);
   (+c*(x(2)-x(4)-a1*x(8))+k*(x(1)-x(3)-a1*x(7))-cn*x(4)-kn*x(3)+cn*dy1+kn*y1)/m1;
    x(6);
    (c*(x(2)-x(6)+a2*x(8))+k*(x(1)-x(5)-a2*x(7))-cn*x(6)-kn*x(5)+cn*dy1+kn*y1)/m2;
    x(8);(-c*(x(2)*(a2-a1)+a1*x(4)+a1*a1*x(8)-a2*x(6)+a2*a2*x(8))-k*(x(1)*(a2-a1)+a1*x(3)+a1*a1*x(7)-a2*x(5)+a2*a2*x(7)))/Iy];
tspan=[0 tf];
[t,x]=ode45(f,tspan,x0);
 
%adecuacion del tiempo 
longitud = size(t);
%creacion del la primera matriz
x11=diff(x(:,2));
x11(longitud(1,1),1)=x11(longitud(1,1)-1,1);
matrix1=[x(:,1),x(:,2),x11];
%creacion la segunda matriz
x21=diff(x(:,4));
x21(longitud(1,1),1)=x21(longitud(1,1)-1,1);
matrix2=[x(:,3),x(:,4),x21];
%creacion la tercera matriz
x31=diff(x(:,6));
x31(longitud(1,1),1)=x31(longitud(1,1)-1,1);
matrix3=[x(:,5),x(:,6),x31];
%creacion la cuarta matriz
x41=diff(x(:,6));
x41(longitud(1,1),1)=x41(longitud(1,1)-1,1);
matrix4 = [x(:,7),x(:,8),x41];
%creacion la quinta matriz posición
matrix5 = [x(:,1),x(:,3),x(:,5),x(:,7)];
%creacion la quinta matriz velocidades
matrix6 = [x(:,2),x(:,4),x(:,6),x(:,8)];
%creacion la quinta matriz aceleraciones
matrix7 =[x11,x21,x31,x41];
 
end


Las constantes que deseo que se ingresen desde la GUI son la parte que dice inputs... si copio el codigo directo al boton de la GUI me sale error como puedo corregirlo o como enlazar los edits de las constantes...
o hay alguna forma de poder cambiar los valores de éste archivo desde la GUI para que éstos cambien...


Gracias por tu apoyo
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
sin imagen de perfil
Val: 8
Ha aumentado su posición en 6 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Ayuda Función en GUI

Publicado por Andres (5 intervenciones) el 10/11/2018 03:19:03
Los datos por decir son esos que estan en los inputs.... pero kiero que al cambiar los valores de la GUI cambien tambien los de ese archivo o como poner toda esa programación en el boton del GUI...
o si existe alguna forma de ingresar esa función talvez cambiando parte del código
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
sin imagen de perfil
Val: 8
Ha aumentado su posición en 6 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Ayuda Función en GUI

Publicado por Andres (5 intervenciones) el 10/11/2018 05:20:54
el programa usa estos datos para obtener la solucion del sistema de ecuaciones

tf=100;
M=900;
m1=20;
m2=20;
a1=0.8;
a2=1.3;
Iy=25000;
k=10000;
c=400;
kn=2000;
cn=30000;
L=10;

estos son los argumentos de entrada... pero por defecto estas variables no se crean en el workspace...
Lo que requiero es que estos valores cambien para generar nuevas graficas con los valores que se ingresen en los edits de la GUI..

Espero que sean los datos requeridos, la imagen contiene la ventana del GUI desde donde requiero que se "actualicen" los datos de entrada de la función para asi ver los cambios de las graficas..
GUI

o talvez alguna manera para que la funcion tome los valores de los edits de la GUI de otro archivo al presionar el boton calcular
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