Списъци и преобразования на списъци, извличане на елементи

Пример 1.  Векторите и други подобни математически обекти се представят в Mathematica чрез списък от подредени елементи, обединени в къдрави скоби. Списъкът може да се запомни в обикновена клетка. Извличането на конкретен елемент става с операцията [[ ]] - двойни средни скоби. Ето два петмерни вектора.

{1,2,3,4,5}
a={-2.2,3.2,0,2,0}
a[[1]]
a[[3]]

{1, 2, 3, 4, 5}

RowBox[{{, RowBox[{RowBox[{-, 2.2}], ,, 3.2, ,, 0, ,, 2, ,, 0}], }}]

RowBox[{-, 2.2}]

0

Пример 2.  Повдигането в квадрат, степенуване или друго действие се извършва поелементно.

b={0,1,2,3,4,5}

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

c1 = x^b c2 = % + y^b

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

{2, x + y, x^2 + y^2, x^3 + y^3, x^4 + y^4, x^5 + y^5}

Пример 3.  Конкретни замествания със стойност на променливите и извличане на 2-ри и 3-ти елемент от получените резултати.

c1 /.x->2
c2 /. {x->1, y->2z}
%[[2]]    (* Извличане на втория елемент от предишния резултат *)
%%[[3]]   (* Трети елемент от предпредходния резултат  *)

{1, 2, 4, 8, 16, 32}

{2, 1 + 2 z, 1 + 4 z^2, 1 + 8 z^3, 1 + 16 z^4, 1 + 32 z^5}

1 + 2 z

1 + 4 z^2

Пример 4.  Почленно диференциране - първа и втора производна по x. Може да се използват и математически символи от палетите  ∂_x, ∂_ (x, x), ∂_ (x, x, x), ∂_ (x, y) и др.

D[c1, x] ∂_x c1 D[c1, x, x] ∂_ (x, x) c1

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

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

{0, 0, 2, 6 x, 12 x^2, 20 x^3}

{0, 0, 2, 6 x, 12 x^2, 20 x^3}

Пример 5.  Таблицата е също списък, но елементите му се пресмятат по формули.

Table[k^3, {k, 1, 10}] % //TableForm

{1, 8, 27, 64, 125, 216, 343, 512, 729, 1000}

1
8
27
64
125
216
343
512
729
1000

Пример 6.  Например таблица на функцията x^(1/2) при  x  променящо се в интервала [0, 1]  със стъпка 0.2  се получава така:

RowBox[{t1, =, RowBox[{Table, [, RowBox[{x^(1/2), ,,  , RowBox[{{, RowBox[{x, ,, 0, ,, 1, ,,  , 0.2}], }}]}], ]}]}]

RowBox[{{, RowBox[{0, ,, 0.447214, ,, 0.632456, ,, 0.774597, ,, 0.894427, ,, 1.}], }}]

Пример 7.  Ето генериране на 5 случайни числа в интервалаа [0,1]. След това се генерират 6 случайни числа в интервала [1,49], които се сортират по възходящ ред с функцията Sort.

Table[Random[],{5}]
Table[Random[Integer,{1,49}],{6}]  
s1=Sort[%]

RowBox[{{, RowBox[{0.189435, ,, 0.422435, ,, 0.466332, ,, 0.558192, ,, 0.729739}], }}]

{9, 38, 5, 13, 23, 43}

{5, 9, 13, 23, 38, 43}

Пример 8. Показване на списъка вертикално.

TableForm[s1]

5
9
13
23
38
43

Пример 9.  Същото с функцията ColumnForm.

ColumnForm[s1]

5
9
13
23
38
43

Пример 10.  Съставяне на двумерен списък, който е списък от списъци и показването му по различни начини.

a=.
a=Table[i+j,{i,1,3},{j,1,3}]
TableForm[a]
ColumnForm[a]

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

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

Пример 11.  Матрица 2 на 4.

b=Table[i+j,{i,1,2},{j,1,4}]
TableForm[b]
MatrixForm[b]

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

2 3 4 5
3 4 5 6

( 2   3   4   5 )            3   4   5   6

Пример 12.  Извличане на елементи от матрица.

b[[1]]
b[[2,3]]
Part[b,1]

{2, 3, 4, 5}

5

{2, 3, 4, 5}

Пример 13.  Произведение на вектори и матрици.

Clear[a,b,c,p,q,r,u,v]
u={a,b,c}
v={p,q,r}
u.v

{a, b, c}

{p, q, r}

a p + b q + c r


Created by Mathematica  (December 29, 2007)