andrey

Путь к Файлу: /Все по Матлабу(методички и задания) / Лаб2MatLAB.doc

Ознакомиться или скачать весь учебный материал данного пользователя
Скачиваний:   0
Пользователь:   andrey
Добавлен:   07.01.2015
Размер:   283.0 КБ
СКАЧАТЬ

Лабораторная работа №2 в среде MatLAB

Численное интегрирование и деловая графика

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

Лаб2MatLAB где Лаб2MatLAB- остаточный член.

Чаще всего используются формулы с равноотстоящими узлами, когда отрезок интегрирования [a,b] разбивается на n равных частей системой точек.

Лаб2MatLAB

Простейшая из формул численного интегрирования с равноотстоящими узлами – формула трапеций:

Лаб2MatLAB

где Лаб2MatLAB

Для вычисления интеграла по формуле трапеций в MATLAB используется функция trapz:

>>x=1:0.1:2;

>>y=log(x);

>>trapz(x,y)

ans=0.3859

Точное значение интеграла, который берется аналитически, равно 0.3863. Длины векторов х и у должны быть одинаковы. Если вектор узлов не задан, т.е. обращение имеет упрощенный вид s=trapz(y), то в качестве ординат х используются их индексы (x=1:length(y)). Узлы по оси х могут быть и не равноотстоящими:

>>xn=[1:0.1:1.5,  1.6:0.2:2];

>>yn=log(xn);

>>trapz(x,y)

ans=0.3859

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

Лаб2MatLAB

где черта сверху означает среднее значение по отрезку интегрирования.

Для вычисления среднего значения компонентов любого вектора в MATLAB используется функция mean. В данном случае ее надо применить к вектору вторых разностей:

>>x=1:0.1:2;

>>y=log(x);

>>d2y=diff(y,2);

>>mean(d2y)

ans=-0.0049

Подставляя найденное среднее в формулу остаточного члена, получим Лаб2MatLAB. Если прибавить эту поправку к ранее найденному значению 0.3859, получим 0.3863, что в пределах отображаемого количества разрядов совпадает с точным значением.

Более точная (и более сложная) формула численного интегрирования с равноотстоящими узлами – формула Симпсона:

Лаб2MatLAB

гдеЛаб2MatLAB

Для вычисления интеграла по формуле Симпсона в MATLAB применяется функция quad. При обращении к ней шаг интегрирования не задается – вместо этого используется (задаваемая явно или по умолчанию) требуемая точность вычисления интеграла.

Минимальная форма обращения к функции, реализующей интегрирование по Симпсону, -  q=quad(fun,a,b). В качестве первого аргумента задается указатель на подынтегральную функцию (строка, содержащая любую формулу с одной независимой переменной), второй и  третий аргументы определяют пределы интегрирования.

>>quad(‘log(x)’,1,2)

Функция quad допускает значение четвертого входного параметра – абсолютной погрешности eps:

Q=quad(fun,a,b,eps)

По умолчанию эта погрешность принимается равной 1.е-6. Если задать ее более высокой, интеграл будет вычисляться точнее, зато существенно медленнее.

Деловая графика

Довольно много различных приложений, связанных с экономическими, статистическими и социологическими исследованиями, используют для визуализации результатов различного рода диаграммы  - столбиковые и круговые, плоские и объемные. Иногда их связывают термином «деловая графика». В библиотеке графических функций MATLAB для этой цели реализована группа следующих функций: bar, barh, bar3, bar3h, pie, pie3, area.

1. Плоские столбиковые диаграммы

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

Пример:

>>y=[1    2   4];

>>length(y)

ans=3

>>bar(y); colormap(cool)

Лаб2MatLAB

Функция colormap, к которой мы обратились с аргументом cool, осуществляет подмену стандартной цветовой палитры, закрепленной за графическим окном. Палитра, по умолчанию приписываемая графическому окну, отличается довольно мрачными тонами. Новая палитра представляет набор более светлых оттенков от бирюзового (cyan) до малинового (magenta).По умолчанию столбики диаграммы расположены над целочисленными координатами x, принадлежащими интервалу [l, length(y)]. Ширина столбиков по умолчанию равна 0,8 см. Надписи внутри столбиков можно сделать вручную с помощью средств управления графическим окном.

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

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

