Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych

Podobne dokumenty
MATLAB Prowadzący: dr hab. inż. Marek Jaszczur Poziom: początkujący

Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych

Laboratorium MATLA/MTL

Ćwiczenie 7. Matlab formularze, komponenty

Ćwiczenie 6. Matlab formularze, komponenty

Wstęp do GUI w Matlabie.

Laboratorium MATLA. Ćwiczenie 5. Elementy programowania obiektowego. Graficzny Interfejs Użytkownika (GUI)

Matlab - tworzenie graficznego interfejsu użytkownika GUI - Graphic User Interface

Pakiety matematyczne. Matematyka Stosowana. dr inż. Krzysztof Burnecki

III. Przebieg ćwiczenia. 1. Generowanie i wizualizacja przebiegów oraz wyznaczanie ich podstawowych parametrów

Programowanie w środowisku graficznym GUI

PODSTAWY TWORZENIA WYKRESÓW ORAZ HANDLE GRAPHICS

1. Opis. 2. Wymagania sprzętowe:

Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa TECHNIKI REGULACJI AUTOMATYCZNEJ

Zaawansowane aplikacje internetowe - laboratorium

Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej

Aplikacje w środowisku Java

Kier. MTR Programowanie w MATLABie Laboratorium

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Instrukcja użytkownika ARSoft-WZ1

Wybieramy File->New->Project Wybieramy aplikację MFC->MFC Application jak na rysunku poniżej:

Budowa aplikacji z graficznym interfejsem użytkownika - GUI (Graphic User Interface)

Gromadzenie danych. Przybliżony czas ćwiczenia. Wstęp. Przegląd ćwiczenia. Poniższe ćwiczenie ukończysz w czasie 15 minut.

LabVIEW PLATFORMA EDUKACYJNA Lekcja 5 LabVIEW i Arduino konfiguracja środowiska i pierwszy program

Scenariusz lekcji. Scenariusz lekcji 1 TEMAT LEKCJI: 2 CELE LEKCJI: 2.1 Wiadomości: 2.2 Umiejętności: 3 METODY NAUCZANIA: 4 ŚRODKI DYDAKTYCZNE:

Laboratorium - Zarządzanie systemem plików poprzez wbudowane oprogramowanie w systemie Windows Vista

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy

Laboratorium Komputerowe Systemy Pomiarowe

Podstawy technologii WWW

imei CYFROWE PRZETWARZANIE SYGNAŁÓW Laboratorium Temat: Tworzenie aplikacji w środowisku LabWindows/CVI Instytut Metrologii, Elektroniki i Informatyki

Instrukcja instalacji oraz konfiguracji sterowników. MaxiEcu 2.0

Zaawansowane aplikacje internetowe

Windows 10 - Jak uruchomić system w trybie

Symulacja działania sterownika dla robota dwuosiowego typu SCARA w środowisku Matlab/Simulink.

26 Informacje o komputerze

Projektowanie układów VLSI-ASIC techniką od ogółu do szczegółu (top-down) przy użyciu pakietu CADENCE

2. W oknie dialogowym Choose Toolbox Items w zakładce.net Framework Components naciskamy przycisk Browse...

VComNet Podręcznik użytkownika. VComNet. Podręcznik użytkownika Wstęp

Laboratorium - Zarządzanie systemem plików poprzez wbudowane oprogramowanie w systemie Windows 7

Aplikacje WWW - laboratorium

Programowanie obiektowe

Laboratorium 8 ( Android -pierwsza aplikacja)

5.2. Pierwsze kroki z bazami danych

OPTIMA PC v Program konfiguracyjny dla cyfrowych paneli domofonowy serii OPTIMA ELFON. Instrukcja obsługi. Rev 1

EKSPLOATACJA SYSTEMÓW TECHNICZNYCH - LAB. Wprowadzenie do zajęć

2 INSTALACJA OPROGRAMOWANIA. 3 3 GŁÓWNE OKNO PROGRAMU 3 4 MODUŁ OBSŁUGI ARCHIWUM 7

