Laboratorium MATLA. Ćwiczenie 2. Programowanie. Skrypty i funkcje. Instrukcje sterujące.

Podobne dokumenty
Laboratorium MATLA. Ćwiczenie 6 i 7. Mała aplikacja z GUI

Laboratorium MATLA. Ćwiczenie 4. Debugowanie. Efektywności kodu. Wektoryzacja.

Laboratorium MATLA. Ćwiczenie 3. Programowanie. Instrukcje sterujące. Typy danych.

Laboratorium MATLA. Ćwiczenie 1

1 Programowanie w matlabie - skrypty i funkcje

Wstęp do Programowania Lista 1

Laboratorium Cyfrowego Przetwarzania Obrazów

Laboratorium Cyfrowego Przetwarzania Obrazów

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

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ć

Laboratorium Przetwarzania Sygnałów

do MATLABa programowanie WYKŁAD Piotr Ciskowski

Opracował: Arkadiusz Podgórski

Układy i Systemy Elektromedyczne

Przetwarzanie sygnałów

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje

Przykładowo, jeśli współrzędna x zmienia się od 0 do 8 co 1, a współrzędna y od 12 co 2 do 25, to punkty powinny wyglądać następująco:

Krok 1.Chcemy napisać dowolny tekst na ekranie, np. Witaj świecie

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA

Metody numeryczne Laboratorium 2

Metody numeryczne. Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski

Laboratorium Algorytmy Obliczeniowe. Lab. 9 Prezentacja wyników w Matlabie

Podstawy JavaScript ćwiczenia

Diary przydatne polecenie. Korzystanie z funkcji wbudowanych i systemu pomocy on-line. Najczęstsze typy plików. diary nazwa_pliku

Laboratorium Cyfrowego Przetwarzania Obrazów

Odczyt danych z klawiatury Operatory w Javie

Podstawy Automatyki ćwiczenia Cz.1. Środowisko Matlab

Scilab - podstawy. Wersje instalacyjne programu Scilab mogą zostać pobrane ze strony

Ćwiczenie 3. Iteracja, proste metody obliczeniowe

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Programowanie w Scilab

układu krążenia Paweł Piwowarczyk

Laboratorium Cyfrowego Przetwarzania Obrazów

Warsztaty dla nauczycieli

Laboratorium nr 1. i 2.

Wartości x-ów : Wartości x ów można w Scilabie zdefiniować na kilka sposobów, wpisując odpowiednie polecenie na konsoli.

Ocena ogólna: Raport całkowity z okresu od do

Podstawowe operacje graficzne.

Pętle iteracyjne i decyzyjne

Pracownia Informatyczna Instytut Technologii Mechanicznej Wydział Inżynierii Mechanicznej i Mechatroniki. Podstawy Informatyki i algorytmizacji

PODSTAWY INFORMATYKI 1 MATLAB CZ. 3

Laboratorium Przetwarzania Sygnałów

SKRYPTY. Zadanie: Wyznaczyć wartość wyrażenia arytmetycznego

Elementy okna MatLab-a

1 Podstawy c++ w pigułce.

Rys.2.1. Drzewo modelu DOM [1]

Po naciśnięciu przycisku Dalej pojawi się okienko jak poniżej,

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji

MATLAB ŚRODOWISKO MATLABA OPIS, PODSTAWY

ĆWICZENIE 4 ZASTOSOWANIE METOD I NARZĘDZI LOGIKI ROZMYTEJ DO KLASYFIKACJI DANYCH I APROKSYMACJI ODWZOROWAŃ STATYCZNYCH

Laboratorium Przetwarzania Sygnałów

Operacje wykonywane są na operandach (argumentach operatorów). Przy operacji dodawania: argumentami operatora dodawania + są dwa operandy 2 i 5.

Laboratorium Komputerowego Wspomagania Analizy i Projektowania

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Laboratorium. Szyfrowanie algorytmami Vernam a oraz Vigenere a z wykorzystaniem systemu zaimplementowanego w układzie

Podstawy MATLABA, cd.

WYKRESY ĆWICZENIE 5. Skorzystaj z wyznaczonej funkcji kalibracyjnej do określenia nadciśnienia przy podanych wskazaniach czujnika.

