Таблицу решения с заголовком без столбца аналитического решения можно получить, задав фактические параметры для F(h,k,m). Исполнение этого оператора в режиме Approximate (кнопка “»”) даст следующий результат:
F(0.01, 10, 5)
t x1 x2
¦ 0 1 0 ¦
¦ 0.1 0.8090170388 -0.5877851838 ¦
¦ 0.2 0.3090171467 -0.9510564578 ¦
¦ 0.3 -0.3090167610 -0.9510565898 ¦
¦ 0.4 -0.8090167975 -0.5877855123 ¦
¦ -7 ¦
0.5 -1 - 4.075856339·10
По численным значениям двух крайних столбцов в операторе #9 видно, что абсолютная погрешность интегрирования с 50 точками на заданном интервале проявляется в седьмом десятичном знаке. Это особенно хорошо заметно на последней строке, где синус равен нулю.
В утилите VECTOR.MTH размещено большое количество запрограммированных подобным образом операторов-процедур для преобразования векторных и матричных операндов. После загрузки утилиты в память задачи эти процедуры вызываются на исполнение по имени. В их список параметров нужно подставлять необходимые фактические параметры. Имена самих процедур со списком параметров могут тоже являться фактическим параметром.
Среди существующего множества процедур можно выделить такие:
OUTER(r, s) – возвращает результат в виде прямоугольной матрицы, соответствующей внешнему произведению двух матриц r и s .
Например, если определены векторы:
r := [a1, a2, a3]
s := [b, c]
то исполнение OUTER(r, s) даст следующий результат:
a1·b a1·c
¦ a2·b a2·c ¦
a3·b a3·c
APPEND_COLUMNS(A, B) - сцепление матриц А и В столбцами , например, пристыковка результата внешнего произведения и столбца, сформированного из вектора r , даст следующую матрицу:
a1·b a1·c
APPEND_COLUMNS¦¦ a2·b a2·c ¦, [r]`¦
a3·b a3·c
a1·b a1·c a1
¦ a2·b a2·c a2 ¦
a3·b a3·c a3
MINOR(A, i, j) – возвращает копию матрицы А, у которой удалены i–я строка и j–й столбец, то есть минор матрицы А:
a1·b a1·c a1
MINOR¦¦ a2·b a2·c a2 ¦, 2, 1¦
a3·b a3·c a3
a1·c a1
a3·c a3
SWAP_ELEMENTS(v, i, j) – меняет i-тый и j-тый элементы вектора v местами:
SWAP_ELEMENTS(r, 1, 2)
[a2, a1, a3]
DIMENSION(B)
MATPROD(A,B,i,j) := ¤ A ·B– этот
n_=1 i,n_ n_,j
оператор вычисляет скалярное произведение i-того вектора-строки матрицы A на j-тый вектор-столбец матрицы B , например:
s := [b, c]
a1·c a1
MATPROD¦¦ ¦, [s]`, 2, 1¦
a3·c a3
a3·(b·c + c)
SUBTRACT_ELEMENTS(A, i, j, k) – процедура, которая вместо i-того элемента помещает в вектор A значение разности i-того элемента и j-того элемента, умноженного на масштабный коэффициент k:. Определение этой процедуры выглядит следующим образом:
VECTOR(IF(m_ = i, A - k·A , A ), m_, DIMENSION(A))
i j m_
Новым в этом определении является использование встроенного условного оператора IF(). Его полное определения и частные случаи даны ниже. В приведенном выше операторе, если отношение (условие), помещенное на первом месте в списке параметров выполнено, то выполняется второй в списке оператор, иначе – третий.
Вторым важным здесь моментом является применение оператора VECTOR() с укороченным форматом списка параметров. Если начальное значение переменной цикла и/или шаг ее изменения равны единице, то последние из списка можно исключить.
Для матрицы A , как вектора с векторными кмпонентами, применение рассматриваемой процедуры дает следующий результат:
a11 a12 a13
A := ¦ a21 a22 a23 ¦
a31 a32 a33
SUBTRACT_ELEMENTS(A, 1, 2, k)
a11 - a21·k a12 - a22·k a13 - a23·k
¦ a21 a22 a23 ¦
a31 a32 a33
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.