Пример «Маркировка оси у диаграммы»

>>x=[-1.5,0,2.5];

>>y=[1,2,4];

>>bar(x,y);

>>colormap(cool)

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

Пример построения нескольких диаграмм одновременно:

>>y=[1  2  4;  1.5  3  5]

>>bar(y,’grouped’); colormap(cool)

%или

>>bar(y); colormap(cool)

Любая из приведенных выше строк генерирует две группы столбиков.

2. Объемные столбиковые диаграммы

Объемные столбиковые диаграммы строятся с помощью функций bar3 и bar3h, разница между которыми заключается только в вертикальном или горизонтальном расположении столбцов. Функция bar3(z) превращает простую плоскую диаграмму в объемную:

Лаб2MatLAB

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

>>z=[2,3,4;1,2,3];

>>bar2(z); colormap (cool)

Столбики двумерной матрицы могут быть перегруппированы двумя разными способами с использованием аргументов grouped и stracked:

>>z=[2,3,4;1,2,3];

>>bar3(z,’grouped’); colormap(cool)

>> bar3(z,’stracked’); colormap(cool)

3. Круговые диаграммы

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

Пример круговая диаграмма

>>q = [1,2,4];

>>colormap cool

>>pie(q)

>>pie3(q)

Для того, чтобы обратить внимание на отдельный сектор или группу секторов, их принято немного выдвигать из «пирога». Создание таких выделяющихся элементов обеспечивается заданием еще одного аргумента той же размерности, что и вектор q. Выдвигаемым секторам в новом векторе должны соответствовать ненулевые элементы. Например:

>>v=[0,1,0];

>>pie(q,v);

>>m=[1,0,0];

>>pie3(q,m)

Метки на круговой диаграмме:

>>z=[1,249,1,249,1,249,1,249];

>>s={‘Север’,’’,’Запад’, ‘’, ‘Юг’, ‘’, ‘Восток’, ‘’};

>>pie(z,s); colormap(cool)

 

 

 

 

 

 

 

 

 

 

 

ЗАДАНИЕ:

1. Вычислить заданный определенный интеграл Лаб2MatLAB в среде MATLAB по формуле трапеции и по формуле Симпсона при Лаб2MatLAB=12. Оценить погрешность полученных результатов.

Номер варианта

Определенный интеграл

Номер варианта

Определенный интеграл

1

Лаб2MatLAB

16

Лаб2MatLAB

2

Лаб2MatLAB

17

Лаб2MatLAB

3

Лаб2MatLAB

18

Лаб2MatLAB

4

Лаб2MatLAB

19

Лаб2MatLAB

5

Лаб2MatLAB

20

Лаб2MatLAB

6

Лаб2MatLAB

21

Лаб2MatLAB

7

Лаб2MatLAB

22

Лаб2MatLAB

8

Лаб2MatLAB

23

Лаб2MatLAB

9

Лаб2MatLAB

24

Лаб2MatLAB

10

Лаб2MatLAB

25

Лаб2MatLAB

11

Лаб2MatLAB

26

Лаб2MatLAB

12

Лаб2MatLAB

27

Лаб2MatLAB

13

Лаб2MatLAB

28

Лаб2MatLAB

14

Лаб2MatLAB

29

Лаб2MatLAB

15

Лаб2MatLAB

30

Лаб2MatLAB

 

2. Представить вычисленный интеграл графически в виде диаграммы как площадь криволинейной трапеции

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ПРИМЕР. Вычислить приближенно Лаб2MatLAB по формуле трапеции и по формуле Симпсона при Лаб2MatLAB=12. Оценить погрешность полученных результатов.

По условию Лаб2MatLAB=12. Отсюда шаг равномерной сетки Лаб2MatLAB. Дальнейшие вычисления оформляем в виде таблицы 8.1.