Frakcja wyrzutowa lewej komory oraz rozpoznanie i leczenie ostrej i przewlekłej niewydolności serca

Excel zadania sprawdzające 263

Wprowadzenie do analizy dyskryminacyjnej

Konsola operatora TKombajn

Ćwiczenie 1. Wprowadzenie do programu Octave

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Tworzenie i modyfikowanie wykresów

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania KOMPUTEROWE SYSTEMY STEROWANIA (KSS)

Naszym zadaniem jest rozpatrzenie związków między wierszami macierzy reprezentującej poziomy ekspresji poszczególnych genów.

Ćwiczenie 1. Wprowadzenie do programu Octave

Badania operacyjne Instrukcja do c wiczen laboratoryjnych Rozwiązywanie problemów programowania liniowego z użyciem MS Excel + Solver

Laboratorium Przetwarzania Sygnałów. Ćwiczenie 2. Analiza widmowa

Fizjologia. Układ krążenia, wysiłek, warunki ekstremalne

Ćwiczenia Skopiować do swojego folderu plik cwiczenia-kl.ii.xls, a następnie zmienić jego nazwę na imię i nazwisko ucznia

OPROGRAMOWANIE DEFSIM2

Matlab Składnia + podstawy programowania

P R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H

Przykład 1 -->s="hello World!" s = Hello World! -->disp(s) Hello World!

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

System do wspomagania procesu resynchronizacji serca. Promotor : J. Wtorek Konsultant : A. Bujnowski

1. Opis okna podstawowego programu TPrezenter.

Delegacje otrzymują w załączeniu dokument D043528/02 Annex.

Z. Rudnicki: WPROWADZENIE DO INFORMATYKI I PROGRAMOWANIA

Rys. 1. Zestawienie rocznych kosztów ogrzewania domów

Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa. Diagnostyka i niezawodność robotów

Przeciążanie operatorów

LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA

Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa. Diagnostyka i niezawodność robotów

UNIWERSYTET MEDYCZNY W LUBLINIE KATEDRA I KLINIKA REUMATOLOGII I UKŁADOWYCH CHORÓB TKANKI ŁĄCZNEJ PRACA DOKTORSKA.

Ogólny schemat prostego formularza: A może lepiej zamiast przycisku opartego o input tak:

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.

LECZENIE TĘTNICZEGO NADCIŚNIENIA PŁUCNEGO SILDENAFILEM I EPOPROSTENOLEM (TNP) (ICD-10 I27, I27.0)

Metody Numeryczne. Laboratorium 1. Wstęp do programu Matlab

Usługi Informatyczne "SZANSA" - Gabriela Ciszyńska-Matuszek ul. Świerkowa 25, Bielsko-Biała

Testy wysiłkowe w wadach serca

Obliczanie wartości średniej i odchylenia standardowego średniej w programie Origin

Skumulowane wykresy słupkowe: pokazują zależności zachodzące między indywidualnymi elementami i całością.

Zmienne powłoki. Wywołanie wartości następuje poprzez umieszczenie przed nazwą zmiennej znaku dolara ($ZMIENNA), np. ZMIENNA=wartosc.

Analiza obciążeń baneru reklamowego za pomocą oprogramowania ADINA-AUI 8.9 (900 węzłów)

Zad. 3: Układ równań liniowych

7. Szybka transformata Fouriera fft

Podstawy Programowania

Operacje logiczne i struktury sterujące.

Transkrypt:

Laboratorium MATLA Ćwiczenie 2. Programowanie. Skrypty i funkcje. Instrukcje sterujące. Opracowali: - dr inż. Beata Leśniak-Plewińska Zakład Inżynierii Biomedycznej Instytut Metrologii i Inżynierii Biomedycznej Wydział Mechatroniki Politechniki Warszawskiej Warszawa, 2017

