Добавить материал и получить бесплатное свидетельство о публикации
версия для слабовидящих
Главная / Другое / Реферат на тему АНАЛИТИК-С

Реферат на тему АНАЛИТИК-С

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ

ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«МОРДОВСКИЙ ГОСУДАРСТВЕННЫЙ

ПЕДАГОГИЧЕСКИЙ ИНСТИТУТ ИМЕНИ М.Е. ЕВСЕВЬЕВА»



Физико-математический факультет

Кафедра информатики и вычислительной техники



РЕФЕРАТ


ВОЗМОЖНОСТИ СИСТЕМЫ АНАЛИТИК – С ДЛЯ РЕШЕНИЯ МАТЕМАТИЧЕСКИХ ЗАДАЧ




Автор работы _________________________________________А.Ю. Семаева

Направление подготовки 44.03.05 Педагогическое образование

Профиль Информатика. Математика


Руководитель работы_______________________________ Кормилицына Т. В.



Оценка__________________












Саранск 2020


1 Историческая справка

В 1967 году на выставке в Лондоне Советский Союз продемонстрировал серийно выпускаемую ЭВМ, получившую название машины для инженерных расчётов (сокращённо «МИР-1»), в которой было реализовано ступенчатое микропрограммирование. Там же эта ЭВМ была куплена американским «голубым гигантом» - фирмой IBM. Как выяснилось позже, американцы купили машину лишь для того, чтобы доказать своим конкурентам, запатентовавшим в 1963 году принцип ступенчатого микропрограммирования, что русские давно об этом принципе знали и реализовали в серийно выпускаемой ЭВМ.

Разработчики ЭВМ «МИР-1» (Институт кибернетики АН СССР) получили Государственную премию. Среди них: академик АН СССР В.М. Глушков (научный руководитель проекта), Ю.В. Благовещенский, А.А. Летичевский, В.Д. Лосев, И.Н. Молчанов, С.Б. Погребинский, А.А. Стогний.

В 1969 году в производство была запущена более совершенная ЭВМ «МИР-2». За ней поледовала и «МИР-3».

Проектируя МИРы, разработчики ставили дерзкую задачу – сделать машинный язык возможно более близким ко входному (математическому) языку. Такой язык АНАЛИТИК был создан и поддержан оригинальной аппаратно-микропрограммной системой, практически реализующей аппаратурную трансляцию программ. По скорости выполнения аналитических преобразований им не было равных в мире. «МИР-2», например, успешно соревновалась с универсальными ЭВМ обычной архитектуры, превосходящими ее по быстродействию и ёмкости памяти в сотни раз!

Реализованная в ЭВМ этой серии первая отечественная система аналитических вычислений (САВ) получила признание мирового научного сообщества и составила серьезную конкуренцию предшествующей ей программной реализации символьных вычислений в системе компьютерной алгебры (СКА) REDUCE, созданной в начале 60-х годов А.К. Херном.

Впоследствии идея АНАЛИТИКА была возрождена в Maple (как признают авторы разработки), отдельные компоненты которого в качестве составной части входят в такие известные пакеты, как Matlab и MathCAD.

Рост уровня входных языков – общая тенденция в программировании. Основная цель – сократить время на разработку программ и передать формальные, рутинные операции по их переводу на машинный язык и распределению памяти самой ЭВМ.

В условиях современной России, не имеющей отечественной системы аналитических вычислений, факт многообразия существующих зарубежных систем компьютерной алгебры является слабым утешением. В первую очередь потому, что программная реализация (с их использованием) алгоритмов, например, аналитической теории автоматического управления зачастую затруднительна, а в ряде случаев и невозможна.

Отдавая отчет в том, что дальнейшее отставание в этой области не способствует паритету и безопасности России (в оборонном и технологическом плане), в Саратовском государственном техническом университете (СГТУ) была предпринята попытка возрождения отечественной школы САВ. Проект получил условное название «АНАЛИТИК-С».

Работа над проектом велась выпускниками специальности «Управление и информатика в технических системах» Саратовского государственного технического университета на протяжении многих лет (начиная с 1991 года) и, пройдя этап программной реализации на Паскале, вышла на программную реализацию в среде ИНТЕРНЕТ на языке PHP (сначала 2-ой версии, а сейчас 4-ой). Развитие и сопровождение САВ «АНАЛИТИК-С» осуществлялось, в основном, силами студентов в день научно-производственной работы (8 и 9 семестры) и в период дипломного проектирования.