Таблица 8.1

i

xi

Лаб2MatLAB

Формула трапеций

Формула Симпсона

 

 

 

 

Лаб2MatLAB

Лаб2MatLAB

Лаб2MatLAB

Лаб2MatLAB

0

0

0

1

1

1

1

 

1

0,1

0,099990

2

0

4

0

 

2

0,2

0,199680

2

2

2

4

 

3

0,3

0,297589

2

0

4

0

 

4

0,4

0,390015

2

2

2

2

 

5

0,5

0,470588

2

0

4

0

 

6

0,6

0,531161

2

2

2

4

 

7

0,7

0,564470

2

0

4

0

 

8

0,8

0,567536

2

2

2

2

 

9

0,9

0,543445

2

0

4

0

 

10

1,0

0,500000

2

2

2

4

 

11

1,1

0,446410

2

0

4

0

 

12

1,2

0,390421

1

1

1

1

 

S

 

 

9,612189

4,767205

14,457172

7,228887

 

J

 

 

Jh=0,48060

J2h=0,47672

Jh=0,481905

J2h=0,48195

 

|R|

 

 

0,001297<

0,002

 

0,0000015<0,000002

 

 

Вычисляем координаты узлов сетки Лаб2MatLAB (Лаб2MatLAB). В данном случае Лаб2MatLAB; Лаб2MatLAB. Вычисляем значения подынтегральной функции Лаб2MatLAB в узлах Лаб2MatLAB.

Формула трапеции для расчета приближенного значения рассматриваемого интеграла имеет вид:

Лаб2MatLAB.

В столбце Лаб2MatLAB таблицы 8.1 проставлены коэффициенты суммы формулы трапеции. В строке S записано значение суммы Лаб2MatLAB, в строке J – приближенное значение интеграла Jh.

Для оценки погрешности вычисляем приближенное значение определенного интеграла по формуле трапеции с шагом 2h=0,2. При n=6 формула трапеции имеет вид:

Лаб2MatLAB.

Так как точки Лаб2MatLAB пропускаются, полагаем для них Лаб2MatLAB.

Оценить погрешность вычислений определенного интеграла по формуле трапеции с шагом h возможно, используя неравенство:

Лаб2MatLAB.

Формула Симпсона для расчета приближенного значения рассматриваемого интеграла с шагом Лаб2MatLAB и Лаб2MatLAB имеет вид:

Лаб2MatLAB.

Формула Симпсона для расчета приближенного значения рассматриваемого интеграла с шагом Лаб2MatLAB и Лаб2MatLAB имеет вид:

Лаб2MatLAB.

Оценка погрешности вычислений по формуле Симпсона с шагом h, рассчитывается с помощью неравенства:

Лаб2MatLAB.

 

 

 

Наверх страницы

Внимание! Не забудьте ознакомиться с остальными документами данного пользователя!

Соседние файлы в текущем каталоге:

    На сайте уже 21970 файлов общим размером 9.9 ГБ.

    Наш сайт представляет собой Сервис, где студенты самых различных специальностей могут делиться своей учебой. Для удобства организован онлайн просмотр содержимого самых разных форматов файлов с возможностью их скачивания. У нас можно найти курсовые и лабораторные работы, дипломные работы и диссертации, лекции и шпаргалки, учебники, чертежи, инструкции, пособия и методички - можно найти любые учебные материалы. Наш полезный сервис предназначен прежде всего для помощи студентам в учёбе, ведь разобраться с любым предметом всегда быстрее когда можно посмотреть примеры, ознакомится более углубленно по той или иной теме. Все материалы на сайте представлены для ознакомления и загружены самими пользователями. Учитесь с нами, учитесь на пятерки и становитесь самыми грамотными специалистами своей профессии.

    Не нашли нужный документ? Воспользуйтесь поиском по содержимому всех файлов сайта:



    Каждый день, проснувшись по утру, заходи на obmendoc.ru

    Товарищ, не ленись - делись файлами и новому учись!

    Яндекс.Метрика