Система компьютерной математики Octave

Системы компьютерной математики

Система компьютерной алгебры (computer algebra system, CAS) — программное приложение для символьных вычислений,
т.е. для выполнения преобразований и работы с математическими выражениями в аналитической (символьной) форме.

GNU Octave

GNU Octave — это свободно распространяемый язык программирования высокого уровня, ориентированный на проведение численных расчетов, и по сути являющийся альтернативой коммерческому пакету MatLab.



Простейшие операции

Простейшие арифметические операции в Octave выполняются с помощью следующих операторов:
  • + сложение
  • — вычитание
  • * умножение
  • / деление
  • ^ возведение в степень

Рассмотрим пример


Решить систему линейных алгебраических уравнений:

Для решения СЛАУ в окне интерпретатора Octave последовательно введём следующие команды:

Элементарные математические функции

Экспоненциальные функции


Примеры применение экспоненциальных функций:


Целочисленные функции


Примеры работы с целочисленными функциями:


Комплексные числа

Ввод комплексного числа производится в формате:
действительная часть + i * мнимая часть
или
действительная часть + j * мнимая часть

Примеры записи комплексных чисел в Octave


Функции работы с комплексными числами




Примеры использования функций



Основные операторы в Octave

Условный оператор

Обычный условный оператор имеет вид:



Обычный оператор if работает по следующему алгоритму:
если условие истинно, то выполняются операторы1, если ложно — операторы2.
Рассмотрим работу условного оператора на примере.

Пример:даны вещественные числа x и y. Определить принадлежит ли точка с координатами (x;y) заштрихованной части плоскости.


Текст программы и результат её работы



Оператор альтернативного выбора

Оператор switch



Оператор switch работает следующим образом: если значение параметра равно значение1, то выполняются опреаторы1, иначе если параметр равен значение2, то выполняются операторы2. В противном случае, если значение параметра совпадает с значение3, то выполняются операторы3 и т.д. Если значение параметра не совпадает ни с одним из значений в группах case, то выполняются операторы, идущие после служебного слова otherwise.

Рассмотрим использование оператора switch на примере:

Вывести на экран название дня недели, соответствующее заданному числу D, при условии, что в месяце 31 день и первое число — понедельник.



Матрично-векторные вычисления

Создание матриц


Любую матрицу или вектор с заданными элементами в Octave можно создать путем перечисления
этих элементов в квадратных скобках ([ ]), разделяя столбцы пробелом или запятой, строки
знаком ”точка с запятой”

octave:1>A=[1 3 5; 2 4 6]

После нажатия клавиши на экране появится результат выполнения команды



Функция rand позволяет генерировать случайные числа из нтервала (0,1).
Если функция вызывается без аргументов, то будет создано случайное число.

octave:5> r=rand
r = 0.67452

Если функция имеет один аргумент rand(m), то будет создана квадратная матрица размерности mхm.

octave:6> A=rand(3)



Если передать два аргумента rand(m,n), то будет создана матрица размерности $ m \times n $

octave:7> B=rand(2,4)



В теории линейной алгебры выделяют специальные виды матриц. Создать такие матрицы в Octave позволяют следующие функции:

  • eye(m),eye(m,n)
  • Функция генерирует единичную матрицу (с одним аргументом — квадратная матрица размерности mхm, с двумя аргументами матрица размерности mхn).octave:16> I = eye(2)
  • ones(m),ones(m,n)
  • Функция генерирует матрицу с элементами 1 (количество аргументов трактуется аналогично eye).octave:18> = ones(2)
  • zeros(m), zeros(m,n)
  • Функция генерирует нулевую матрицу (количество аргументов трактуется аналогично eye).octave:29> Z = zeros(2)
  • diag(v, k)
  • Функция генерирует диагональную матрицу с элементами вектора v на диагонали k. Аргумент k выступает в качестве опции:k=0 означает главную диагональ, при k > 0 элементы вектора v ставятся на k-ую диагональ выше, а при k < 0 на k-ую диагональ ниже главнойдиагонали. По умолчанию k=0. Размер матрицы определяется в соответствии с аргументами v и k.octave:36> D = diag([1 2 3])

Возможности СКМ Octave


GNU Octave — высокоуровневый язык программирования, предназначенный прежде всего для численных расчётов. Он предоставляет удобный интерфейс командной строки для численного решения линейных и нелинейных задач, а также для выполнения других численных экспериментов. Кроме того, GNU Octave — свободно распространяемое программное обеспечение.

  • avatar
  • 0

0 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.