1. Mięsień sercowy stanowi skomplikowaną strukturę przestrzenną włókien zbudowanych z kardiomiocytów. Aby mógł on wydajnie pracować jako pompa tłocząca krew pod odpowiednim ciśnieniem, struktura ta musi być odpowiednio uporządkowana, w mięśniu nie mogą istnieć martwe, niekurczliwe obszary (blizny), zastawki serca muszą pozostawać dostatecznie szczelne, tak aby krew była tłoczona we właściwym kierunku, a ściany lewej komory serca muszą być pobudzane w sposób skoordynowany i w odpowiedniej sekwencji. U większości chorych z niewydolnością serca dochodzi do rozwoju lub nasilenia zaburzeń przewodzenia pobudzeń, co prowadzi do desynchronizacji pobudzenia ściany lewej komory, co prowadzi do jej nieużytecznej pracy. Terapia resynchronizująca (CRT - ang. cardiac resynchronization therapy) to metoda leczenia zaawansowanej niewydolności serca, polegająca na wprowadzeniu do serca elektrod w celu prowadzenia kardiostymulacji obu komór serca przez zewnętrzne urządzenie (kardiostymulator). Celem terapii jest przywrócenie możliwie optymalnej sekwencji skurczu mięśnia sercowego, a w następstwie poprawę jego funkcji skurczowej i rozkurczowej i zmniejszenie objawów klinicznych. Jednak nie wszyscy pacjenci mogą być poddani takiej terapii. Decyduje o tym jednoczesne spełnienie poniższych wymagań a) niewydolność serca oceniona jako równa 3 lub 4 wg skali NYHA (New York Heart Association) (dopuszczalne wartości 1-4), b) dystans 6-cio minutowego marszu 6MWD (ang. 6 minute walk distance,) mniejszy niż 225 metrów, c) objętość wyrzutowa lewej komory (EF ang. ejection fraction) mniejsza niż 35%. Napisz funkcję MATLAB a crtqualify zawierającą jedną konstrukcję if, która będzie ustalać czy pacjent kwalifikuje się do terapii resynchronizującej, czy nie. Funkcja powinna pobierać jako parametry wejściowe: ocenę niewydolności w skali NYHA, dystans 6MWD oraz EF oraz zwracać jeden parametr wyjściowy w postaci wartości logicznej 1 jeśli pacjent kwalifikuje się do procedury CRT i 0 w przeciwnym przypadku. Zapewnij kontrolę błędów. W przypadku niewłaściwych wartości paramentów funkcja crtqualify powinna przerwać swoje działanie i wyświetlić odpowiedni komunikat. Napisz skrypt, w którym od użytkowania będą pobierane: numer identyfikacyjny (ID) pacjenta oraz wartości parametrów funkcji crtqualify. Następnie dla pobranych wartości parametrów wywoływana będzie funkcja crtqualify. Na koniec skrypt będzie wyświetlał w Oknie poleceń informację o tym czy pacjent został, czy nie został zakwalifikowany do terapii resynchronizującej w postaci zdania: Pacjent ma niewydolność skali (NYHA), 6MWD równy m i EF równą %. zakwalifikowany do CRT. W wykropkowanych miejscach należy podać kolejno dla danego pacjenta: ID, ocenę niewydolności krążenia w skali NYHA, dystans 6-cio minutowego marszu i objętość wyrzutową lewej komory oraz decyzję o kwalifikacji: został/nie został. Przetestuj poprawność działania funkcji i skryptu dla danych z Tabeli 1. Wykaż działanie kontroli błędów dla nieprawidłowych wartości parametrów podawanych przez użytkownika. Wyniki przepisz w odpowiednie rubryki Sprawozdania. WSKAZÓWKA. W realizacji zadania mogą być przydatne wbudowane funkcje MATLAB a: error, input, disp lub fprintf, num2str. Ćwiczenie 1 2/8