В связи с переходом научного руководителя проекта в Саратовский государственный аграрный университет (СГАУ) имени Н.И. Вавилова, работа над проектом продолжается силами аспирантов СГТУ и аспирантов и студентов СГАУ имени Н.И. Вавилова.


2 Краткая характеристика среды

WEB-сервис среды аналитических вычислений «АНАЛИТИК-С» (WEB 2.0) представляет собой среду программирования вычислений как с числами (команда «выполнить»), так и с символами (команда «пусть»), базирующуюся на идеях языка АНАЛИТИК украинской школы символьных вычислений. Предметная область среды очерчена кругом научных интересов руководителя проекта, отражённых в его монографиях и учебниках . Среда размещена на научно-образовательном портале по адресу http://www.tki-analitik.ru.

Среда программирования численных и аналитических вычислений «АНАЛИТИК-С» позволяет программировать численные и аналитические вычисления с данными, заданными в числовой или символьной форме, с использованием операций сложения, вычитания, умножения, деления, возведения в степень, извлечения корня заданной степени, дифференцирования и интегрирования. Ядро среды аналитических вычислений «АНАЛИТИК-С» содержит программно реализованные гиперболические функции, комбинаторные функции, константы и системные переменные, многозначные функции, обратные тригонометрические функции, операции над матрицами, операции над многочленами, операции над числами, тригонометрические функции, а также операторы цикла и условные операторы. Указанная среда снабжена следующими пакетами прикладных программ: «Абстрактная математическая модель информационно-управляющих систем», «Линейная алгебра», «Анализ», «Синтез», «Распознавание образов алгебраических формул» и т.д.

Среда реализована на языке сценариев PHP 4.0 под управлением Apache. Свободный доступ к среде осуществляется с помощью любого из известных браузеров (в рамках лицензии Apache 2.0). Функционально среда имеет командное и графическое окна, а также окно вывода результатов. Запрограммированный пользователем вычислительный фрагмент (скрипт) может быть сохранён на компьютере пользователя с возможностью последующего запуска в очередном сеансе среды аналитических вычислений «АНАЛИТИК-С», для чего сохранённый скрипт должен быть скопирован в командное окно. Среда является открытой.


3 Алфавит языка АНАЛИТИК-С

Алфавит языка включает:

1.Прописные и строчные буквы кириллицы и латинского алфавита.

2.Арабские цифры от 0 до 9;

3.Специальные знаки:

+ - / * = . ; [ ] ( ) { } ^

Среди них знаки операций:

- операция присваивания «=»,

- сложение «+»;

- вычитание «-»;

- умножение «*»;

- деление «/»;

- возведение в степень «^»;

- извлечение корня степени r «»;

- взятие производной порядка r «^(r)»;

- взятие r-кратного интеграла «^{r}»;

- взятие наибольшего целого слева на числовой оси от иррационального числа «[…]».

и разделители (скобки: круглые, квадратные, фигурные; точка; запятая; точка с запятой; пробелы).

Из символов алфавита формируются лексемы (базовые конструкции) языка:

1.Идентификаторы.

2.Зарезервированные слова, которые не могут использоваться в качестве идентификаторов

3.Команды.

4.Операторы, из которых составляются специализированные библиотеки прикладных программ (TOOLBOX’ы).


4 Идентификаторы

Идентификаторы – это имена переменных, программ, констант. Идентификаторы могут иметь произвольную длину. Идентификатор всегда начинается с буквы, за которой могут следовать другие буквы, в том числе повторяющиеся, (с учётом регистра) и цифры.

Пробелы и зарезервированные слова не могут использоваться в качестве идентификаторов.

Длина идентификатора не ограничена.

Зарезервированные слова, которые не могут использоваться в качестве идентификаторов приведены в таблицах 1 – 7.

Таблица 1

ch(x)

Гиперболический косинус

cth(x)

Гиперболический котангенс

sh(x)

Гиперболический синус

th(x)

Гиперболический тангенс


Комбинаторика:

plac(n,m) – число размещений из n по m, n>m;

comb(n,m) – число сочетаний из n по m, n>m;

fact(n) – факториал – число перестановок из n элементов (n –любое положительное число).

Константы и системные переменные:

Avost – значение машинной бесконечности (прерывание);

J – мнимая единица;

Realmin – наименьшее число с плавающей точкой (2-1022);

Realmax – наибольшее число с плавающей точкой (21023);

Ans – переменная, хранящая результат последней операции и обычно вызывающая его отображение на экране дисплея;

Eps – погрешность операций над числами с плавающей точкой (2-52);

E – системная константа е = 2, 7182;

NaN – указание на нечисловой характер данных;

Pi – число = 3.1415926.