Ciekawym rozwiązaniem służącym do obsługi zdarzeń dla kilku przycisków w ramach jednej aktywności może być następujący kod:

Podstawy programowania. Ćwiczenie. Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio

Ćw. 0: Wprowadzenie do programu MultiSIM

SERWER AKTUALIZACJI UpServ

Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

1. Aplikacja LOGO! App do LOGO! 8 i LOGO! 7

Spring Web MVC, Spring DI

Programowanie Obiektowe GUI

Cyfrowe Przetwarzanie Obrazów i Sygnałów

Instrukcje dotyczące systemu Windows w przypadku drukarki podłączonej lokalnie

Sterowniki urządzeń zewnętrznych w pracy lokalnej i sieciowej w programach firmy InsERT dla Windows

Multimetr cyfrowy MAS-345. Instrukcja instalacji i obsługi oprogramowania DMM VIEW Ver 2.0

dr inż. Tomasz Krzeszowski

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Wykład 7 Okna dialogowe, menu, pasek stanu itp.

16) Wprowadzenie do raportowania Rave

Aplikacje WWW - laboratorium

SIECI KOMPUTEROWE I TECHNOLOGIE INTERNETOWE

Wstęp 7 Rozdział 1. OpenOffice.ux.pl Writer środowisko pracy 9

dokument DOK wersja 1.0

Tworzenie okna dialogowego w edytorze raportu SigmaNEST. część 1

EASY CAP VIDEO GRABBER SZYBKI START. Instalacja sterowników

Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski SYSTEMY SCADA

Obrót magazynowy w kasach Farex przy pomocy programu PLU Manager

D:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej. Laboratorium cyfrowej techniki pomiarowej. Ćwiczenie 4

Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8

Wprowadzenie do systemu Delphi

Korzystanie z edytora zasad grupy do zarządzania zasadami komputera lokalnego w systemie Windows XP

Ćwiczenie 0 : Wprowadzenie do cyfrowego przetwarzania sygnałów. wyświetla listę tematów pomocy. wyświetla okno pomocy (Help / Product Help)

Laboratorium - Zarządzanie systemem plików poprzez wbudowane oprogramowanie w systemie Windows XP

Dodanie nowej formy do projektu polega na:

Instalacja NOD32 Remote Administrator

37. Podstawy techniki bloków

SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja

Instrukcja obsługi użytkownika aplikacji do wizualizacji robota przemysłowego IRB-1400

Cel: Przypisujemy przyciskom określone funkcje panel górny (Panel1)

Wprowadzenie do projektu QualitySpy

Wstęp 5 Rozdział 1. Instalacja systemu 13. Rozdział 2. Logowanie i wylogowywanie 21 Rozdział 3. Pulpit i foldery 25. Rozdział 4.

Konsola operatora TKombajn

Laboratorium - Użycie narzędzia Przywracanie systemu w systemie Windows XP

Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.1

Laboratorium - Użycie narzędzia Przywracanie systemu w Windows Vista

Laboratorium - Konfigurowanie zapory sieciowej systemu Windows 7

Praca w środowisku Visual Studio 2008, Visual C

Instalowanie VHOPE i plików biblioteki VHOPE

AKADEMIA MORSKA KATEDRA NAWIGACJI TECHNICZEJ

Badanie właściwości dynamicznych obiektów I rzędu i korekcja dynamiczna

5.6.2 Laboratorium: Punkty przywracania

Transkrypt:

Laboratorium OiOSE. Wykorzystanie środowiska MATLAB... 1 Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych Organizacja i Oprogramowanie Systemów Elektronicznych Michał Kowalewski Wykorzystanie środowiska MATLAB w programowaniu systemów elektronicznych Politechnika Gdańska 2011

