Обзор

В Scilab основным типом данных является матрица. Всякая матрица характе­ризуется:

  • числом строк,
  • числом столбцов,
  • типом содержащихся значений.

Элементами матрицы могут являться вещественные, комплексные или целые числа, логические значения, строки и полиномы. Если две матрицы имеют оди­наковое число строк и столбцов, говорят, что матрицы имеют одинаковый раз­мер.

В Scilab векторы являются частным случаем матриц, когда число строк либо
столбцов равно 1. Собственно скалярные величины в Scilab отсутствуют - скалярное значение представляется матрицей (вектором) 1х1, Поэтому в данной главе мы рассматриваем работу с матрицами, подразумевая, что аналогичные действия применимы и к векторам (т.е. матрицам  n х1 или 1 х n) и скалярам  (матрицам 1 х 1).

Необходимо отметить, что Scilab создавался в первую очередь для работы с матрицами вещественных значений, и поэтому содержит большое число функ­ций, выполняющих распространенные матричные операции.

В числе задач проектирования Scilab также стояла оптимизация скорости выполнения таких операций. Для этого было разработано специальное внут­реннее представление матриц, позволяющее манипулировать ими на уровне ин­терпретатора. Большинство основных операций линейной алгебры, таких как сложение, вычитание, транспонирование и скалярное произведение выполняют­ся оптимизированными внутренними функциями. Эти операции обозначаются в Scilab символами "+",      "-“, “ ’ ” и "*".

При использовании высокоуровневых операторов и функций практически отпадает  необходимость в реализации циклов, которые, помимо прочего, выпол­няются существенно медленнее (от 10 до 100 раз), нежели встроенные функции. Данное свойство Scilab носит название векторизации. Для написания макси­мально эффективных скриптов в Scilab необходимо всегда пользоваться имею­щимися высокоуровневыми возможностями, так чтобы каждой командой обра­батывалась целая матрица, а не один ее элемент.

Более сложные задачи линейной алгебры, такие как решение систем линей­ных уравнений Ax = b, различные разложения (например, гауссово разложение с перестановками PA = LU), поиск собственных значений и векторов, так­же выполняются встроенными оптимизированными функциями. Пользователю эти возможности доступны посредством операторов Scilab " /" и " \", а также специальных функций (например, функции spec, вычисляющей собственные значения и вектора для заданной матрицы).

© vse-o-scilab

Сделать бесплатный сайт с uCoz