Многозначные функции:

sgn(n) – сигнум-функция (возвращает –1, если аргумент < 0; 1, если аргумент > 0; 0, если аргумент = 0) или символьное выражение.

Обратные тригонометрические функции:

acs(x) – арккосинус;

asn(x) – арксинус;

actn(x) – арккотангенс;

atn(x) – арктангенс.

Операции над матрицами:

invert(А) – вычисление обратной матрицы, где А – исходная матрица;

sled(A) – вычисление следа матрицы;

eig – вычисление собственных чисел матрицы;

rank(A) – вычисление ранга матрицы (индекса управляемости матрицы Крылова);

determ(А) – детерминант матрицы А;

poly – нахождение коэффициентов характеристического многочлена квадратной матрицы общего вида;

kryl(А) – преобразование к матрице Крылова-Люенбергера, где А – исходная матрица;

frob(А) - преобразование к матрице Фробениуса, где А – исходная матрица;

hess(А) – преобразование к матрице Хессенберга, где А – исходная матрица;

silvestr – формирование и вычисление определителей Сильвестра;

vronsk – формирование и вычисление определителя Вроньского;

ones(n,m) – формирование единичной матрицы (вектора) размерами n´m;

zeros(n,m) – формирование нулевой матрицы (вектора) размерами n´m;

diag(n,m,k…) – формирование диагональной матрицы с элементами n,m,k…на главной диагонали;

cdiag – формирование скалярной матрицы;

shurkohn – формирование матрица Шура-Кона;

jakobi – формирование матрицы Якоби;

ctrb –формирование матрицы управляемости (матрицы Крылова);

obsv – формирование матрицы наблюдаемости (транспонированной матрицы Крылова);

form(P) – формирование матрицы P=(A+En)(A-En)-1, где А – исходная матрица;

formshur(P) – формирование матрицы P=(AT-En)W(A-En), где А – исходная матрица, W – матрица Шура-Кона;

gurviz – формирование матрицы Гурвица;

oprgur – формирование и вычисление определителей Гурвица;

simm – формирование симметрической матрицы 0,5(A+AT);

cossimm – формирование кососимметрической матрицы 0,5(A-AT);

andreevgram – формирование матрицы Андреева-Грама;

vander – формирование матрицы Ван-дер-Монда;

givens – формирование матрицы вращения Гивенса;

podobie – формирование матрицы подобия;

kinemat – формирование матрицы кинематического подобия;

sqmatr – формирование квадратного корня из матрицы;

hauss – формирование матрицы отражения Хаусхолдера;

funk – формирование функциональной матрицы;

trans(А) – формирование транспонированной матрицы;

vander(А) – формирование матрицы Вандермонда, где А – заданная матрица-строка;

hankel(А) – формирование ганкелевой матрицы, где А – заданная матрица-строка;

toeplitz(А) – формирование теплицевой матрицы, где А – заданная матрица-строка;

norm(A) – функция вычисляет нормы матрицы (вектора). Если задать norm(A), то результатом будет наибольшая сингулярная величина матрицы; если задать norm(A,'1'), то будет вычислена первая норма; если norm(A,'2'), то – вторая; если norm(A,'inf'), то – норма по бесконечности; если norm(A,'-inf'), то – норма по минус бесконечности; если norm(A,'g'), то – гильбертова норма; если norm(A,'e'), то – евклидова норма.

Операции над многочленами:

Conform – формирование многочлена, полученного из исходного в результате конформного преобразования z = (s+1)/(s –1);

Ermit – формирование полиномов Эрмита-Билера из исходного полинома;

Silvestr – формирование непрерывной дроби из положительной пары полиномов (алгоритм Стильтьеса анализа устойчивости).

Операции над функциями:

Diff – дифференцирование функций;

Integr – интегрирование функций;

Macloren – разложение в ряд Маклорена;

Teilor – разложение в ряд Тейлора.

Операции над числами:

sqr(n) – арифметический корень, где n – любое положительное число;

log(n) – логарифм десятичный, где n – любое положительное число;

lgn(n) – логарифм натуральный, где n – любое положительное число;

rand(n,m) – матрица случайных чисел размерами n´m;

abs(n) – модуль, где n – любое число;

ent(n) – операция взятия целой части действительного числа;

Показательные и логарифмические функции:

log(),ln() – логарифмическая функция;

^ – показательная функция;

exp(n) –экспоненциальная функция, где n – любое число.

Тригонометрические функции:

cos(x) – косинус;

ctan(x) – котангенс;

sin(x) – синус;

tan(x) – тангенс.