2. Napisz skrypt MATLAB a, w którym od użytkownika będą pobierane dwie wartości liczbowe (operandy) oraz jeden ze znaków odpowiadający operatorowi arytmetycznemu: '+', '-', '*', lub '/'. Dalej, w zależności od wartości znaku, dla podanych wartości liczbowych zostanie wykonane działanie arytmetyczne odpowiadające temu znakowi (użyj instrukcji switch) i wyświetlany będzie jego wynik. Wynik powinien być wyświetlany w postaci zdania: Wynik wynosi. W wykropkowanych miejscach należy wpisać kolejno: wartość lewego operandu, znak operatora, wartość prawego operandu i wartość wyniku. Wyniki przepisz w odpowiednie rubryki Sprawozdania. Zapewnij kontrolę błędów. W przypadku wprowadzenia niewłaściwego znaku jako znaku operatora skrypt powinien przerwać swoje działanie i wyświetlić odpowiedni komunikat. Przetestuj działanie skryptu dla kilku wartości operandów w tym dla liczb całkowitych i zmiennoprzecinkowych. Wykaż działanie kontroli błędów dla nieprawidłowych wartości parametrów podawanych przez użytkownika. Zmodyfikuj skrypt tak, aby użytkownik mógł podawać jeden z czterech znaków oznaczających wybrany operator arytmetyczny tak długo, aż jako operator zostanie przez niego prowadzony znak 'x'. W przypadku gdy użytkownik jako operator wprowadzi znak 'x' działanie skryptu powinno zostać przerwane i powinien zostać wyświetlony odpowiedni komunikat: Zakończyłeś działanie skryptu. WSKAZÓWKA. W realizacji zadania mogą być przydatne wbudowane funkcje MATLAB a: error, input, disp lub fprintf, num2str. 3. Rysunek 1 przedstawia klasyfikację pacjentów ze względu na zmierzone u nich wartości skurczowego i rozkurczowego ciśnienia krwi w mmhg. Napisz skrypt MTLAB a, w którym od użytkownika pobierane zostaną: imię i nazwisko pacjenta oraz zmierzone u tego pacjenta wartości ciśnienia skurczowego i rozkurczowego krwi (w mmhg). Następnie, na podstawie poniższego wykresu (Rys. 1), dokonana zostanie klasyfikacja danego pacjenta do jednej z grup oraz wyświetlony zostanie odpowiedni komunikat w postaci zdania: Ciśnienie krwi wynosi / mmhg i jest. W wykropkowanych miejscach należy wpisać kolejno: imię i nazwisko pacjenta, wartości ciśnienia skurczowego/rozkurczowego oraz odpowiednią kategorię. Wyniki przepisz w odpowiednie rubryki Sprawozdania. Zapewnij kontrolę błędów. W przypadku niewłaściwych wartości ciśnienia skrypt powinien przerwać swoje działanie i wyświetlić odpowiedni komunikat. Przetestuj działanie skryptu dla kilku wartości ciśnienia skurczowego i rozkurczowego odpowiadających różnym kategoriom (Rys. 1), w tym dla liczb całkowitych i zmiennoprzecinkowych. Wykaż działanie kontroli błędów dla nieprawidłowych wartości parametrów podawanych przez użytkownika. WSKAZÓWKA. W realizacji zadania mogą być przydatne wbudowane funkcje MATLAB a: error, input, disp lub fprintf, num2str. Ćwiczenie 1 3/8

