Matlab - PROBLEMA CON GUIDE EN UNA INTERFAZE GRAFICA!!! AYUDA!!

 
Vista:
sin imagen de perfil

PROBLEMA CON GUIDE EN UNA INTERFAZE GRAFICA!!! AYUDA!!

Publicado por Roberto (11 intervenciones) el 21/05/2014 23:23:54
SALUDOS! TENGO UN PROBLEMA! SI ALGUIEN POR FAVOR ME PUEDE AYUDAR!

NO ME SALE MI SISTEMA, MATLAB NO LEE QUIZAS ALS CONDICIONES INICIALES Y0 PORQUE CORRE EL PROGRAMA PERO NO ME DA RESULTADOS SOLO APARECE NaN Y LAS GRAFICAS VACIAS

SI ALGUIEN POR FAVOR ME PUEDE DECIR DONDE ESTA MI ERROR PORFAVOR!


AQUI MI CODIGO DEL GUIDE

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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
function varargout = heun(varargin)
% HEUN MATLAB code for heun.fig
%      HEUN, by itself, creates a new HEUN or raises the existing
%      singleton*.
%
%      H = HEUN returns the handle to a new HEUN or the handle to
%      the existing singleton*.
%
%      HEUN('CALLBACK',hObject,eventData,handles,...) calls the local
%      function named CALLBACK in HEUN.M with the given input arguments.
%
%      HEUN('Property','Value',...) creates a new HEUN or raises the
%      existing singleton*.  Starting from the left, property value pairs are
%      applied to the GUI before heun_OpeningFcn gets called.  An
%      unrecognized property name or invalid value makes property application
%      stop.  All inputs are passed to heun_OpeningFcn via varargin.
%
%      *See GUI Options on GUIDE's Tools menu.  Choose "GUI allows only one
%      instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help heun

% Last Modified by GUIDE v2.5 20-May-2014 23:57:03

% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @heun_OpeningFcn, ...
                   'gui_OutputFcn',  @heun_OutputFcn, ...
                   'gui_LayoutFcn',  [] , ...
                   'gui_Callback',   []);
if nargin && ischar(varargin{1})
    gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
    gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT


% --- Executes just before heun is made visible.
function heun_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
% varargin   command line arguments to heun (see VARARGIN)

% Choose default command line output for heun
handles.output = hObject;

% Update handles structure
guidata(hObject, handles);

% UIWAIT makes heun wait for user response (see UIRESUME)
% uiwait(handles.figure1);


% --- Outputs from this function are returned to the command line.
function varargout = heun_OutputFcn(hObject, eventdata, handles) 
% varargout  cell array for returning output args (see VARARGOUT);
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure
varargout{1} = handles.output;