5 Синтаксис командного окна

Команды можно давать как на русском, так и на английском языках (англ. вариант приведен в круглых скобках):

1)пусть (let) – команда вычислений с символьными данными.

Варианты задания команды: пусть {A=B} или let {A=B}, разделённые пробелом, где А – символьная переменная, В – выражение в символьном виде, вычисленное в командном окне до подачи этой команды (расположенное в командном окне выше данной команды), «=» - операция присваивания;

2)вычислить (calculate) – команда вычислений с численными данными;

3)точность (precision) – команда количества значащих цифр, выводимых на экран после десятичной точки. Варьируется от 3-х (по умолчанию) до 12;

4)вывести (print) – команда вывода сообщения или результата вычислений на экран.

Варианты задания команды: вывести {А} или print{A};

5)«/» (rem) – обозначение комментария,

Обозначения разделителей,

используемых в командном окне

«.» – фиксированная точка в представлении числа.

«,» – запятая, используется для разделения параметров функции.

«;» – точка с запятой, применяется внутри квадратных скобок для отделения строк матрицы. Также применяется в операторах: plot(график), integr, modalcontrol, krylov и т.д. – для разделения переменных и выражений.

« » – пробел, используется для разделения элементов строки матрицы.

«:» – двоеточие – формирователь упорядоченных числовых последовательностей, которому ставится в соответствие оператор

«Начальное значение: шаг: конечное значение»

(если шаг не задан, то по умолчанию он принимается равным единице).

В командном окне допустимо использование операторов цикла. Синтаксис неявного оператора цикла имеет вид:

цикл (cycle)

тело цикла (a body of cycle) – пусть {}

повторить (repeat) {}

(в фигурных скобках задается число повторений).

Например:

пусть {А=1}

цикл

пусть {А=А+1}

повторить {2}

вывести {A}

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

В командном окне допустимо использование операторов условного перехода если (if)…иначе (else)…конец (end).

Синтаксис и выполняемые действия этих операторов аналогичны соответствующим операторам других распространённых языков программирования. Синтаксис операторов выглядит следующим образом:

если (if) {условие}

выполняемое действие

конец_если (end_if)

иначе (else)

выполняемое действие

конец_иначе (end_else)

Известны полная и неполная структуры этого оператора:

  1. if (логическое условие) then (оператор(Ы) присваивания) else 

(оператор(Ы) присваивания);

2) if (логическое условие) then (оператор(Ы) присваивания).

Например:

если {a>b}

вывести {a}

конец_если

иначе

вывести {b}

конец_иначе


6 Синтаксис графического окна

Каждая графическая команда открывает графическое окно со своим интерфейсом.

Команда «график (plot)» – построение графика функции одной переменной.

Варианты задания команды: график {X;Y;A;V;W} или plot {X;Y;A;V;W}, где X – обозначение оси абсцисс; Y – обозначение оси ординат; A – обозначение независимой переменной; [V, W] – диапазон изменения независимой переменной.


7 Специализированные пакеты прикладных программ

Абстрактная математическая модель иус (символьные операции для переходов от описания в форме «вход-выход» к описанию в форме Коши и обратно).

Таблица 2

п/п

Идентификатор

Реализуемые функции

1

кrylov

Переход от формы «вход-выход» с производными от управлений к неканонической форме Крылова-Люенбергера.

2

io2frob


Переход от формы «вход-выход» с производными от управлений к неканонической форме Фробениуса.

3

nkryl2kryl


Переход от неканонической формы Крылова-Люенбергера к канонической форме Крылова-Люенбергера.

4

nfrob2kryl


Переход от неканонической формы Фробениуса к канонической форме Крылова-Люенбергера.

5

kryl2frob


Переход от канонической формы Крылова-Люенбергера к канонической форме Фробениуса

6

frob2io


Переход от канонической формы Фробениуса к форме «вход-выход» без производных от управлений.

7

kryl2io


Переход от канонической формы Крылова-Люенбергера к форме «вход-выход» без производных от управлений.


Линейная алгебра.

Таблица 3

п/п

Идентификатор

Реализуемые функции

Программная реализация




1

poly

Нахождение коэффициентов характеристического многочлена квадратной матрицы Данилевского.


poly {C}, где С – заданная квадратная матрица чисел. Возвращает коэффициенты характеристического полинома матрицы С.

2

eig


Нахождение собственных чисел квадратной матрицы,

приведенной к форме Хессенберга.

eig {A}, где А – заданная квадратная матрица чисел. Возвращает собственные числа А.


Анализ.

Таблица 4

п/п

