Matlab - Matlab GUI

 
Vista:

Matlab GUI

Publicado por Wladimir Chávez (4 intervenciones) el 19/11/2011 17:59:50
Por favor me podrian ayudar en el impresion de resultados en una tabla de GUI de matlab y como graficar con los datos de esa tabla.
Me podrian enviar ejemplos de programas .mat y .fig donde hayan utilizado lo que necesito o podrian decirme como despligo estos valores en una tabla en GUI por ejm:
200 344
400 543
500 223
700 234
set(??????????????)
Tomando en cuanta que estos valores no son fijos van cambiando con los datos que ingrese

De antemano muchisimas 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

Matlab GUI

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 19/11/2011 19:24:15
hola Chavez
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
function varargout = tablacaballero4(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @tablacaballero4_OpeningFcn, ...
                   'gui_OutputFcn',  @tablacaballero4_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
function tablacaballero4_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
function varargout = tablacaballero4_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
 
set(handles.tabla,'visible','off');
 
function matriz_Callback(hObject, eventdata, handles)
function matriz_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), ...
    get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end
 
function crear_tabla_Callback(hObject, eventdata, handles)
Matriz= str2num(get(handles.matriz,'string'));
set(handles.tabla,'visible','on');
set(handles.tabla,'Data',Matriz);
handles.Matriz=Matriz;
guidata(hObject,handles)
 
function tabla_CellEditCallback(hObject, eventdata, handles)
eventdata.NewData
function tabla_CellSelectionCallback(hObject, eventdata, handles)
 
function graficar_Callback(hObject, eventdata, handles)
Matriz=handles.Matriz;
axes(handles.axes1)
plot(Matriz(:,1),Matriz(:,2))



Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Profesor de Metodos Numericos con Matlab
PROGRAMADOR EN MATLAB
[email protected]
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

Matlab GUI

Publicado por Wladimir Chávez (4 intervenciones) el 19/11/2011 20:44:12
Muchas gracias por responder
Es un tanto complicado comprender sin el archivo .fig, por favor me podrias enviar el archivo .mat y el . fig por favor
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

Matlab GUI

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 19/11/2011 21:08:10
Mandame un avance.
y yo te filtro.

Aca te mando direcciones sobre interfaces.
Te va a servir para que aprendas.

http://www.640kbits.es/?p=24
http://www2.udec.cl/~carquint/Programming_in_Matlab_of_a_graphical_interface_for_system_design_subsurface_agricultural_drainage.pdf
http://grupo.unavirtual.una.ac.cr/mahara/artefact/file/download.php?file=5477&view=1085
' target='_blank' class='editor_url' rel='nofollow'>http://es.scribd.com/doc/59965433/Matlab-Guide
http://es.scribd.com/doc/59965433/24/MATLAB-MANIA
http://webpersonal.uma.es/de/gfdc/docencia/GuiSection.pdf
http://www.slideshare.net/arturo.salinas/creacin-de-una-interfaz-grfica-del-usuariogui
http://mygnet.net/codigos/matlab/analisisnumericos/interfaz_grafica_gui_metodo_biseccion.1455
http://www.youtube.com/watch?v=Y4y8VrKuVMg
http://www.dspace.espol.edu.ec/bitstream/123456789/10740/11/MATLAB_GUIDE.pdf
http://e-archivo.uc3m.es/bitstream/10016/8225/1/PFC_JoseFrancisco_Escribano_Molina.pdf
http://dipuacj.blogspot.com/2009/05/ejemplo-simple-de-una-interfaz-grafica.html
http://ciecfie.epn.edu.ec/CControlC/laboratorios/cautomatico/pag_nueva/hojas_guia/PRACTICA4.pdf
http://www.upc.edu/euetib/xiicuieet/comunicaciones/din/comunicacions/143.pdf
http://www.640kbits.es/?p=24
http://www2.udec.cl/~carquint/Programming_in_Matlab_of_a_graphical_interface_for_system_design_subsurface_agricultural_drainage.pdf
http://grupo.unavirtual.una.ac.cr/mahara/artefact/file/download.php?file=5477&view=1085



Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Profesor de Metodos Numericos con Matlab
PROGRAMADOR EN MATLAB
[email protected]
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

Matlab GUI

Publicado por Wladimir Chávez (4 intervenciones) el 19/11/2011 22:45:34
Muchas gracias, estan muy interesantes los links,
ya te envie el avance aprecio mucho tu ayuda, si necesitas de mi ayuda no dudes en pedirmela, especialmente en lo que es la Ing. de petróleos
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

