sábado, 23 de agosto de 2014

guide matlab

Tutorial de matlab usando la función guide: Creación de calculadora con las funciones de suma, resta, multiplicación y divición.


Abrir Matlab y escribir:
>> guide 
pulsar enter

Paso 1: crear la interfaz siguiente (use su propio diseño si desea)




Paso 2: etiquetar todos los atributos de la con los siguientes nombres


seleccionar el inspector en la barra de herramientas, para cambiar las propiedades, el nombre se cambia en tag, y la etiqueta en title o sting

Añadir un button group, 4 radio button dentro del button group, cambiar el identificador por default de los elementos agregados, sugiero las siguientes etiquetas:


tag
Suma = rbtSuma
Resta = rbtResta
Multiplicación = rbtMult
Divición = rbtDiv






Añadir un push button2 edit text, y las static text necesarias.

Cambiar el identificador por default del los elementos agregados. Se sugiere lo siguiente:

tag
botón "Calcular" = pbtCalcular
Edit text 1 = edtVal1
Edit text 2 = edtVal2

Paso 3: Asignar callback a cada elemento


Guardar el proyecto, para que genere el código .m, despues de esto agregar callback que son funciones o eventos para los elementos.
Elemento 1 Suma: el callback suma debe quedar como se muestra en la imagen siguiente:

% --- Executes on button press in rbtSuma.
function rbtSuma_Callback(hObject, eventdata, handles)
set(handles.rbtSuma,'value',1)
opcion1 = get(handles.rbtSuma,'value');
if opcion1 == 1
      set(handles.rbtMult,'value',0)
      get(handles.rbtMult,'value');
      set(handles.rbtDiv,'value',0)
      get(handles.rbtDiv,'value');
      set(handles.rbtResta,'value',0)
      get(handles.rbtResta,'value');
end

Resta

% --- Executes on button press in rbtResta.
function rbtResta_Callback(hObject, eventdata, handles)
set(handles.rbtResta,'value',1)
opcion2 = get(handles.rbtResta,'value');
if opcion2 == 1
      set(handles.rbtMult,'value',0)
      get(handles.rbtMult,'value');
      set(handles.rbtSuma,'value',0)
      get(handles.rbtSuma,'value');
      set(handles.rbtDiv,'value',0)
      get(handles.rbtDiv,'value');
end

Multiplicación

% --- Executes on button press in rbtMult.
function rbtMult_Callback(hObject, eventdata, handles)
set(handles.rbtMult,'value',1)
opcion3 = get(handles.rbtMult,'value');
if opcion3 == 1
      set(handles.rbtDiv,'value',0)
      get(handles.rbtDiv,'value');
      set(handles.rbtSuma,'value',0)
      get(handles.rbtSuma,'value');
      set(handles.rbtResta,'value',0)
      get(handles.rbtResta,'value');
end

Divición

% --- Executes on button press in rbtDiv.
function rbtDiv_Callback(hObject, eventdata, handles)
set(handles.rbtDiv,'value',1)
opcion4 = get(handles.rbtDiv,'value');
if opcion4 == 1
      set(handles.rbtMult,'value',0)
      get(handles.rbtMult,'value');
      set(handles.rbtSuma,'value',0)
      get(handles.rbtSuma,'value');
      set(handles.rbtResta,'value',0)
      get(handles.rbtResta,'value');
end

Callback del botón Calcular:

% --- Executes on button press in pbtCalcular.
function pbtCalcular_Callback(hObject, eventdata, handles)

A = handles.edtVal1;
B = handles.edtVal2;

opcion1 = get(handles.rbtSuma,'value');
opcion2 = get(handles.rbtResta,'value');
opcion3 = get(handles.rbtMult,'value');
opcion4 = get(handles.rbtDiv,'value');
if opcion1 == 1
    S = B + A;
end
if opcion2 == 1
    S = B - A;
end
if opcion3 == 1
    S = B * A;
end
if opcion4 == 1
    S = B / A;
end
set (handles.edtResultado,'String',S);

Es necesario generar el callback del unitgroup debes generar el siguiente código en archivo .m

function unitgroup_SelectionChangeFcn(hObject, eventdata, handles) 
% hObject    handle to the selected object in unitgroup 
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

Callback para los edit text edtVal1 edtVal2

function edtVal2_Callback(hObject, eventdata, handles)
val1 = get(hObject,'String');
NewVal1 = str2double(val1);
handles.edtVal2 = NewVal1;
guidata(hObject,handles);

function edtVal1_Callback(hObject, eventdata, handles)
val1 = get(hObject,'String');
NewVal1 = str2double(val1);
handles.edtVal1 = NewVal1;
%handles.metricdata.edtVal1 = NewVal1;
guidata(hObject,handles);

Esto es todo viejo

Gracias

miércoles, 20 de agosto de 2014

Dia Miércoles 20 de agosto del 2014 

Primer día de haber creado blog para subir programas y el código. buen día a todos.