Laboratorium OiOSE. Wykorzystanie środowiska MATLAB... 2 1. Wprowadzenie Celem ćwiczenia jest oraz przedstawienie możliwości konstruowania graficznego interfejsu użytkownika w środowisku MATLAB oraz wykorzystanie funkcji biblioteki Instrument Control Toolbox do sterowania pracą oscyloskopu Rigol DS1052E. 2. Projektowanie raficznego interfejsu użytkownika w środowisku MATLAB W srodowisku MATLAB do projektowania graficznego interfejsu użytkownika przeznaczony jest pakiet narzędzi GUIDE (Graphical User Interface Development Environment), uruchamiany poleceniem guide. Głównym składnikiem pakietu GUIDE jest edytor interfejsu użytkownika Layout Editor, pokazany na rys. 1. GUIDE zawiera kilka narzędzi wspomagających projektowanie GUI: Alignment Tool rozmieszczanie komponentów na panelu (Rys. 2), Property Inspector edycja właściwości komponentów (Rys. 3), Object Browser podgląd listy komponentów na panelu (Rys. 4), Menu Editor edytor menu na panelu oraz menu kontekstowego (Rys. 5). Narzędzia te uruchamia się za pomocą przycisków na pasku narzędzi edytora interfejsu użytkownika (Rys. 1). Rys. 1. Edytor interfejsu użytkownika Layout Editor

Laboratorium OiOSE. Wykorzystanie środowiska MATLAB... 3 Rys. 2. Okienko edycyjne rozmieszczenia komponentów (Alignment Tool) Rys. 4. Okienko edycyjne menu (Menu Editor) Rys. 5. Okienko podglądu listy komponentów na panelu (Object Browser) Rys. 3. Okienko edycyjne właściwości (Property Inspector) 2. Przyrządy wykorzystywane w ćwiczeniu - komputer z zainstalowanym oprogramowaniem: o MATLAB R12 z biblioteką Instrument Control Toolbox o Agilent IO Control - oscyloskop Rigol DS1052E - generator funkcyjny

Laboratorium OiOSE. Wykorzystanie środowiska MATLAB... 4 3. Zadania laboratoryjne 3.1. Przygotowanie do ćwiczenia - Sprawdzić połączenie oscyloskopu z komputerem za pomocą przewodu RS232 3.2. Projektowanie interfejsu graficznego w środowisku MATLAB a) Uruchomić MATLABa oraz edytor GUI poleceniem guide. b) Rozmieścić komponenty na panelu. c) Zapoznać się z narzędziami wspomagającymi projektowanie GUI. d) Przeprowadzić edycję właściwości kontrolek na panelu (narzędzie Property Inspector) Name: testgui String: Surf Tag: surf_button String: Mesh Tag: mesh_button String: Contour Tag: contour_button String: peaks membrane sinc Tag: data_popup e) Skonfigurować kreator aplikacji zgodnie z poniższym rysunkiem.

Laboratorium OiOSE. Wykorzystanie środowiska MATLAB... 5 f) W celu utworzenia szkieletu programu dokonać aktywacji panelu (Tools/Activate Figure lub File/Save As...). Projekt zapisać pod nazwą testgui. Powinny zostać utworzone dwa pliki: testgui.fig i testgui.m. g) Uzupełnić kod źródłowy programu korzystając z wbudowanego edytora tekstowego (polecenie edit testgui). function varargout = testgui(varargin) if nargin == 0 % If no input arguments, launch the GUI handles = guihandles(fig); guidata(fig, handles); % początek nowego kodu *********************** set(fig, Rerer, zbuffer ); data_popup_callback(handles.data_popup,[],handles) % koniec nowego kodu *********************** if nargout > 0 varargout{1} = fig; % -------------------------------------------------------------- function varargout = surf_button_callback(h, eventdata, handles, varargin) z = handles.data; % Load data from handles structure surf(z); % -------------------------------------------------------------- function varargout = mesh_button_callback(h, eventdata, handles, varargin) z = handles.data; % Load data from handles structure mesh(z); function varargout = contour_button_callback(h, eventdata, handles, varargin)