Matlab GUI. problemas

Publicado por eloisa martin (7 intervenciones) el 20/12/2011 09:19:58
Estoy diseñando una interfaz gráfica con GUI para matlab, y tengo un problema,
MI interfaz tiene dos botones, en el primero tengo programada las órdenes para entrenar una red neuronal, en el segundo, las propias para hacer una simulación con dicha red.
El problema es que cuando ejecuto la simulación, matlab me da un error diciendo que no tiene guardada la variable RED_ENTRENADA, que par mi es la red neuronal entrenada en el anterior botón. Quisiera me ayudaran con este problema porque no puedo seguir :(

gracias, un saludo.

PD: adjunto códigos de ambos botones, el programa es mas largo.
function red_Callback(hObject, eventdata, handles)

Xusuario=xlsread('usuarios_registrados.xlsx');% datos del usuario
Xfecha=xlsread('laborabilidad y eventos.xlsx');% fechas, contiene mes, dia, hora, laborabilidad y evento
X=xlsread('entradas_parking.xlsx');%datos historicos de variables de entrada
Y=xlsread('demanda_esperada_parking.xlsx');%datos historicos de demanda electrica
Xpuntos=xlsread('punto de recarga_parking.xlsx');%datos asociados a cada punto de recarga
Xmeteo=xlsread('meteorologia.xlsx');%datos meteorologico asociado a cada punto

%----------------------------------------------------------------------%

%ADECUAR CADA VARIABLE AL RANGO [-1,1]


%MATRIZ X DE VARIABLES DE ENTRADA, CON DATOS PARA EL ENTRENAMIENTO DE LA RED NEURONAL.
%LAS VARIABLES SE MUEVEN EN LOS RANGOS ESPECIFICADOS A CONTINUACION

X1=(2.*X(1,:)-13)./11;%MES DEL AÑO [01,12]
X2=(X(2,:)-4)./3;%DIA DE LA SEMANA [01,07]
X3= (2*X(3,:)-23)./23;%HORA DEL DIA [00,23]
X4= X(4,:)*2-1;%LABORABLE O NO LABORABLE[0,1]
X5= X(5,:)*2-1;%EVENTOS EN LA ZONA DEL PUNTO [0,1]
X6= (X(6,:)-3)./2; %INFORMACION ECONOMICA [1,5]
X7= ((2*X(7,:))./5)-1; %MEDIA COCHES HORARIO [0,5]
X8= X(8,:)./40-0.5;%TEMPERTURA HORARIA [-20,60]
X9= X(9,:)*2-1;%LLUEVE O NO LLUEVE [0,1]


%FORMAR UNA MATRIZ X_NORM CON LOS VECTORES ANTERIORES

X_NORM=[X1;X2;X3;X4;X5;X6;X7;X8;X9];

%MATRIS Y DE DATOS DE DEMANDA EÉCTRICA HISTÓRICA PARA EL ENTRENAMIENTO
%NORMALIZAR LOS DATOS DE LA DEMANDA ESPERADA

[yn,ys]=mapminmax(Y,-1, 1);

%------------------------------------------------------------------------%

%INICIALIZACION, PARAMETRIZACION Y ENTRENAMIENTO DE LA RED NEURONAL.


%DEFINIMOS LA RED Y LA INICIALIZAMOS

%W = initzero(6,[-1 1;-1 1;-1 1;-1 1;-1 1;-1 1;-1 1;-1 1;-1 1]);%pesos inicializados a 0
%b = initzero(6,[1 1]);%bias inicializados a 0

RED=newff([-1 1;-1 1;-1 1;-1 1;-1 1;-1 1;-1 1;-1 1;-1 1],[5 1],{'tansig','purelin'},'trainlm');


RED= init(RED);%inicializar los pesos de las funciones
RED.initFcn='initlay';
RED.layers{1}.initFcn='initnw';


%PREDETERMINAR LOS PARÁMETROS DE LA RED

RED.trainParam.goal = 0.00;%objetivo entrenamiento
RED.trainParam.show = 20;%visulaizacion del entrenamiento de la red
RED.trainParam.epochs=1000;%ciclos de entrenamiento

disp('ENTRENANDO LA RED NEURONAL...ESPERE POR FAVOR')

%ENTRENAMIENTO DE LA RED

[RED_ENTRENADA, tr]=train (RED, X_NORM, yn);


handles.RED_ENTRENADA=RED_ENTRENADA;
guidata(hObject,handles)
%SIMULACIÓN DE LA RED
%LA SIMULACION DE LA RED CON LOS DATOS INTRODUCIDOS SE ENCUENTRA EN OTRO
%FICHERO PARA QUE SE PUEDA DESACOPLAR EL ENTRENAMIENTO DE LA SIMULACIÓN


% --- Executes on button press in prediccion.
function prediccion_Callback(hObject, eventdata, handles)

Xfecha=xlsread('laborabilidad y eventos.xlsx');% fechas, contiene mes, dia, hora, laborabilidad y evento
X=xlsread('entradas_parking.xlsx');%datos historicos de variables de entrada
Y=xlsread('demanda_esperada_parking.xlsx');%datos historicos de demanda electrica
Xpuntos=xlsread('punto de recarga_parking.xlsx');%datos asociados a cada punto de recarga
Xmeteo=xlsread('meteorologia.xlsx');%datos meteorologico asociado a cada punto


%con esto estoy cogiendo la posicion del elemento en el menu, como es
%numerico, no tengo problema
x_1=(get(handles.popupmenu9,'Value'));
x_2=(get(handles.dias,'Value'));
x_3=(get(handles.horas,'Value'));
x_1_f=(get(handles.popupmenu4,'Value'));
x_2_f=(get(handles.popupmenu5,'Value'));
x_3_f=(get(handles.popupmenu7,'Value'));
num=str2double(get(handles.num,'string'));
if isnan(num)
errordlg('You must enter a numeric value', 'Bad Input', 'modal')
end
if num<=0
errordlg('You must enter a positive value', 'Bad Input', 'modal')
end

x_3=x_3-1;
x_3_f=x_3_f-1;

if x_1==x_1_f && x_2==x_2_f && x_3~=x_3_f

h=abs(x_3_f-x_3); %distancia entre hora final y hora inicial en absoluto

for j=1:1:h+1

fecha_inicial(j,1)=2011;
fecha_inicial(j,2)=x_1;
fecha_inicial(j,3)=x_2;
fecha_inicial(j,4)=x_3+j-1;
fecha_inicial(j,5)=00;
fecha_inicial(j,6)=00;

end

else

% SI ESTA EN HORAS Y DIAS DISTINTOS

if x_1==x_1_f && x_2~=x_2_f && x_3~=x_3_f

d=abs(x_2_f-x_2)+1; %distancia entre dia final y dia inicial
h= 24*d-(24-x_3_f)-(x_3-1); %distancia entre hora final y hora inicial en absoluto

for j=1:1:(24-x_3)
fecha_inicial(j,1)=2011;
fecha_inicial(j,2)=x_1;
fecha_inicial(j,3)=x_2;
fecha_inicial(j,4)=x_3+j-1;
fecha_inicial(j,5)=00;
fecha_inicial(j,6)=00;
end

inicio=25-x_3;% valor en el que tiene que empezar el bucle de dias enteros

for j=(inicio):1:(inicio+24*(d-2))%todo lo que queda por rellenar
if j>=inicio && j<=(inicio+24)-1
fecha_inicial(j,1)=2011;
fecha_inicial(j,2)=x_1;
fecha_inicial(j,3)=x_2+1;
fecha_inicial(j,4)=j-inicio;
fecha_inicial(j,5)=00;
fecha_inicial(j,6)=00;
end
if j>(inicio+24)-1 && j<=(inicio+24*2);
fecha_inicial(j,1)=2011;
fecha_inicial(j,2)=x_1;
fecha_inicial(j,3)=x_2+2;
fecha_inicial(j,4)=j-(inicio+24);
fecha_inicial(j,5)=00;
fecha_inicial(j,6)=00;
end
if j>(inicio+24*2)-1 && j<=(inicio+24*3)-1
fecha_inicial(j,1)=2011;
fecha_inicial(j,2)=x_1;
fecha_inicial(j,3)=x_2+3;
fecha_inicial(j,4)=j-(inicio+24*2);
fecha_inicial(j,5)=00;
fecha_inicial(j,6)=00;
end
if j>(inicio+24*3)-1 && j<=(inicio+24*4)-1
fecha_inicial(j,1)=2011;
fecha_inicial(j,2)=x_1;
fecha_inicial(j,3)=x_2+4;
fecha_inicial(j,4)=j-(inicio+24*3);
fecha_inicial(j,5)=00;
fecha_inicial(j,6)=00;
end
if j>(inicio+24*4)-1 && j<=(inicio+24*5)-1
fecha_inicial(j,1)=2011;
fecha_inicial(j,2)=x_1;
fecha_inicial(j,3)=x_2+5;
fecha_inicial(j,4)=j-(inicio+24*4);
fecha_inicial(j,5)=00;
fecha_inicial(j,6)=00;
end

% for k=1:1:d-2 %bucle por tipo de dia, dentro de 0 a 23 horas
% fecha_inicial(j,1)=x_1;

end
end
for j=(h-x_3_f):1:h
fecha_inicial(j,1)=2011;
fecha_inicial(j,2)=x_1;
fecha_inicial(j,3)=x_2+d-1;
fecha_inicial(j,4)=x_3+j-24*(d-1)-1;
fecha_inicial(j,5)=00;
fecha_inicial(j,6)=00;
end


%SI ESTA LA MISMA HORA PERO DISTINTO DIA

if x_1==x_1_f && x_2~=x_2_f && x_3==x_3_f %DISTINTO DIA MISMA HORA

d=abs(x_2_f-x_2)+1; %distancia entre dia final y dia inicial
h= 24*(d-1)+1; %distancia entre hora final y hora inicial en absoluto

for j=1:1:(24-x_3)
fecha_inicial(j,1)=2011;
fecha_inicial(j,1)=x_1;
fecha_inicial(j,2)=x_2;
fecha_inicial(j,3)=x_3+j-1;
fecha_inicial(j,5)=00;
fecha_inicial(j,6)=00;
end


inicio=25-x_3;% valor en el que tiene que empezar el bucle de dias enteros

for j=(inicio):1:(inicio+24*(d-2))%todo lo que queda por rellenar
if j>=inicio && j<=(inicio+24)-1
fecha_inicial(j,1)=2011;
fecha_inicial(j,2)=x_1;
fecha_inicial(j,3)=x_2+1;
fecha_inicial(j,4)=j-inicio;
fecha_inicial(j,5)=00;
fecha_inicial(j,6)=00;
end
if j>(inicio+24)-1 && j<=(inicio+24*2)
fecha_inicial(j,1)=2011;
fecha_inicial(j,2)=x_1;
fecha_inicial(j,3)=x_2+2;
fecha_inicial(j,4)=j-(inicio+24);
fecha_inicial(j,5)=00;
fecha_inicial(j,6)=00;
end
if j>(inicio+24*2)-1 && j<=(inicio+24*3)-1
fecha_inicial(j,1)=2011;
fecha_inicial(j,2)=x_1;
fecha_inicial(j,3)=x_2+3;
fecha_inicial(j,4)=j-(inicio+24*2);
fecha_inicial(j,5)=00;
fecha_inicial(j,6)=00;
end
if j>(inicio+24*3)-1 && j<=(inicio+24*4)-1
fecha_inicial(j,1)=2011;
fecha_inicial(j,2)=x_1;
fecha_inicial(j,3)=x_2+4;
fecha_inicial(j,4)=j-(inicio+24*3);
fecha_inicial(j,5)=00;
fecha_inicial(j,6)=00;
end
if j>(inicio+24*4)-1 && j<=(inicio+24*5)-1
fecha_inicial(j,1)=2011;
fecha_inicial(j,2)=x_1;
fecha_inicial(j,3)=x_2+5;
fecha_inicial(j,4)=j-(inicio+24*4);
fecha_inicial(j,5)=00;
fecha_inicial(j,6)=00;
end


end
end
for j=(h-x_3_f):1:h
fecha_inicial(j,1)=2011;
fecha_inicial(j,2)=x_1;
fecha_inicial(j,3)=x_2+d-1;
fecha_inicial(j,4)=x_3+j-24*(d-1)-1;
fecha_inicial(j,5)=00;
fecha_inicial(j,6)=00;
end
end

j=size(fecha_inicial,1); %TAMAÑO VECTOR DE FECHAS

%------------------------------------------------------------------------%

%DEFINIR VECTORES DE LAS VARIABLES DE ENTRADA PARA ALMACENARLAS

x_1=[1,j];
x_2=[1,j];
x_3=[1,j];
x_4=[1,j];
x_5=[1,j];
x_6=[1,j];
x_7=[1,j];
x_8=[1,j];
x_9=[1,j];

%ALMACENAR DATOS NECESARIOS PARA SIMULAR LA RED.
%ESTOS DATOS SE COGEN DE .XLSX PERO DEBERÍAN SER DATOS ONLINE PARA QUE
%FUERA REALISTA

for k=1:1:j

%DATOS DE MES, DIA Y HORA

x_1(1,k)=fecha_inicial(k,2);%almacena meses
x_2(1,k)=fecha_inicial(k,3);%almacena dias
x_3(1,k)=fecha_inicial(k,4);%almacena horas

%DATOS DE LABORABILIDAD Y EVENTOS

for i=1:1:size(Xfecha,1)

if Xfecha(i,1)==fecha_inicial(k,2) && Xfecha(i,2)==fecha_inicial(k,3) && Xfecha(i,3)==fecha_inicial(k,4)
x_4(1,k)= Xfecha(i,4);%dato de laborable o no
x_5(1,k)= Xfecha(i,5);%dato evento o no (en zona punto de carga)
end
end

%DATOS DE ECONOMIA, RUTAS, MEDIA USO HORARIO, HACE FALTA BASE DATOS PUNTOS_RECARGAS.

for i=1:1:size(Xpuntos,1)
if Xpuntos(i,1)==num && Xpuntos(i,2)==fecha_inicial(k,2) && Xpuntos(i,3)==fecha_inicial(k,3) && Xpuntos(i,4)==fecha_inicial(k,4)
x_6(1,k)=Xpuntos(i,5);% información economica de la zona
x_7(1,k)=Xpuntos(i,6);%%media uso horario de coches
end
end

%DATOS TEMPERATURA, LLUVIA Y NUBOSIDAD, HACE FALTA BASE DATOS METEOROLOGIA

for i=1:1:size(Xmeteo,1)
if Xmeteo(i,1)==num && Xmeteo(i,2)==fecha_inicial(k,2) && Xmeteo(i,3)==fecha_inicial(k,3) && Xmeteo(i,4)==fecha_inicial(k,4)
x_8(1,k)=Xmeteo(i,5);%temperatura horaria
x_9(1,k)=Xmeteo(i,6);%llueve o no llueve
end
end
end

%-----------------------------------------------------------------------%


%NORMALIZO EL DATO QUE QUE INTRODUCIDO EL USUARIO

for k=1:1:j
X_1(1,k)=(2.*x_1(1,k)-13)./11;%MES DEL AÑO [01,12]
X_2(1,k)= (x_2(1,k)-4)./3;%DIA DE LA SEMANA [01,07]
X_3(1,k)= (2*x_3(1,k)-23)./23;%HORA DEL DIA [00,23]
X_4(1,k)= x_4(1,k)*2-1;%LABORABLE O NO LABORABLE[0,1]
X_5(1,k)= x_5(1,k)*2-1;%EVENTOS EN LA ZONA DEL PUNTO [0,1]
X_6(1,k)=(x_6(1,k)-3)./2; %INFORMACION ECONOMICA [1,5]
X_7(1,k)= ((2*x_7(1,k))./5)-1; %MEDIA COCHES HORARIO [0,5]
X_8(1,k)= x_8(1,k)./40-0.5;%TEMPERTURA HORARIA [-20,60]
X_9(1,k)= x_9(1,k)*2-1;%LLUEVE O NO LLUEVE [0,1]

end

%FORMAR UNA MATRIZ x_norm CON LOS VECTORES ANTERIORES

x_norm=[X_1;X_2;X_3;X_4;X_5;X_6;X_7;X_8;X_9];

for i=1:1:j
Yf(1,i) = RED_ENTRENADA(x_norm(:,i)); <-------------- %%AQUI ESTA MI PROBLEMA%%
YF(1,i)= mapminmax('reverse',Yf(1,i),ys);
end
xlswrite('resultados_simulacion.xlsx',YF,'x1','A1')
disp('demanda esperada en el intervalo de fecha introducido')

v = [fecha_inicial(:,:)]; %#ok<NBRAK>
k=size(v,1);
n= datestr(v);
x=datevec(n);
startDate=datenum(n);
primera=startDate(1,1);
endDate=datenum(n);
ultima=endDate(k,1);
xData=linspace(primera,ultima,k);
YF=[1 2 3 4 5 6 7 8 9 10 9 8 7 6 5 4 3 2 1 2 3 4 5 6];mi problema esta
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

Matlab GUI. problemas

Publicado por eloisa martin (7 intervenciones) el 20/12/2011 10:28:14
El vector YF=[1 2 3 4 5 6 7 8 9 10 9 8 7 6 5 4 3 2 1 2 3 4 5 6]; no deberia estar, lo pongo porque no soy capaz de generarlo, para hacer pruebas con la representacion grafica
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

Matlab GUI. problemas

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 20/12/2011 16:09:16
Hola eloisa.

ya te he filtrado el codigo m y fig que me haz enviado a mi correo.
NO haz enviado tus bases de datos de excel para probarlo. Sin eso bases no puedo asegurar que el codigo de buenos resultados.


Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Profesor de Metodos Numericos con Matlab
PROGRAMADOR EN MATLAB
[email protected]
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

Matlab GUI. problemas

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 09/01/2012 15:17:57
Hola eloisa.

ya te he enviado tu codigo que me haz enviastes a mi correo, a tu correo.
Ya esta filtrado y esta funcionando, aunque tengo varias preguntas en tu codigo que haz hecho.


Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Profesor de Metodos Numericos con Matlab
PROGRAMADOR EN MATLAB
[email protected]
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

Matlab GUI

Publicado por Camilo Garcia (5 intervenciones) el 16/05/2015 04:43:32
Me prodian ayudar en este codigo hecho en GUIDE
Lo que pasa es que sale este error
Error using set
Values within a cell array must be numeric, logical, or char

Error in secante_ventana>calcular_Callback (line 243)
set(handles.tabla,'Data',valoresNuevos);

Error in gui_mainfcn (line 95)
feval(varargin{:});

Error in secante_ventana (line 42)
gui_mainfcn(gui_State, varargin{:});

Error in @(hObject,eventdata)secante_ventana('calcular_Callback',hObject,eventdata,guidata(hObject))


Error while evaluating uicontrol Callback

Y este es la parte del codigo en el boton calcular

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
function calcular_Callback(hObject, eventdata, handles)
% hObject    handle to calcular (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
funcion=get(handles.def,'string');
a=str2double(get(handles.x0,'string'));
b=str2double(get(handles.x1,'string'));
t=str2double(get(handles.tol,'string'));
syms x
iteracion=0;
errorCalculado=100;
f=sym(funcion);
xra=0;
xr=0;
error=0;
f1=f(b);
f2=a-b;
f3=subs(f,a);
f4=subs(f,b);
%Limpiar tabla antes de mostrar resultado
set(handles.tabla,'Data',{})
%Comprobando que la derivada no sea cero.Casocontrario mostrar un mensaje
%que no hay raiz p.e se ingreso uan constante en lugar de una funcion de x
if f3==0
    %Limpiar tabla, grafico en caso de que antes se haya graficado uan
    %funcion
      hold off
      cla
      set(handles.tabla,'Data',{})
      set(handles.raiz,'string','No hay raiz');
else
%Iteraciones sucesivas para una mejor aproximacion de la raiz por el metodo
%N-R
while errorCalculado>t
    f1=subs(f,b);
    f2=a-b;
    f3=subs(f,a);
    f4=subs(f,b);
 
    xr=b-((f1*f2)/(f3-f4));
 
    error=abs((xr-xra)/xr)*100;
    errorCalculado=error;
 
     %mostrara datos en tabla
    valores = {iteracion a b xr errorCalculado};
    temp=get(handles.tabla,'data');
    valoresNuevos=[valores;temp];
    set(handles.tabla,'Data',valoresNuevos);
    xra=xr;
    b=xr;
    iteracion=iteracion+1;
 end
%Mostrando respuesta en textbox con formato coma flotante a 16 cifras decimales
    r=biseccion(funcion,a,b,t);
    set(handles.raiz,'string',r);
    %Grafica de la funcion
hold off
handles.axes1=ezplot(funcion);
grid on;
hold on;
handles.axes1=ezplot(b,subs(funcion,r),'r*');
zoom on
end
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

Matlab GUI

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 16/05/2015 18:14:33
sube tus archivos *.fig y *.m para filtrarlo.
No puedes concatenar, tipos syms con tipos doublé y eso es lo estas haciendo en tu código, no debes usar f(b), porque f no esta definido, además se usa Data y no data, posiblemente haya mas errores en tu código.

Saludos .
JOSE JEREMÍAS CABALLERO
Asesoría online en Matlab
Servicios de programación matlab
[email protected]
skype: josejeremiascaballero
Estimado Usuario, el correo es para servicios de cursos, asesoría y programación. Toda ayuda gratuita es vía foro.


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
sin imagen de perfil

Matlab GUI

Publicado por Camilo (5 intervenciones) el 16/05/2015 22:05:46
Mira los archivos. Agredezco tu amabilidad.
Y voy a estar pendiente de tu respuesta.
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