function cajan_Callback(hObject, eventdata, handles)
% hObject    handle to cajan (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of cajan as text
%        str2double(get(hObject,'String')) returns contents of cajan as a double


% --- Executes during object creation, after setting all properties.
function cajan_CreateFcn(hObject, eventdata, handles)
% hObject    handle to cajan (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.
%       See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end



function cajato_Callback(hObject, eventdata, handles)
% hObject    handle to cajato (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of cajato as text
%        str2double(get(hObject,'String')) returns contents of cajato as a double


% --- Executes during object creation, after setting all properties.
function cajato_CreateFcn(hObject, eventdata, handles)
% hObject    handle to cajato (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.
%       See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end



function cajatf_Callback(hObject, eventdata, handles)
% hObject    handle to cajatf (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of cajatf as text
%        str2double(get(hObject,'String')) returns contents of cajatf as a double


% --- Executes during object creation, after setting all properties.
function cajatf_CreateFcn(hObject, eventdata, handles)
% hObject    handle to cajatf (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.
%       See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end



function condiciones_Callback(hObject, eventdata, handles)
% hObject    handle to condiciones (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of condiciones as text
%        str2double(get(hObject,'String')) returns contents of condiciones as a double


% --- Executes during object creation, after setting all properties.
function condiciones_CreateFcn(hObject, eventdata, handles)
% hObject    handle to condiciones (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.
%       See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end



function funcion_Callback(hObject, eventdata, handles)
% hObject    handle to funcion (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of funcion as text
%        str2double(get(hObject,'String')) returns contents of funcion as a double


% --- Executes during object creation, after setting all properties.
function funcion_CreateFcn(hObject, eventdata, handles)
% hObject    handle to funcion (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.
%       See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end


% --- Executes on button press in pushbutton1.
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)

syms y

 n=str2double(get(handles.cajan,'string'));
 t0=str2double(get(handles.cajato,'string'));
 tf=str2double(get(handles.cajatf,'string'));
 
for i=1:n
    y0(i)=str2double(get(handles.condiciones,'string'));    %AQUI QUIZAS SEA EL PROBLEMA
end

 fii=get(handles.funcion,'string');
 fi=inline(fii,'t','y');
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 %sistemas de EDO! Metodo de Heun (RK 23)
[X, Y] = ode23(fi,[t0 tf], y0);

[X,Y]

figure(1)
plot (X,Y)
title('Solucion con Metodo de Heun')
xlabel('intervalos del tiempo final')
grid on

if n==2
    figure(2)
    plot3(X(:,1),Y(:,1),Y(:,2))
    title('solucion en 3D metodo de Heun')
    xlabel('Intervalos del Tiempo en x')
    grid on
    
    figure(3)
    plot(X(:,1),Y(:,1))
    title('solucion en metodo de Heun solucion de X vs Y1')
    xlabel('Intervalos del Tiempo en x')
    grid on
    
    figure(4)
    plot(X(:,1),Y(:,2))
    title('solucion en metodo de Heun solucion de X vs Y2')
    xlabel('Intervalos del Tiempo en x')
    grid on
    
    figure(5)
    plot(Y(:,1),Y(:,2))
    title('solucion en metodo de Heun solucion de Y1 vs Y2')
    xlabel('Intervalos del Tiempo en x')
    grid on
end
if n == 3
%con una dimension mayor no sale la grafica
figure(2)
plot3(Y(:,1),Y(:,2),Y(:,3))
title('solucion en 3D metodo de Heun')
xlabel('Intervalos del Tiempo en x')
grid on

%en esta seccion podemos ver la interaccion con cada variable
figure(3)
plot (Y(:,1),Y(:,2))
title('Solucion con Metodo de Heun solucion de Y1 vs Y2')
xlabel('intervalos del tiempo final')
grid on

figure(4)
plot (Y(:,1),Y(:,3))
title('Solucion con Metodo de Heun solucion de Y1 vs Y3')
xlabel('intervalos del tiempo final')
grid on

figure(5)
plot (Y(:,2),Y(:,3))
title('Solucion con Metodo de Heun solucion de Y2 vs Y3')
xlabel('intervalos del tiempo final')
grid on

end

if n>3
        nn=2;
    for i=1:length(X)
      for j=1:length(Y)
          for k=1:length(Y)
             figure(nn)
             p(nn,:)=plot([X(:,i),Y(:,j),Y(:,k)]');
             title('soluciones con Metodo de Heun entre las variables combinadas')
             xlabel('paso del tiempo x')
             grid on
             nn=nn+1;
          end
      end
    end
 
end



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


RESULTADO

1
2
3
4
5
6
7
8
9
10
11
12
13
ans =
 
     0   NaN   NaN   NaN
    20   NaN   NaN   NaN
    40   NaN   NaN   NaN
    60   NaN   NaN   NaN
    80   NaN   NaN   NaN
   100   NaN   NaN   NaN
   120   NaN   NaN   NaN
   140   NaN   NaN   NaN
   160   NaN   NaN   NaN
   180   NaN   NaN   NaN
   200   NaN   NaN   NaN

Y LAS GRAFICAS VACIAS! INTRODUSCO EL SISTEMA DE LORENZ CON EL METODO DE HEUN
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

PROBLEMA CON GUIDE EN UNA INTERFAZE GRAFICA!!! AYUDA!!

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 22/05/2014 01:05:39
Debes subir los archivos *.m y el archivo *.fig para poder ejecutar y ver los errores de forma rápida.


Saludos.
JOSE JEREMÍAS CABALLERO
Asesoría online y Presencial en Matlab
programador en matlab
Servicios de programación matlab
[email protected]
Estimado usuario de Matlab, El correo es para servicios de programación, toda ayuda gratuita es vía foro
.

http://matlabcaballero.blogspot.com

http://www.lawebdelprogramador.com/foros/Matlab/1371532-FORMA_DE_APRENDER_MATLAB.html
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

PROBLEMA CON GUIDE EN UNA INTERFAZE GRAFICA!!! AYUDA!!

Publicado por Roberto (11 intervenciones) el 22/05/2014 01:15:30
saludos! amigo! muchas gracias! en verdad si me pudieras decir como lo introdusco??? es lo unico en que me atore, si lo corres no lee un valor de N>2 no las toma en cuenta


muchas gracias!
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
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

PROBLEMA CON GUIDE EN UNA INTERFAZE GRAFICA!!! AYUDA!!

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 22/05/2014 01:30:40
con que ejemplo pruebas, el código [X, Y] = ode23(fi,[t0 tf], y0); haz probado en un archivo m-file simple'
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
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

PROBLEMA CON GUIDE EN UNA INTERFAZE GRAFICA!!! AYUDA!!

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 22/05/2014 01:59:15
Saludos.
JOSE JEREMÍAS CABALLERO
Asesoría online y Presencial en Matlab
programador en matlab
Servicios de programación matlab
[email protected]
Estimado usuario de Matlab, El correo es para servicios de programación, toda ayuda gratuita es vía foro.


http://matlabcaballero.blogspot.com


http://www.lawebdelprogramador.com/foros/Matlab/1371532-FORMA_DE_APRENDER_MATLAB.html
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

PROBLEMA CON GUIDE EN UNA INTERFAZE GRAFICA!!! AYUDA!!

Publicado por Roberto (11 intervenciones) el 22/05/2014 02:29:44
muchas!!!! gracias!!!!! de verdad! era un problema de sintaxis por lo que veo al meterlo al sistema!

de verdad! gracias!!!!

es un SABIO! saludos!
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

PROBLEMA CON GUIDE EN UNA INTERFAZE GRAFICA!!! AYUDA!!

Publicado por Roberto (11 intervenciones) el 22/05/2014 02:09:43
hola! amigo, con este

sistema de Lorenz

[10*(y(2)-y(1)); 28*y(1)-y(2)-y(1)*y(3); y(1)*y(2)-2.66*y(3)]

aqui le mando mi archivo simple de m ahi si corre completo
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

PROBLEMA CON GUIDE EN UNA INTERFAZE GRAFICA!!! AYUDA!!

Publicado por Roberto (11 intervenciones) el 22/05/2014 04:16:04
hola! de nuevo mi amigo! mira ya lo ensamble completo! son tres metodos con la entrada similar, el de Heun, Runge Kutta 4 orden y el de Adam Moulton

solo que desde el modulo principal Ppl no los llama :( los tres ya corren gracias a tu ayuda

solo que tiene otro problema cuando pongo un sistema de n>2 con el de Adam Moulton no me salne las demas graficas!

es mi ultima pregunta por ayuda! porfavor! ya esta completo! solo que no me los llama
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

PROBLEMA CON GUIDE EN UNA INTERFAZE GRAFICA!!! AYUDA!!

Publicado por Roberto (11 intervenciones) el 29/05/2014 06:40:04
buenas noches...

diculpe me podria ayudar vera tengo esta sub rutina con el metodo de Heun pero no me sale la generalizacion me da error

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
clc
clear all
 
disp('----------------------------')
disp(' Metodo de Heun     ')
disp('----------------------------')
disp('Introdusca la Dimension del Sistema, n')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
n=input('Introdusca la dimension del sistema es')
x0=zeros(n,1) %genera el vector x0 con la dimension n
t0=input('Tiempo Inicial To')
for i=1:n
    fprintf('Valor o condicion inicial de la variable',i)
    x0(i)=input('xi0=')
end
N=input('tamaño de paso tao')
T=input('tiempo maximo T=')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
disp('Introdusca el Sistema de EDO en forma de x(i)')
disp(' ')
SIS_DIF=cell(n,1) %es la ()
disp(' ')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for i=1:n
    fprintf('Lado derecho de la Ecuacion t(1)=x,x(1)=y,x(2)=z',i)
    fii=input('fi=','s'); %el s es porque es una cadena de caracter
    fi=inline(fii,'t','x');
    SIS_DIF{i}=fi % es un {}
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
metodos=input('introduce el tipo de metodo que usted quiere,1),2) o 3)')
 
      %Metodo de Heun
        t=t0:N:T
        y=zeros(n,length(t));
        y(:,1)=x0;
        h=(T-t0)/N;
        for k=1:length(t)
            for i=1:n
                fi=SIS_DIF{i};
                yp(i,k+1)= y(i,k)+h*fi(t(k),y(i,k));
                y(i,k+1)=y(i,k+1)+(h/2)*(fi(t(k),y(i,k))+fi(t(k+1),yp(i,k+1)));
            end
        end

muchas gracias!
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