Przykład IIProsty wykresW drugim przykładzie pokażemy jak stworzyć bardzo proste GUI rysujące funkcję sinus. Dodatkowo można będzie zmieniać amplitudę i pulsację. Na oknie rozmieszczamy następujące elementy:
Nasze gui wygląda tak: Wykorzystując property inspector'a nadajemy odpowiednie nazwy poszczególnym elementom a także ustawiamy minimalne i maksymalne wartości jakie może przyjąć każdy z suwaków oraz wartość początkową (należy pamiętać że musi ona być z przedziału [Min Max]): Na drugim suwaku ustawiamy identyczne parametry, poza parametrem tag który ustawiamy na "pulsacja". Następnie z górnego menu, z zakładki View wybieramy opcje "M-File Editor" Zadaniem naszego GUI będzie wyświetlenie wykresu funkcji w postać amplituda*sin(pulsacja*x). Parametry amplituda i pulsacja będą pobierane z odpowiednich suwaków. Wektor wejściowy x bezie zadeklarowany z góry. W edytorze pliku *.m musimy odnaleźć 2 funkcje odpowiedzialne za obsługę zdarzenia będącego zmianą wartości suwaka. Są to funkcje Callback: function pulsacja_Callback(hObject, eventdata, handles)oraz: function amplituda_Callback(hObject, eventdata, handles) W każdej z nich musimy dodać kod pobierający wartości amplitudy i pulsacji, a następnie rysujący wykres funkcji. Należy pamiętać że uchwyt do suwaka wywołującego zdarzenie jest zapisany w zmiennej hObject natomiast do drugiego suwaka musimy się odwołać z wykorzystaniem zmiennej handles. Oto jak powinny wyglądać obie funkcje: function amplituda_Callback(hObject, eventdata, handles) amp = get(hObject,'Value') omega = get(handles.pulsacja,'Value') x = [-2*pi : 0.1 : 2*pi] handles.wykres = plot( amp * sin( omega * x ) ) function pulsacja_Callback(hObject, eventdata, handles) omega = get(hObject,'Value') amp = get(handles.amplituda,'Value') x = [-2*pi : 0.1 : 2*pi] handles.wykres = plot( amp * sin( omega * x ) ) Po uruchomieniu programu ruszając suwakami możemy rysować różne funkcję sinus: |