Laboratorium OiOSE. Wykorzystanie środowiska MATLAB... 6 z = handles.data; % Load data from handles structure contour(z); % -------------------------------------------------------------- function varargout = data_popup_callback(h, eventdata, handles, varargin) val = get(h,'value'); switch val case 1 % User selected peaks handles.data = peaks(35); case 2 % User selected membrane handles.data = membrane; case 3 % User selected sinc [x,y] = meshgrid(-8:.5:8); r = sqrt(x.^2+y.^2) + eps; z = sin(r)./r; handles.data = z; guidata(h,handles); h) Dodać do projetu okno dialogowe String: Yes Tag: yes_button String: No Tag: no_button Name: Confirm Close i) Przeprowadzić edycję kodu źródłowego okna dialogowego function answer = modaldlg(varargin) if nargin == 0 % LAUNCH GUI fig = openfig(mfilename,'reuse'); set(fig,'windowstyle','modal'); %modal window handles = guihandles(fig); guidata(fig, handles); uiwait(fig); if ~ishandle(fig) %wybrano X zamykający okno answer = 'cancel'; else handles = guidata(fig); answer = handles.answer; delete(fig); else... function varargout = yes_button_callback(h, eventdata, handles, varargin)

Laboratorium OiOSE. Wykorzystanie środowiska MATLAB... 7 handles.answer = 'yes'; guidata(h, handles); uiresume(handles.figure1); % -------------------------------------------------------------- function varargout = no_button_callback(h, eventdata, handles, varargin) handles.answer = 'no'; guidata(h, handles); uiresume(handles.figure1); j) Dodać do programu testgui przycisk Close otwierający okno dialogowe String: Close (1) Tag: close_button (2) j) Uzupełnić kod źródłowy programu testgui function varargout = close_button_callback(h, eventdata, handles, varargin) user_response = modaldlg; % wyświetlenie okna dialogowego switch user_response case {'no','cancel'} return case 'yes' delete(handles.figure1) k) Zprezentować prowadzącemu efekty pracy. 3.3. Sterowanie oscyloskopem RIGOL DS1052E za pomocą kom języka SCPI a) Ustawić prędkość transmisji przez interfejs szeregowy na 38400 (menu UTILITY/IO Settings w oscyloskopie) b) Uruchomić program Agilent Connection Expert (ikona IO na pasku zadań).

Laboratorium OiOSE. Wykorzystanie środowiska MATLAB... 8 c) Skonfigurować parametry wybranego portu szeregowego d) Dodać urządzenie do wybranego interfejsu RS232. e) Wybrać polecenie S Commands To This Instrument i przetestować działanie wybranych kom i zapytań SCPI oscyloskopu (x = 1, 2): *IDN?, :TIM:SCAL, :CHANx:DISP, :CHANx:COUP, :CHANx:SCAL, :CHANx:INV, :CHANx:OFFS, :WAV:POIN:MODE, :WAV:DATA? CHANx Znaleźć w dokumentacji znaczenie poszczególnych kom i zapytań. Zamknąć program Agilent Connection Expert i Agilent Interactive IO. 3.3. Sterowanie oscyloskopem za pomocą funkcji biblioteki Instrument Control Toolbox

