MATHCAD-W2 strona 1

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 

MATHCAD-W2 strona 3

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

MATHCAD-W2 strona 4

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

MATHCAD-W2 strona 5

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

MATHCAD-W2 strona 6