11. Macierze i wektory
Macierz jest prostokątną tablicą liczb o określonej liczbie kolumn i wierszy. Wektor jest tablica posiadająca tylko jedną kolumnę lub jeden wiersz.
Dla macierzy i wektorów istotna jest wartość zmiennej systemowej ORIGIN, określającej jak Mathcad numeruje elementy kolumn i wierszy.
Jeśli ORIGIN=0, to numeracja zaczyna się od zera:
a
a
a
b
0, 0
0, 1
0, 2
0
a
a
a
b
1, 0
1, 1
1, 2
1
a
a
a
b
2, 0
2, 1
2, 2
2
Jeśli ORIGIN=1, to numeracja zaczyna się od jedynki:
a
a
a
b
1, 1
1, 2
1, 3
1
a
a
a
b
2, 1
2, 2
2, 3
2
a
a
a
b
3, 1
3, 2
3, 3
3
Wartość zmiennej ORIGIN można wyświetlić, za pomocą polecenia ORIGIN= lub nadać wartość wykorzystując globalną definicję zmiennej.
ORIGIN = 1
ORIGIN ≡ 1
ORIGIN = 1
11.1. Definiowanie macierzy
• Definicja bezpośrednia
Tablicę wprowadzamy do dokumentu za pomocą polecenia Insert|Matrix skrótu klawiszowego Ctrl+m lub za pomocą palety Martix. Następnie po ustaleniu liczby kolumn i wierszy, należy wprowadzić w "miejsca braku" wartości poszczególnych elementów.
1.5
2
1
−
1
1 0 0
A :=
3
2
− .67 8
B :=
2
I :=
0 1 0
1
1
3.5
3
0 0 1
Do elementu tablicy odwołujemy się poprzez indeks. Element tablicy uzyskamy pisząć nazwę tablicy, następnie nawias kwadratowy otwierający i wartości indeksów.
A
=
1,
1.5
1
Piszemy A[1,1=
• Definicja pośrednia
Przy definicji pośredniej macierzy posługujemy się zmiennymi zakresowymi o wartościach całkowitych.
i := 1 . 3
j := 1 . 5
C
:= +
X := 2⋅(i − 1) + 1
Piszemy X[i:2*(i-1)+1
i,
i
j
j
Piszemy C[i,j:i+j
i
2 3 4 5 6
1
C =
3 4 5 6 7
X =
3
4 5 6 7 8
5
MATHCAD-W2 strona 2
• definicja macierzy na podstawie danych zamieszczonych w pliku tekstowym.
Jeli plik z danymi znajduje się w tym samym katalogu co arkusz Mathcada, to można go pobrać za pomocą polecenia READPRN. Utworzoną tablice można wyświetlić pisząc nazwa_tablicy=
W := READPRN("macierz.txt" )
1
− 2 3
cols(W) = 3
4
5
6
W =
rows(W) = 4
7
8
9
−
1 1 1
11.2. Operacje na tablicach Operacje na macierzach wykonujemy posługując się paletą macierzową Matrix.
1.5
2
1
−
1.5
3
1
0.473 0.218
0
− .363
A =
3
2
− .67 8
A = 3
− 6.687
T
− 1
A =
2
2
− .67 1
A
= 0.068
0
− .17 0.409
1
1
3.5
1
−
8
3.5
0
− .155 0
− .014 0.273
2.5
1 0 0
−
→
0.997
0.909
0.841
A⋅B =
21.66
T
− 1
B ⋅A = ( 10.5
0
− .34 25.5 )
A⋅A
= 0 1 0
sin(A) =
0.141
0
− .454 0.989
13.5
0 0 1
0.841 0.841
0
− .351
〈 〉
1.5
1.5
T
〈1〉
( ) 1
A
= 2
〈 〉T
A
= 3
T
( ) 1
A
= (1.5 2 1
− )
1
−
1
11.3. Rozwiązywanie układów równań liniowych Rozwiązać układ równań A*x=B
1.5
2
1
−
1
A =
3
2
− .67 8
B =
2
A = 3
− 6.687
1
1
3.5
3
− 1
0
− .181
1
x := A
⋅B
Sprawdzenie:
x =
0.954
A⋅x =
2
0.636
3
12. Opracowanie wyników doświadczeń, histogram, regresja liniowa Dane dotyczące starych samochodów znajdują się w pliku samochody.txt. Pierwsza kolumna danych to wiek samochodów, dtuga przebieg, trzecia to cena w $.
Wyznaczyć histogram dla kategorii wiek oraz linię regresji dla kategorii wiek i przebieg.
Podaj przewidywany przebieg dla samochodu 15-letniego.
12.1. Przygotowanie danych B := READPRN("samochody.txt" ) cols(B) = 3
1
2
3
rows(B) = 30
1
11.5
88000
1195
2
13.5
120000
495
Macierz B ma 30 wierszy, dlatego wyswietlona zostala w stylu 3
7.5
41000
3495
tabela Table. Po kliknieciu wewnatrz tabeli pojawiaja sie paski 4
13.5
103000
750
do przewijania.
5
11.5
101000
895
Zmiana stylu Format|Result, lub po dwukrotnym kliknieciu na 6
13.5
124000
850
tabele z danymi.
7
10.5
82000
1295
B = 8
3.5
39000
4995
9
10.5
77000
1595
10
10.5
65000
1495
11
10.5
78000
1295
12
6.5
56000
3495
13
12.5
97000
800
14
6.5
52000
2695
15
12.5
83000
895
16
10.5
70000
1495
〈 〉
〈
2
1〉
B
〈3〉
Wiek := B
Przebieg :=
Cena := B
1000
corr(Wiek, Cena) = 0
− .969
corr(Cena , Przebieg) = 0
− .895
corr(Wiek, Przebieg) = 0.906
12.2. HISTOGRAM
1
1
2
1
1
1
1.5
0
k := 1 . max(Wiek) + 1
p := k
k
2
2
2
2.5
0
3
3
3
3.5
1
4
4
4
4.5
3
A := histogram(p , Wiek)
5
5
5
5.5
0
6
6
6
6.5
4
A =
p = 7
7
7
7.5
1
8
8
8
8.5
1
9
9
9
9.5
3
WRITEPRN("hist.txt" ) := A 10
10
10
10.5
6
11
11
11
11.5
4
12
12
12
12.5
3
13
13
13
13.5
4
14
14
histogram(n, data)
Pierwszy parametr (n), to ciąg definiująccy przedziały klasowe: p pocz
,p )
1
ątek pierwszego przedziału
<p1 2
p pocz
2
ątek drugiego przedziału itd.
p
ostatni element ci
ost
ągu definiuje prawy kraniec ostatniego przedziału Drugi parametr (data) to wartości cechy, dla której wyznaczony będzie histogram.
Funkcja zwraca macierz dwukolumnową:
-pierwsza kolumna zawiera środki przedziałów kladowych,
-druga kolumna liczebności w poszczególnych przedziałach HISTOGRAM
7
6
wód 5
o
cho 4
3
a sam
2
iczbL 1
02
3
4
5
6
7
8
9
10
11
12
13
14
Wiek
12.2. REGRESJA LINIOWA
b
:= line(Wiek, Przebieg)
a = 7.348
b = 3.793
a
x := 0 , 0.1 . 16
T(x) := a⋅x + b
line(vx, vy)
Parametry vx oraz vy to wektory zawierajace wartosci dwóch cech.
Funkcja zwraca wektor dwuelementowy, zawierający współczynniki funkcji regresji liniowej y=ax+b.
Pierwszy element wektora to wartość b, drugi to wartość a.
150
135
120
)
105
m k0 90
00
75
(1
ieg
60
rzeb
45
P
30
15
0
2
4
6
8
10
12
14
16
Wiek
Sa
S mo
m chody
Tr
T end liniowy
w
Inny sposób wyznaczenia współczynników regresji liniowej a := slope(Wiek, Przebieg)
b := intercept(Wiek, Przebieg) a = 7.348
b = 3.793