Laboratorium OiOSE. Wykorzystanie środowiska MATLAB... 9 a) Uruchomić MATLABa. b) Zapoznać się z funkcją serial (help serial). c) Utworzyć obiekt portu szeregowego s i ustawić jego parametry (prędkość liczba, bitów danych, liczba bitów stopu). Ponadto ustawić ustawić właściwość Timeout na 1 s i wielkość bufora wejściowego na 100 kb. Wykorzystać funkcję set. d) Otworzyć dostęp do portu za pomocą funkcji fopen. e) Sprawdzić działanie wybranych kom SCPI oscyloskopu. Wykorzystać w tym celu funkcje fprintf, fscanf i query. f) Dołączyć dowolny sygnał z generatora do oscyloskopu g) Zrejestrować oscylogram i przesłać do komputera za pomocą RS-232: - za pomocą odpowiedniej komndy SCPI ustawić liczbę zbieranych próbek na 600 - zarejestrować oscylogram korzystając z zapytania :WAV:DATA? CHANx - sprawdzić ile danych jest w buforze wejściowym - odczytać dane funkcją sscanf i zobaczyć jaki jest ich format. - powtórzyć rejestrację, ale tym razem zastosować funkcję binblockread. Określić typ danych jako int8. - Wykreślić odczytane dane za pomocą funkcji plot. h) Zamknąć dostęp do portu za pomocą funkcji fclose. Uwaga! W razie problebów z komunikacją można wykorzystać funkcje instrreset, close lub flushinput. 3.4. Sterowanie oscyloskopem z wykorzystaniem interfejsu GUI w MATLABie. a) Utworzyć nowy panel przyrządu wirtualnego. Umieścić na panelu następujące komponenty: Axes, Push Button, Listbox, Popup Menu, Checkbox. Zadaniem kontrolek na panelu powinno być: 1) Axes wyświetlanie oscylogramu; 2) Push Button odczyt oscylogramu z oscyloskopu; 3) Listbox wartość nastawy podstawy czasu (przynajmniej 3 wartości); 4) Popup Menu wybór kanału oscyloskopu (CH1, CH2). b) Skonfigurować kontrolki poprzez zmianę wartości parametrów: Tag, String i/lub Name. c) Dodać do projektu funkcję DeleteFcn wywoływaną przy zamykaniu programu. W tym celu w edytorze GUI wybrać okno tworzonego programu. Następnie z menu kontekstowego wybrać Property Inspector. Znależć opcję DeleteFcn i wpisać <automatic>. W ten sposób funkcja zostanie wygenerowana automatycznie przy aktywacji panelu. d) Dokonać aktywacji panelu w celu utworzenia plików *.fig i *.m. e) Dodać kod wywoływany przy pierwszym uruchomieniu programu: set(handles.axes,'xlim',[1 600],'YLim',[-128 127]); instrreset,close s = serial('com1'); set(s,'baudrate', 38400, 'DataBits', 8, 'StopBits', 1); set(s,'inputbuffersize', 5000, 'Timeout', 0.5); fopen(s); handles.s = s; guidata(fig, handles); Obiekt portu szeregowego zapisany jest w strukturze handles (handles.s). Należy go wykorzystywać w funkcjach callback. f) Funkcja callback DeleteFcn powinna zamykać dostęp do portu: fclose(handles.s); g) Pozostałe funkcje callback uzupełnić samodzielnie. h) Zademonstrować działnie programu.