4. Prawidłowy chód człowieka składa się z dwóch powtarzalnie następujących po sobie faz: fazy podporu i fazy wykroku. Faza podporu rozpoczyna się w momencie zetknięcia się stopy z podłożem. (Rys. 2). Zadanie 7 ćwiczenia 1 dotyczyło zagadnienia analizy chodu. Plik LAnkle_tracking.mat zawiera dane zarejestrowane przez system do wideorejestracji chodu dla tego samego pacjenta, dla którego dane analizowano w Zadaniu 7 ćwiczenia 1. Plik zawiera zmienną Lankle, która jest macierzą o czterech kolumnach. W pierwszej kolumnie znajdują się dane reprezentujące wartości kolejnych chwil czasowych w [s]. Dalsze trzy kolumny zawierają kolejno chwilowe wartości współrzędnych x, y i z markera przymocowanego do lewej kostki pacjenta. Napisz funkcję podpor, która będzie automatycznie wykrywała początek każdej zarejestrowanej fazy podporu. Funkcje powinna być zapisana w odrębnym m-pliku. Początek fazy podporu może być wykryty w wyniku analizy przebiegu zmian chwilowej wartości współrzędnej z markera zamocowanego do kostki pacjenta, reprezentującej ruch pionowy tego markera. W tym celu należy zlokalizować chwile, w których przebieg ten osiąga dna dolin, odpowiadające momentowi styku pięty z podłożem (współrzędna z markera zamocowanego do kostki pacjenta osiąga wówczas najniższą wartość w danym cyklu chodu). Można to zrealizować np. porównując wartość współrzędnej z w danej chwili z jej wartościami w chwilach poprzedzających daną chwilę i następujących po niej. Funkcja podpor powinna pobierać jako parametr wejściowy macierz danych zawartych w zmiennej Lankle, i zwracać jako parametr wyjściowy wektor chwil czasowych (w sekundach) odpowiadających początkowi fazy podporu. Zapewnij kontrolę błędów. Jeśli argumentem wejściowym funkcji podpor będzie tablica pusta, funkcja powinna przerywać swoje działanie i zwracać odpowiedni komunikat. Napisz skrypt, w którym do przestrzeni roboczej zostaną załadowane dane z pliku LAnkle_tracking.mat. Następnie wykonany zostanie wykres liniowy przebiegu zmian wartości współrzędnej z markera zamocowanego do kostki pacjenta w funkcji czasu. Dalej, wywołana zostanie funkcja podpor, w wyniku czego uzyskane zostaną wektory chwil czasowych odpowiadających początkom fazy podporu. Na koniec, do liniowego wykresu przebiegu zmian wartości współrzędnej z markera zamocowanego do kostki pacjenta dodane zostaną w postaci wykresu punktowego (ang. scatter plot) wyznaczone wartości czasu odpowiadające początkowi fazy podporu. Czy wyznaczone wartości czasu odpowiadają dolinom widocznym na tym wykresie? Zadbaj o odpowiednie zdefiniowanie stylu linii oraz markerów dla poszczególnych wykresów, etykiety osi, legendę. WSKAZÓWKA. W realizacji zadania mogą być przydatne wbudowane funkcje MATLAB a: find, plot i hold. Ćwiczenie 1 4/8

Tabela 1. Parametry pacjentów dla kwalifikacji do CRT ID Klasa NYHA 6MWD [m] EF [%] Zakwalifikowany do CRT 1 3 250 30 Nie 2 4 170 25 Tak 3 2 210 40 Nie 4 3 200 33 Tak Rysunek 1: Kategorie w zależności od wartości ciśnienia skurczowego i rozkurczowego. Rysunek 2: Fazy prawidłowego chodu człowieka. (http://snauka.pl/systemy-ilociowej-analizy-ruchu-z-uwzgldnieniem-ich-zastosowa.html) Ćwiczenie 1 5/8

Sprawozdanie Ćwiczenie 2. Programowanie. Skrypty i funkcje. Instrukcje sterujące. L.p. Imię i nazwisko Grupa Data Punkt cw./ L. punktów Realizacja/wynik Uwagi prowadzącego 1 / 1 Pacjent ma niewydolność skali (NYHA), 6MWD równy m i EF równą %. zakwalifikowany do CRT. Pacjent ma niewydolność skali (NYHA), 6MWD równy m i EF równą %. zakwalifikowany do CRT. Pacjent ma niewydolność skali (NYHA), 6MWD równy m i EF równą %. zakwalifikowany do CRT. Pacjent ma niewydolność skali (NYHA), 6MWD równy m i EF równą %. zakwalifikowany do CRT. Przykład kontroli błędów. Wartości parametrów: ID NYHA 6MWD = EF = Komunikat Ćwiczenie 1 6/8

Wynik wynosi. Wynik wynosi. Wynik wynosi. Wynik wynosi. 2 / 1,5 Wartości parametrów: Przykład kontroli błędów. lewego operandu prawego operandu znaku Komunikat Ciśnienie krwi wynosi / mmhg i jest. Ciśnienie krwi wynosi / mmhg i jest. Ciśnienie krwi wynosi / mmhg i jest. 3 / 1 Ciśnienie krwi wynosi / mmhg i jest. Przykład kontroli błędów. Wartości parametrów wejściowych: ciśnienia skurczowego ciśnienia rozkurczowego Komunikat Ćwiczenie 1 7/8

4 / 1,5 X Ćwiczenie 1 8/8