Pakiety Matematyczne

Transkrypt

Pakiety Matematyczne
Pakiety matematyczne
Matematyka Stosowana
dr inż. Krzysztof Burnecki
15.05.2013
Wykład 11
 GUI. Przydatne funkcje
 Inne typy danych: typ komórkowy (cell)
i typ strukturalny (struct)
 Narzędzia cftool i sftool
Slajdy powstały na podstawie prezentacji „Informatyka” otrzymanej od
dr hab. Małgorzaty Kotulskiej
Przydatne informacje do tworzenia
GUI
 Stworzenie menu i paska narzędzi
 Grupowanie przycisków: komponent Panel
Właściwości wywołań wstecznych
Własność
Opis własności
ButtonDownFcn
Jest wykonywana wtedy, gdy
użytkownik naciśnie przycisk
myszki, a jej kursor wskazuje dany
komponent
CreateFcn
Inicjalizuje komponent podczas
jego tworzenia (ale przed jego
pojawieniem się na ekranie)
DeleteFcn
Czyszczenie operacji bezpośrednio
przed usunięciem komponentu
Callback
Wykonuje podstawowe zadania, w
odpowiedzi na akcję użytkownika
Właściwości wywołań wstecznych
Własność
Opis własności
KeyPressFcn
Jest wykonywana wtedy, gdy
użytkownik naciśnie klawisz na
klawiaturze, a wywołanie wsteczne
komponentu jest aktywne
ResizeFcn
Jest wykonywana wtedy. Gdy
użytkownik zmienia rozmiar Panela
lub Grupy opcji
SelectionChangeFcn
Jest wykonywana wtedy, gdy
użytkownik wybierze inny przycisk
opcji lub przycisk przełącznika
Inne typy danych. Typ komórkowy
 Elementy tablic komórkowych mogą zawierać
inne tablice o dowolnych rozmiarach i typach.
 Odwołań do komórki dokonuje się za pomocą
indeksów umieszczonych w nawiasach
klamrowych {}.
Typ komórkowy (cell)
 Składowymi zmiennej typu CELL są macierze,
łańcuchy, inne obiekty typu cell, zmienne
obiektowe języka Java.
 Deklaracja: np. cell(1,2)
Typ komórkowy. Przykład
Typ komórkowy. Przykład, cd.
>> A(1,1) = {magic(5)}
A=
[5x5 double]
>> A(1,2) = {{[5 2 8; 7 3 0; 6 7 3] 'Test 1'; [2-4i 5+7i] {17 []}}}
A=
[5x5 double] {2x2 cell}
Dostęp do elementów w komórce
Stosujemy nawiasy klamrowe
>> A{1,2}
ans =
[3x3 double] 'Test 1'
[1x2 double] {1x2 cell}
>> A{1,2}{1,1}
ans =
5
2
8
7
3
0
6
7
3
Pełne wyświetlenie zawartości
komórki, celldisp
>> celldisp(A)
A{1} =
17
24
1
8
15
23
5
7
14
16
4
6
13
20
22
10
12
19
21
3
11
18
25
2
9
A{2}{1,1} =
5
2
8
7
3
0
6
7
3
A{2}{2,1} =
2.0000 - 4.0000i 5.0000 + 7.0000i
A{2}{1,2} =
Test 1
A{2}{2,2}{1} =
17
A{2}{2,2}{2} =
[]
Graficzne wyświetlenie komórki,
cellplot
>> cellplot(A)
Test 1
17
Inne typy danych. Typ struktualny
(struct)
 Za pomocą danych struct można tworzyć lub
dokonywać konwersji na tablicę strukturalną.
 Tablice strukturalne odwołują się do nazw pól,
które mogą zawierać inne tablice, o dowolnych
wymiarach i elementach.
Typ strukturalny (struct)
s = struct(‘POLE_1', wartosc_pola1, ‘POLE_2', wartosc_2, ...)
s = struct(‘pole1', {wartosc1, wartosc2}, ‘pole2', {}, ...)
struct([]), struct(Java_obj)
Przykłady struktur
>> s = struct('type', {'big','little'}, 'color', {'red'}, 'x', {3 4})
s=
1x2 struct array with fields:
type
color
x
Przykłady struktur, cd.
>> s.x
ans =
3
ans =
4
Przykłady struktur, cd.
>> s = struct('type', {'big'}, 'color', {'red'}, 'x', {3})
s=
type: 'big'
color: 'red'
x: 3
Przykłady struktur, cd.
>> s.type='small'
s=
type: 'small'
color: 'red'
x: 3
Przykłady struktur. Inny sposób
tworzenia
>> s.type = 'big'
>> s. color = 'red'
>> s.x = 3
Przekształcanie komórek w
struktury, cell2struct
>> dane = {'Ania','Kowalska',165; 'Ewa','Kwiatkowska',170}
każdy element to komórka
dane =
'Ania' 'Kowalska'
'Ewa'
[165]
'Kwiatkowska' [170]
>> pola = {'imie', 'nazwisko', 'wzrost'}
pola =
'imie' 'nazwisko' 'wzrost'
Przekształcanie komórek w
struktury, cell2struct
>> s = cell2struct(dane, pola, 2)
s=
2x1 struct array with fields:
imie
nazwisko
wzrost
Przekształcanie komórek w
struktury, cell2struct
>> s(1)
ans =
imie: 'Ania'
nazwisko: 'Kowalska'
wzrost: 165
>> s(2).nazwisko
ans =
Kwiatkowska

Podobne dokumenty