Pakiety matematyczne Matematyka Stosowana dr inż. Krzysztof Burnecki 17.04.2013
Wykład 9 Operacje symboliczne w Matlabie Graficzny interfejs użytkownika (GUI) Slajdy powstały na podstawie prezentacji Informatyka otrzymanej od dr hab. Małgorzaty Kotulskiej
Przykłady. Całkowanie >> syms x y n; >> f = x^n + y^n; >> int(f, 1, 10)
Przykłady. Całkowanie >> syms x y n; >> f = exp(x)^(1/n) + exp(y)^(1/n); >> int(f, n, 1, 10)
Przykłady. Granice ciągów i sumy nieskończone >> syms x; >> limit(sin(x)/x) >> limit(1/x,x,0,'left') >> syms k >> symsum(x^k/sym('k!'), k, 0,inf) %Uwaga: zwykły Matlab nie zna 4! (prod(1:4), factorial(4))
Przykłady. Rozwiązywanie równań >> syms a b c x; solve('a*x^2 + b*x + c','b') >> syms a b c x; solve('a*x^2 + b*x + c') >> syms x; S = solve('x + y = 1','x - 11*y = 5'); S = [S.x S.y]
Przykłady. Upraszczanie wyrażeń >> rho = sym('(1 + sqrt(5))/2'); >> f = rho^2 - rho 1 >> simplify(f)
Przykłady. Podstawianie wartości do zmiennych >> syms x; >> f = 2*x^2-3*x + 1; >> subs(f, 1/3)
Graphical user interface (GUI) Można tworzyć GUI w Matlabie na dwa różne sposoby: Użyć GUIDE (GUI Development Environment), interaktywnego środowiska do tworzenia GUI Napisać funkcje i skrypty, które generują GUI (programistyczne tworzenie GUI)
GUIDE GUIDE (ang. Graphical User Interface Development Environment) jest zestawem narzędzi przeznaczonych do tworzenia graficznego interfejsu użytkownika. W swojej bibliotece zawiera on takie standardowe elementy jak: panele, przyciski, pola tekstowe itp. Pliki tworzone w GUIDE są zapisywane jako pliki graficzne z rozszerzeniem.fig.
GUIDE GUIDE może generować M-plik zawierający szkielet tzw. wywołań wstecznych (callbacks), czyli poleceń, które wykonywane podczas kliknięcia na danym komponencie interfejsu. Ten M-plik można modyfikować (uzupełniając szkieletowe wywołania wsteczne) w celu uzyskania pożądanego efektu działania poszczególnych elementów projektowanego interfejsu. Uruchomienia wykonanego projektu można dokonać albo wybierając opcję z menu Tools->Run albo naciskając przycisk > na pasku narzędzi.
Tworzenie prostego GUI >> copyfile(fullfile(docroot, 'techdoc','creating_guis',... 'examples','simple_gui*.*')),fileattrib('simple_gui*.*', '+w'); guide simple_gui.fig;
Krok 1. Uruchomienie GUIDE >> guide
Krok 2. Tworzymy puste GUI (blank GUI)
GUIDE. Elementy konstrukcyjne Push Button generuje określoną akcję wtedy, kiedy jest naciśnięty. Wykonywane jest wówczas wywołanie wsteczne. Slider akceptuje liczbowe parametry wejściowe mieszczące się w określonym przedziale. Położenie suwaka wskazuje procent całego zakresu przemieszczenia. Radio buttons działają w ten sposób, że wybranie jednego z nich anuluje wybór pozostałych.
GUIDE. Elementy konstrukcyjne Check box generuje akcję, kiedy jest wybrane. Jeżeli występuje w grupie to wybranie jednego z nich nie anuluje wyboru pozostałych. Edit text umozliwia wprowadzanie i edycję tekstu. Wywołanie wsteczne jest wykonywane po naciśnięciu klawiasza Enter lub po utracie fokusu.
GUIDE. Elementy konstrukcyjne Static text steruje wyświetlaniem tekstu. Jest wykorzystywane etykieta opisujące inne obiekty w graficznym interfejsie użytkownika lub jako pole obliczeniowe. Ponieważ użytkownik nie może interaktywnie wpływać na ten obiekt, więc nie posiada ono wywołania wstecznego. Pop-up menu oznacza wybór za pomocą kursora myszki jednego elementu z załączonej listy
GUIDE. Elementy konstrukcyjne List box wyświetla listę elementów i umożliwia użytkownikowi wybór jednego lub więcej elementów z listy. Toggle button działa jak przełącznik bistabilny jeżeli zostanie wciśnięty to pozostaje w tym stanie tak długo, aż nie zostanie wyciśnięty. Wywołanie wsteczne jest wykonywane po zwolnieniu naciśniętego klawisza myszki wskazującego przycisk. Axes umożliwiają wyświetlanie grafiki (wykresów, zdjęć). Podobnie jak wszystkie obiekty graficzne, axes posiada własności, którymi można sterować.
Krok 3. Pokaż szczegółowo komponenty
Krok 3. Ustaw rozmiar okna
Krok 4. Dodaj trzy Push Button
Krok 5. Dodaj resztę: Static Text, Pop-up, Axes
Krok 6. Poustawiaj położenie komponentów. Tools > Align Objects.
Krok 7. Kliknij OK