
exportar datos de una funcion en guide a excel urgente!!!!
Publicado por luis carlos (4 intervenciones) el 24/07/2017 23:23:35
Buenas tardes compañeros aprecio mucho cualquier colaboracion de parte de ustedes lo que sucede es que tengo un problema necesito guardar dos valores en excel pero cuando ejecuto el guide en matlab las variables se borran y no quedan guardadas en el workspace y por eso el comando xlswrite no reconoce las variables calculas y no lo puedo guardar acontinuacion subo el codigo y si alguno de ustedes me podrian ayudar estaria agradecido muchas gracias.
y aca esta el codigo donde ejecuto la fucncion y en el cual borra las variables cuando termina el proceso alguna solucion para poder guardar las variables y despues poderlas exportar
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function ejecute_Callback(hObject, eventdata, handles)
% hObject handle to ejecute (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
tic %mirar tiempo de ejecucion empezar
menu_ejecutar = get(handles.opcion,'Value');
switch menu_ejecutar
case 2
tempRyB(handles);
% handles.A{1} = str2double(get(handles.valc1,'string'));
% handles.A{2} = str2double(get(handles.valc2,'string'));
case 3
tempRyB(handles);
case 4
% e = str2double(get(handles.val1,'string'));
% r = str2double(get(handles.val2,'string'));
% newtonraphson2(handles)
end
toc % terminar
return
y aca esta el codigo donde ejecuto la fucncion y en el cual borra las variables cuando termina el proceso alguna solucion para poder guardar las variables y despues poderlas exportar
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
function x=tempRyB(handles)
s = xlsread('datanewmulti.xlsx','B2:F7');
z = s(:,1);
a = [ s(:,2) s(:,3) s(:,4) s(:,5) ];
x0 = str2double(get(handles.val1,'string'));
Q = str2double(get(handles.val2,'string'));
syms x
k = sym(zeros(6,1));
ftr = sym(zeros(6,1));
ftrdx = sym(zeros(6,1));
if Q==0 && get(handles.opcion,'Value')==2
for i=1:1:6
k(i,1) = (( a(i,1) + a(i,2)*x + a(i,3)*x^2 + a(i,4)*x^3 ) ^3)*x ;
ftr(i,1)=(z(i)/k(i)); %temperatura de rocio
ftrdx(i,1) = diff(ftr(i,1),x); %derivamos la funcion ftr con respecto a x y lo asignamos a la variable ftrdx
end
elseif Q==1 && get(handles.opcion,'Value')==3
for i=1:1:6
k(i,1) = (( a(i,1) + a(i,2)*x + a(i,3)*x^2 + a(i,4)*x^3 ) ^3)*x ;
ftr(i,1)=(z(i)*k(i)); %temperatura de burbuja
ftrdx(i,1) = diff(ftr(i,1),x); %derivamos la funcion ftr con respecto a x y lo asignamos a la variable ftrdx
end
end
f = 1-sum(vpa(ftr));
fx = -sum(vpa(ftrdx));
% inicializar varibles
error = 1;
tolerancia = 0.001;
n=0;
while error>=tolerancia %condición de terminación cuando el error sea menor a la tolerancia
n = n+1;
x = x0 - double((subs(f,x0)/subs(fx,x0))); %formula de Newton-Raphson
error = abs((x-x0)/x); %calculo del error
x0=x;
end
respuesta=sprintf('%0.3f',x);
set(handles.valc1,'string',respuesta);
respuesta1=sprintf('%0.3f',Q);
set(handles.valc2,'string',respuesta1);
A = str2double( [respuesta;respuesta1]);
xlswrite('datanewmulti.xlsx',A,'Hoja1','C14:C15')
return
Valora esta pregunta


0