Вектори и матрици

Пример 1. Матриците в Mathematica се представят като двумерни списъци по редове.  Следва стандартен начин и използване на палети. След това матрицата m  е умножена по 3.  Намерена е сумата на матриците m и m1.

m={{a,b},{c,d}}
3m

{{a, b}, {c, d}}

{{3 a, 3 b}, {3 c, 3 d}}

m1 = (1    -3)        4    10 m + m1

{{1, -3}, {4, 10}}

{{1 + a, -3 + b}, {4 + c, 10 + d}}

Пример 2. Показването на списъка в матричен вид става с функциите TableForm  или MatrixForm:

u={{1,2},{0,1}};  
TableForm[%]
MatrixForm[u]
v={{3,1},{2,2}};  
TableForm[%]

1 2
0 1

( 1   2 )            0   1

3 1
2 2

Пример 3. Умножението на матрици се записва със знака . (точка). Последният оператор извлича елементът от първия ред, втория стълб, като се ползват двойни квадратни скоби [[ ]].

pr=u.v
MatrixForm[%]
element=%[[1,2]]

{{7, 5}, {2, 2}}

( 7   5 )            2   2

5

Пример 4. Следва умножение на матрица по вектор.

m
r= m.{x,y}  
{x,y} .m
MatrixForm[r]

{{a, b}, {c, d}}

{a x + b y, c x + d y}

{a x + c y, b x + d y}

( a x + b y )            c x + d y

Пример 5. Имаме и много помощни функции, с които се пресмятат и генерират различни характеристики, частни видове вектори и матрици и др. Например: намиране броя на елементите с функция Length, създаване на списъци с поредни числа с функция  Range.

s1=Table[Exp[x],{x,0,1,0.25}]
Length[s1]    (* Функция за брой елементи на списъка - тук на вектора *)
r6=Range[6]
Range[3,7]     (* списък, съдържащ поредните цели числа от 3 до 7  *)
Range[3,7,0.5] (* списък, съдържащ поредните цели числа от 3 до 7, със стъпка 0.5  *)

RowBox[{{, RowBox[{1, ,, 1.28403, ,, 1.64872, ,, 2.117, ,, 2.71828}], }}]

5

{1, 2, 3, 4, 5, 6}

{3, 4, 5, 6, 7}

RowBox[{{, RowBox[{3, ,, 3.5, ,, 4., ,, 4.5, ,, 5., ,, 5.5, ,, 6., ,, 6.5, ,, 7.}], }}]

Пример 6. Стандарно задаване на масиви с функцията Array.  Предварително анулираме досегашните стойности на някои променливи.

Clear[a,b,x,y]
Array[a,4]

{a[1], a[2], a[3], a[4]}

Пример 7. Още примери с формализирани масиви - вектори, матрици, ...

Array[b,{4,1}]
MatrixForm[%]
Array[d,{3,3}]
d2=%
MatrixForm[d2]

{{b[1, 1]}, {b[2, 1]}, {b[3, 1]}, {b[4, 1]}}

( b[1, 1] )            b[2, 1]            b[3, 1]            b[4, 1]

{{d[1, 1], d[1, 2], d[1, 3]}, {d[2, 1], d[2, 2], d[2, 3]}, {d[3, 1], d[3, 2], d[3, 3]}}

{{d[1, 1], d[1, 2], d[1, 3]}, {d[2, 1], d[2, 2], d[2, 3]}, {d[3, 1], d[3, 2], d[3, 3]}}

( d[1, 1]   d[1, 2]   d[1, 3] )            d[2, 1]   d[2, 2]   d[2, 3]            d[3, 1]   d[3, 2]   d[3, 3]

Пример 8. Лесно задаване на единична матрица от произволен ред.

id=IdentityMatrix[4]
MatrixForm[id]

{{1, 0, 0, 0}, {0, 1, 0, 0}, {0, 0, 1, 0}, {0, 0, 0, 1}}

( 1   0   0   0 )            0   1   0   0            0   0   1   0            0   0   0   1

Пример 9. Създаване на диагонална матрица и извеждане размерността на матрици.

DiagonalMatrix[Range[4]]
MatrixForm[%]
Dimensions[%]
Dimensions[m]

{{1, 0, 0, 0}, {0, 2, 0, 0}, {0, 0, 3, 0}, {0, 0, 0, 4}}

( 1   0   0   0 )            0   2   0   0            0   0   3   0            0   0   0   4

{4, 4}

{2, 2}

Пример 10. Лесно създаване на диагонална матрица.

DiagonalMatrix[{-1,2,-3}]
MatrixForm[%]

{{-1, 0, 0}, {0, 2, 0}, {0, 0, -3}}

( -1   0    0  )            0    2    0            0    0    -3

Пример 11. Сортиране на елементите и други преобразования.

k1={2,5,6,-2,4,4,1}
k2=Sort[k1]
x=. (*  Изчистваме текущите стойности и дефиниции на x и a *)
a=.
a=Table[x^(i+j),{i,0,2},{j,0,2}] (* Създаваме нова матрица  а  с функцията Table *)
MatrixForm[a]

{2, 5, 6, -2, 4, 4, 1}

{-2, 1, 2, 4, 4, 5, 6}

{{1, x, x^2}, {x, x^2, x^3}, {x^2, x^3, x^4}}

(            2 )           1    x    x                  2    3           x    x    x             2    3    4           x    x    x

Пример 12. Пресмятане на детерминанти.

f={{5,3},{4,2}}; MatrixForm[f]
Det[f]

( 5   3 )            4   2

-2

Пример 13. Почленно диференциране на матрици става по най-формален начин.

a ∂_x a

{{1, x, x^2}, {x, x^2, x^3}, {x^2, x^3, x^4}}

{{0, 1, 2 x}, {1, 2 x, 3 x^2}, {2 x, 3 x^2, 4 x^3}}

a
D[a,x]

{{1, x, x^2}, {x, x^2, x^3}, {x^2, x^3, x^4}}

{{0, 1, 2 x}, {1, 2 x, 3 x^2}, {2 x, 3 x^2, 4 x^3}}


Created by Mathematica  (December 29, 2007)