Laboratorium OiOSE. Wykorzystanie środowiska MATLAB... 10 Dodatek Mechanizm callback w MATLABie Obsługa kontrolek na panelu przy pomocy funkcji callback Ogólna postać funkcji callback dla obiektu, którego pole Tag ma wartość objtagfunc varargout = objtag_callback(h,eventdata,handles,varargin) Parametry funkcji: h uchwyt do obiektu, który wywołał funkcję eventdata parametr zarezerwowany handles struktura zawierająca uchwyty do obiektów na panelu varargin lista parametrów przekazanych do funkcji callback varargout wartości zwracane przez funkcję callback Mechanizm dodawania funkcji callback do kodu źródłowego Domyślnie, pole Callback każdego obiektu na panelu (kontrolka, pole menu) ma nadaną wartość <automatic>. Podczas aktywacji panelu, dla wszystkich obiektów, które mają wpisaną wartość <automatic> w polu Callback, generowana jest funkcja callback. Nazwa tej funkcji bazuje na wartości wpisanej w polu Tag. Po aktywacji panelu zawartość pola Callback ulega zmianie. Przykład: Nazwa panelu test, Tag = start, Callback = <automatic> => => Callback = test( start_callback',gcbo,[],guidata(gcbo)) Jeśli wartość pola Callback jest inna niż <automatic>, wówczas funkcja callback nie będzie wygenerowana podczas aktywacji panelu. Można ją jednak dodać korzystając z menu kontekstowego View Callbacks/Callback. Funkcje wykorzystywane przy programowaniu GUI (1/2) object=gcbo - pobranie uchwytu do kontrolki, która wygenerowała funkcję callback (Get handle to current callback object) [object, figure] = gcbo pobranie uchwytu do kontrolki i panelu

Laboratorium OiOSE. Wykorzystanie środowiska MATLAB... 11 figure=gcbf - pobranie uchwytu do panelu, na którym kontrolka wygenerowała funkcję callback (Get handle to current callback figure) handles = guidata(gcbo) pobranie struktury handles zawierającej uchwyty do wszystkich kontrolek na panelu guidata(gcbo, handles) zapisanie struktury handles (Wywołanie wewnątrz funkcji callback) guidata(fig, handles) zapisanie struktury handles (Wywołanie poza funkcją callback, fig uchwyt do panelu) Funkcje wykorzystywane przy programowaniu GUI (2/2) set(h,'propertyname',propertyvalue) ustawienie wartości PropertyValue dla atrybutu PropertyName. PropertyValue = get(h,'propertyname') pobranie wartości atrybutu PropertyName. feval(f,x1,...,xn) wywołanie funkcji f z parametrami x1,..., xn [y1,..,yn]= feval(f,x1,...,xn) wywołanie funkcji f, która zwraca parametry y1,..., yn uiwait(fig) oczekiwanie na zamknięcie okna fig lub wywołanie funkcji uiresume(fig) Dostęp do kontrolek na panelu w funkcji callback Uchwyty do kontrolek na panelu przekazywane są do funkcji callback jako pola struktury handles. Nazwy pól są takie same jak wartości pól Tag przypisanych kontrolkom. Przykładowo aby pobrać napis kontrolki edit1 (innej niż kontrolka, która wywołała aktualnie obsługiwane zdarzenie), należy wpisać następujący kod napis = get(handles.edit1,'string'); Z kolei aby pobrać wartość kontrolki, która wywołała aktualnie obsługiwane zdarzenie, należy skorzystać z uchwytu h, przekazywanego jako pierwszy parametr funkcji callback, np. function varargout = togglebutton1_callback(h,eventdata,handles,varargin) button_state = get(h,'value'); Obsługa kontrolek: Przycisk (Push Button) function varargout = pushbutton1_callback(h,eventdata,handles,varargin) % kod funkcji Przełącznik (Toggle Button) function varargout = togglebutton1_callback(h,eventdata,handles,varargin) button_state = get(h,'value'); if button_state == get(h,'max') % toggle button is pressed

Laboratorium OiOSE. Wykorzystanie środowiska MATLAB... 12 elseif button_state == get(h,'min') % toggle button is not pressed Przełączniki typu Radio Button function varargout = rb1_callback(h,eventdata,handles,varargin) h_rb = [handles.rb2,handles.rb3]; set(h_rb, Value, Min ); function varargout = rb2_callback(h,eventdata,handles,varargin) h_rb = [handles.rb1,handles.rb3]; set(h_rb, Value, Min ); function varargout = rb3_callback(h,eventdata,handles,varargin) h_rb = [handles.rb1,handles.rb2]; set(h_rb, Value, Min ); Pole Edit Box function varargout = ebox_callback(h,eventdata,handles,varargin) napis = get(h,'string'); user_entry = str2double(napis); if isnan(user_entry) errordlg('you must enter a numeric value','bad Input','modal') Kontrolka List Box function varargout = lbox_callback(h,eventdata,handles,varargin) index = get(h, Value'); % index = [] nie wybrano żadnego elementu % index = [1] wybrano jeden element % index = [1 2 3] wybrano kilka elementów % Jeśli Max Min > 1 to kontrolka umożliwia wybór wielokrotny Kontrolka Popup Menu function varargout = pmenu_callback(h,eventdata,handles,varargin) val = get(h,'value'); switch val

Laboratorium OiOSE. Wykorzystanie środowiska MATLAB... 13 case 1 % The user selected the first item case 2 % The user selected the second item otherwise