- •Лабораторная работа №1
- •1. Основные сведения о программе WordPad
- •2. Основные сведения о программе WordPad
- •3. Технология ole
- •Порядок выполнения работы:
- •Вопросы к защите:
- •Лабораторная работа №2
- •1. Основные сведения о программе Microsoft Word
- •3. Краткое описание работы с фрагментами текста
- •2. Краткое описание основных операций работы с текстом
- •4. Структура документов в Microsoft Excel
- •4.1. Добавление рабочих листов
- •5. Построение таблиц
- •5.1. Маркирование ячеек
- •5.2. Форматирование чисел
- •6. Табличные вычисления
- •6.1. Ввод формул
- •6.2. Сложные формулы
- •6.4. Групповые имена
- •7. Построение и оформление диаграмм
- •7.1. Построение диаграмм
- •8. Обработка списков
- •8.1. Создание списков
- •8.2. Ввод списка данных
- •9. Анализ данных
- •9.1. Опорные таблицы
- •9.2. Нахождение значений
- •10. Базы данных
- •10.1. Запуск программы обработки баз данных
- •10.2. Оболочка программы Query
- •Порядок выполнения работы
- •Вопросы:
- •Лабораторная работа №3
- •Введение
- •1. Обзор Photoshop
- •1.1. Меню Photoshop
- •1.2. Создание нового файла
- •2. Палитра инструментов Photoshop
- •2.1. Инструменты выделения
- •2.2. Инструменты рисования
- •2.3. Инструменты создания и редактирования контуров
- •2.4. Значки управления цветами
- •2.5. Кнопки управления структурой окна
- •2. Рекурсия
- •3. Об использовании операторов break continue return
- •Контрольные вопросы:
- •Задание:
- •Лабораторная работа №5
- •Введение
- •1. Возможности программы abbyy FineReader
- •1.1. Что такое ocr-системы?
- •Распознавание
- •2. Быстрое знакомство
- •2.1. Как ввести документ за минуту
- •2.2. Главное окно программы FineReader
- •2.3. Инструментальные панели программы FineReader
- •3. Получение и обработка изображения программой FineReader
- •3.1. Сканирование
- •3.2. Открытие файлов с изображениями
- •3.3. Проверка и корректирование полученного изображения
- •4. Анализ макета страницы
- •4.1. Общая информация по анализу макета страницы
- •4.2. Типы блоков
- •4.3. Редактирование формы и положения блоков
- •5. Распознавание
- •5.1. Общая информация по распознаванию
- •6. Проверка и редактирование текста
- •6.1. Проверка распознанного текста
- •1. Быстрое начало
- •1.1 Перевод в среде promt
- •1.2 Перевод внутри других приложений
- •2. Объекты системы promt
- •2.1 Словари
- •2.1.1 Генеральные словари
- •2.1.2 Специализированные словари
- •2.1.3 Пользовательские словари
- •2.2. Promt – документ
- •2.2.1.Открытие документа, созданного в другом приложении
- •2.2.2. Открытие существующего promt – документа
- •3. Функции системы promt
- •3.1. Последовательность работы в promt
- •3.2. Перевод
- •3.2.1. Способы перевода
- •3.2.2. Быстрый перевод текста, набранного на клавиатуре
- •4. Проверка орфографии
- •4.1. Программы проверки орфографии
- •4.1.1. Подключение программы проверки орфографии
- •4.1.2. Проверка орфографии
- •Контрольные вопросы:
- •Задания:
- •Лабораторная работа №7
- •Введение в компьютерную алгебру
- •1. Аналитические преобразования
- •1.1. Важнейшие математические константы
- •1.2. Встроенные функции
- •2. Представления матеметических объектов
- •2.1. Некоторые простые математические операции
- •2.2. Составные математические объекты
- •3. Команды ввода и вывода
- •4. Дифференцирование
- •4.1. Встроенные процедуры дифференцирования
- •4.2. Определение собственных функций
- •5. Интегрирование
- •5.1. Встроенные команды интегрирования
- •5.2. Двойные и тройные интегралы в Maple
- •6. Линейная алгебра
- •6.1. Основные операции над матрицами
- •6.2. Собственные числа и вектора
- •6.3. Приведение матриц
- •6.4. Системы линейных уравнений
- •Контрольные вопросы:
- •Задания:
- •Список литературы
- •Оглавление
5. Интегрирование
5.1. Встроенные команды интегрирования
В стандартной (загруженной по умолчанию) библиотеке находяться процедуры Int (expr, options ) и int ( expr,options ), т.е. символ и значение. Синтаксис и опции можно найти в справочнике int.
Пример 1 (определенные и неопределенные интегралы).
> f:=sin(x):
> g:=Int(f,x);
> value(g);
> int(f,x);
Таким образом, мы видим,. что обозначения максимально приближены к обычной математической записи. Для вычисления определенного интеграла надо дополнительно указать пределы интегрирования
> f:=x*exp(x):
> g:=Int(f,x=0..1);
> value(g);
> int(f,x=0..1);
Рассмотрим более сложные интегралы
> f:=sin(x^3):
> g:=int(f,x=0..Pi);
> h:=evalf(g);
или
> g:=Int(x/(x^3-x^2+1),x);
> value(g);
здесь сумма берется по %1 - корням полинома в скобках.
Иногда, при интегрировании получаются многозначные функции, при этом, по умолчанию, Maple использует только одно значение. Список многозначных функций и их принципиальные ветви можно посмотреть следующей командой
> restart: readlib(branches):
> branches(ln);
Рассмотрим интегралы с параметрами
> f:=exp(-a*x)*ln(x)*sqrt(x);
> int(f,x=0..infinity);
Как видим, этот интеграл неопределен при всех значениях параметра. Сделаем дополнительные предположения
> assume(a<0): int(f,x=0..infinity);
Сравним с
> assume(a>0): int(f,x=0..infinity);
Полученные при интегрировании эллиптические функции, зависящие от радикалов можно упростить
> answer := int( 1/sqrt( sin(x) ), x=0..Pi/2 );
> radnormal(answer);
Интегралы, которые не выражаются через алгебраические функции, можно представить как ряд
> int(exp(x^3), x );
> series(", x=0);
В общем случае синтаксис для численного интегрирования имеет вид
evalf ( Int ( f, x = a..b , digits , flag ) ),
где digits- точность вычисления, и flag- код численного метода, см. int[numerical]
> int( exp(v-v^2/2)/(1+1/2*exp(v)), v = -infinity..infinity );
> evalf(", 20);
Здесь digits равно 20. Другой пример - интегрирование гамма функции с использованием алгоритма Ньютона-Котеса:
> evalf(Int(1/GAMMA(x), x = 0..2, 10, _NCrule));
Более сложные опции позволяют вычислять главное значение интеграла и реализуют некоторые дополнительные возможности
> int(1/x^3, x=-1..2, 'CauchyPrincipalValue');
> int( 1/(x+a)^2, x=0..2, 'continuous' );
В принципе, различные эвристические методы, такие как интегрирование по частям и замены переменных, не используются явно, например.
Рассмотрим несколько интегралов, которые берутся по частям или с использованием различных замен переменных
Пример 2 (интегрирование по частям и другие методы) .
> int(x*ln(x),x);
> int(x*sin(x^2),x);
> Int(x^2/(sqrt(1-x^2))^(3/2),x):
> value(");
Тем не менее, для обучения, мы можем использовать подобные команды явно. Эти команды содержатся в пакете student
Пример 3 (интегрирование с пакетом student).
Для начала мы очистим рабочую память и загрузим данный пакет.
> restart:
> with(student);
При загрузке любого пакета Maple выдает список всех загружаемых команд.
Замены переменных:
> f:=Int(sqrt(1-x^2),x=a..b);
> g:=changevar(x=sin(u),f,u);
Здесь мы вводим новую независимую переменную интегрирования u, связанную со старой переменной уравнением x=sin(u) (пределы интегрирования изменились автоматически!) Посмотрим на результат
> value(g);
В двойных интегралах интегралах это позволяет, например, перейти к полярным координатам:
> changevar({x=r*cos(t),y=r*sin(t)}, Doubleint(1,x,y),[t,r] );
Интегрирование по частям:
напомним, что правило интегрирования по частям записывается следующим образом
> f:=Int (u,v)=u*v-Int(v,u);
Синтаксис данной команды intparts(f,u)
> a:=Int(x^2*exp(x),x);
Проинтегрируем по частям
> b:=intparts(a,x^2);
проинтегрируем по частям второй раз
> c:=intparts(b,2*x);
и получим результат
> d:=value(c);
Другие полезные команды для интегрирования из данного пакета
> integrand(Int(h(x),x));
и
> Doubleint(h(x,y),x,y);
> Tripleint(h,x=1..n,y=2..4,z=w..u);
Кроме этого, в пакете student реализовано несколько численных методов:
leftbox, leftsum , rightbox, rightsum, middlebox, middlesum, simpson, trapezoid,
Синтаксис для всех команд одинаков, рассмотрим только один пример
Пример 4 (численное интегрирование).
> restart: with(student):
> f:=x^5*ln(x);
Явное интегрирование данной функции можно посмотреть в справочнике, мы же сравним численные значения
> ex:=evalf(int(f,x=1..3));
> s:=evalf(simpson(f,x=1..3,16));
> t:=evalf(trapezoid(f,x=1..3,16));
> ls:=evalf(leftsum(f,x=1..3,16));
Покажем это на рисунке
> leftbox(f,x=1..3,16,color=red,shading=BLUE);
Аналогично и для других команд
> rs:=evalf(rightsum(f,x=1..3,16));
> rightbox(f,x=1..3,16,color=red,shading=BLUE);
и
> ms:=evalf(middletsum(f,x=1..3,16)));
> middlebox(f,x=1..3,16,color=red,shading=BLUE);
