Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ipst_lab.doc
Скачиваний:
127
Добавлен:
11.04.2015
Размер:
1.91 Mб
Скачать

Пояснение к заданию 5 и 6:

Изображения представляют собой трёхмерный массив – [x,y,z], гдеx,y– размеры изображения;z– значение цвета. Черный цвет = 0, белый = 255. Для черно-белого изображения размерностьz= 1, для цветного размерностьz= 3.

Цвет состоит из трёх цветов: красного, зеленого, синего. Смешивание этих цветов и определяет различные оттенки.

Литература к лабораторной работе №2

  1. Мартынов Н.Н. Иванов А.П. MatLAB5.xВычисления. Визуализация. Программирование – М.: КУДИЦ-ОБРАЗ, 2000. – 366 с.

  2. Сергиенко А.Б. Цифровая обработка сигналов – СПб.: Питер, 2002. – 608 с.: ил.

Лабораторная работа № 3. Вычисление определенных интегралов в средеMatLAB

Цель работы

Ознакомиться с некоторыми средствами математического анализа в среде MatLAB. Изучить предоставляемые пакетом возможности по вычислению определенных интегралов, дифференцированию и аналитическим вычислениям.

Вычисление определенных интегралов

Один из методов вычисления определенных интегралов – метод трапеций. В MatLAB'е функция, которая использует метод трапеций, называетсяtrapz.

Пример. Вычислим интеграл.

Сначала зададим значение аргумента:

>> x= -1:0.1:1;

Затем вычислим значение функции в этих точках:

>> y=exp(x);

Вычислим интеграл и получим результат:

>> int1 = trapz(x, y)

int1 =

2.3524

Получить высокую точность результата можно, увеличив количество шагов интегрирования (уменьшив шаг интегрирования):

>> x = -1:0.01:1;

>> y = exp(x);

>> int2 = trapz(x, y)

int2 =

2.3504

Таким образом, чтобы получить достаточную точность, необходимо последовательно сравнивать вычисленные результаты.

Однако в MatLAB'е есть функции, которые используют методы интегрирования более высоких порядков точности –quad(метод Симпсона) иquad8(метод Ньютона-Котеса 8-го порядка точности). При одном и том же шаге интегрирования методы более высоких порядков точности достигают более точных результатов (точность результата равна 0.001). Оба этих метода являются адаптивными. Это означает, что пользователю нет необходимости контролировать достигнутую точность результата путем сравнения последовательных значений, соответствующих разным шагам интегрирования.

Используя функции quadиquad8, вычислим предыдущий пример.

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

functiony=my_func(x)

y=exp(x);

Теперь вычислим интеграл:

>> [int, cnt] = quad('my_func', -1, 1)

int =

2.3504

cnt =

21

и

>> [int, cnt] = quad8('my_func', -1, 1)

int=

2.3504

cnt=

33

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

Как видно по значениям cntв данном случае функцияquad8более трудоемкая.

Аналитические вычисления

В системе MatLABесть возможность не только вычислять конкретные значения выражения, но и проводить аналитические вычисления.

Пример.Требуется символьно сложить два выраженияx+yи3y(ответx+4y).

Для этих целей сначала необходимо создать объект нового типа – объект sym. С этими объектами и производятся аналитические вычисления.

>> f1 =sym('x+y');

>> f2 = sym('3.*y');

>> f = f1+f2

f=

x+4.*y

Используя аналитические вычисления можно выполнять операции символьного дифференцирования и символьного интегрирования – функции diffиintсоответственно.

Так же существует ещё ряд функций для работы с символьными выражениями:

simplify– упрощение символьных выражений;

expand– для раскрывания алгебраических и функциональных выражений;

factor– раскладывание многочленов на простые множители;

subs– осуществляет подстановку новых переменных для указанных символьных переменных;

limits – вычисляет пределы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]