Идентификатор

Реализуемые функции

1

polin

Вычисление корней полинома.

2

lagrsilv

Нахождение коэффициентов интерполяционного полинома Лагранжа-Сильвестра.


3

triusolve


Интегрирование нестационарных верхнетреугольных систем в аналитическом виде.


4

lapposolve

Интегрирование нестационарных линейных систем в случае Лаппо-Данилевского.

5

kaushy


Тождество Коши.

6

control


Анализ управляемости в численном и символьном вид.

7

decompose


Алгоритм декомпозиции на полностью управляемую и полностью неуправляемую подсистемы в численном и символьном виде.

8

grub


Анализ грубости свойства асимптотической устойчивости гурвицева полинома


9

leadanalysis


Анализ приводимости по А.М. Ляпунову в символьном виде.


10

matrlyapun


Формирование матричного тождества А.М. Ляпунова.

11

stable


Анализ устойчивости при постоянно действующих возмущениях в численном виде.


12

structgrub


Анализ структурной грубости.


13

c2d


Переход от непрерывной модели к дискретной.


14

curvbuild


Построение кривой накопления отклонений для стационарных линейных систем.



Синтез.

Таблица 5

п/п

Идентификатор

Реализуемые функции

1

мodalcontrol


Задача модального управления


2

leadsynt


Синтез приводимых систем


3

btransform


Метод билинейных преобразований конструирования решений матричного уравнения А.М. Ляпунова в задаче А.А. Красовского


4

finitecontrol1


Решение задачи финитного управления в непрерывном случае (перевод в начало координат)


5

finitecontrol2


Решение задачи финитного управления в непрерывном случае (перевод в заданное конечное состояние)


6

dfinitecontrol1


Решение задачи финитного управления в дискретном случае: алгоритм программного управления


7

dfinitecontrol2


Решение задачи финитного управления в дискретном случае: алгоритм управления по принципу обратной связи


8

riccati


Алгоритм Бьюси-Джозефа решения уравнения Риккати



Распознавание образов математических формул.

п/п

Идентификатор

Реализуемые функции

Программная реализация


1

viet


Распознавание образов алгебраических формул в символьно заданном выражении


viet {А}, где А – символьное выражение, которое необходимо упростить (если это возможно).



Техническая реализация законов управления. На аппаратных платформах микросистемной техники.

Таблица 7

п/п

Идентификатор

Реализуемые функции

Программная реализация

1

anadigm


Техническая реализация символьно заданного закона управления на аппаратной платформе программируемых аналоговых интегральных схем (ПАИС) производства компании Anadigm


anadigm (M), где M- маска с выдавленными из неё алгебраическими формулами, полученная в результате работы программы viet




В наше время язык существует как система компьютерной алгебры (версии 1993, 2000, 2007 и 2010 годов) и разрабатывается Институтом проблем математических машин и систем НАН Украины и Полтавским национальным техническим университетом им. Ю.Кондратюка.



























Список использованных источников:

  1. Грипченко, Г. А. Энциклопедия кибернетики / Г. А. Грипченко. СПб.: БХВ-Петербург, 1974. – 608 c.

  2. Зверев, Г. Н. Теоретическая информатика и её основания : монография / Г. Н. Зверев. – Москва : Физматлит, 2008. – Т. 2. – 571 с.

  3. Осипов, Л. А. Язык Аналитик и его сравнение с языками Алгол и Фортран / Л. А. Осипов. – М. : «Наука», 1982. – 304 с.

  4. Осипов, Л. А. Языки программирования: Алмир-Аналитик / Новое в жизни, науке, технике. Сер. «Вычислительная техника и её применение», № 10/89.

  5. Соколов, А. В. Методы оптимальных решений : учебное пособие : в 2 т / А. В. Соколов, В. В. Токарев. – 3-е изд., испр. и доп. – Москва : Физматлит, 2012. – Т. 1. Общие положения. Математическое программирование. – 562 с.

  6. Ученые записки Орловского государственного университета : журнал / гл. науч. ред. Ф. С. Авдеев ; учред. ФГБОУ ВПО «Орловский государственный университет» ; Министерство образования и науки Российской Федерации. – Орел : Орловский государственный университет, 2016. – № 1(70). – 266 с.


  • Другое
Скачать материал
Дата добавления 24.03.2020
Раздел Другое
Подраздел Другое
Просмотров 53
Номер материала MA-091684

Оставьте свой комментарий:

Введите символы, которые изображены на картинке:

Получить новый код
* Обязательные для заполнения.


Комментарии:

Популярные курсы

Нет результатов.