Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЭВМ_Семестр3_МетодПособие

.pdf
Скачиваний:
23
Добавлен:
05.06.2015
Размер:
2.99 Mб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

Московский государственный машиностроительный университет (МАМИ)

В.И.Калядин, А.И.Макаров

Решение задач на ЭВМ (вычислительные методы)

часть 1

Учебное пособие по дисциплине «Решение задач на ЭВМ» для студентов направления

230400 – Информационные системы и технологии

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

МОСКВА 2014

УДК 519.6(075.8)

Разработано в соответствии с Федеральным государственным образовательным стандартом ВПО третьего поколения для направления Информационные системы и технологии на основе рабочей программы дисциплины «Решение задач на ЭВМ»

Рецензенты: генеральный директор «Института информационного технологий», д.т.н., профессор В.И. Зубков; доцент кафедры «Автоматика и процессы управления»

Московского государственного машиностроительного университета, к.ф.-м.н., доцент Т.Т.Идиатулов.

Работа подготовлена на кафедре "Информационные системы и дистанционные технологии"

Калядин В.И., Макаров А.И. Решение задач на ЭВМ (вычислительные методы) часть 1. Учебное пособие по дисциплине «Решение задач на ЭВМ» для студентов, обучающихся по направлению 230400 - Информационные системы и технологии.. М.: Университет машиностроения, 2014, 107с.: ил.

Пособие ориентировано на решение задач с подключением для изучения и применения методов вычислительной математики, используемых в инженерной деятельности. Приведены примеры выполнения расчетов средствами MS Excel, с помощью языка программирования Visual Basic for Application Microsoft Excel и интегрированной среды программирования MATLAB. Приводятся основы синтаксиса и примеры расчетов в среде MATLAB.

Раздел №1 подготовил А.И. Макаров, остальные разделы и общее редактирование выполнил В.И Калядин.

©Калядин Вячеслав Иванович

©Макаров Алексей Иванович

©Московский государственный машиностроительный университет, 2014

2

Содержание

 

Введение .....................................................................................................

6

Правила выполнения заданий по темам ..................................................

6

Краткие сведения и знакомство с MATLAB ............................................

7

О построении графика в Excel (повторение).........................................

13

Контрольное задание ...............................................................................

14

1 РАСЧЕТНО-ГРАФИЧЕСКАЯ РАБОТА №1

 

Решение нелинейных уравнений .......................................................

15

1.1 Краткие теоретические сведения ...................................................

15

1.1.1О нелинейном уравнении и способах его решения...................

15

1.1.2Метод простых итераций .............................................................

19

1.1.3Метод Ньютона (метод касательных).........................................

23

1.1.4Метод деления отрезка пополам .................................................

26

1.2 Задание к расчетно-графической работе №1 ................................

37

2 РАСЧЕТНО-ГРАФИЧЕСКАЯ РАБОТА №2 Решение систем линейных алгебраических уравнений методом (прямые методы)... 39

2.1

Краткие теоретические сведения ...................................................

39

2.1.1Формулировка задачи ...................................................................

39

2.1.2Метод Гаусса (метод исключения неизвестных).......................

41

2.1.3Решение СЛАУ методом Гаусса с выбором главных элементов

по столбцу ..............................................................................................

45

2.1.4Характеристики метода Гаусса (прямых методов) ...................

46

2.2

Программное обеспечение..............................................................

46

2.3

Задание к расчетно-графической работе №2 ................................

48

3

РАСЧЕТНО-ГРАФИЧЕСКАЯ РАБОТА №3 Решение СЛАУ

 

итерационными методами....................................................................

53

3

3.1

Краткие теоретические сведения ...................................................

53

3.1.1Об итерационных методах ...........................................................

53

3.1.2Метод простых итераций .............................................................

53

3.1.3Метод Зейделя ...............................................................................

56

3.1.4О применении итерационных методов .......................................

58

3.2 Задание к расчетно-графической работе №3 ................................

59

3.2.1Текст задания .................................................................................

59

3.2.2Пример выполнения задания 1 ....................................................

59

3.2.3Пример выполнения задания 2 ....................................................

63

3.2.4Варианты задания 1 (см. в разделе 2.3) .................................

64

3.2.5Варианты задания 2.......................................................................

64

4

РАСЧЕТНО-ГРАФИЧЕСКАЯ РАБОТА №4 Интерполяция

 

полиномами и сплайнами.....................................................................

67

4.1

Краткие теоретические сведения ...................................................

67

4.1.1Формулировка задачи ...................................................................

67

4.1.2Линейные и кусочно-линейные приближающие функции .....

67

4.1.3Полиномиальные приближающие функции ..............................

69

4.1.4Приближение сплайн-функциями ...............................................

73

4.1.5Примеры интерполяции полиномами и сплайнами ..................

76

4.2 Задание к расчетно-графической работе №4 ................................

79

4.2.1Пример программы для варианта №30 .......................................

79

4.2.2Тексты и варианты заданий .........................................................

81

5 РАСЧЕТНО-ГРАФИЧЕСКАЯ РАБОТА №5 Приближения по

 

методу наименьших квадратов ...........................................................

83

5.1

Краткие теоретические сведения ...................................................

83

5.1.1Решение переопределѐнной системы n линейных уравнений с

m неизвестными (n > m) .......................................................................

83

5.1.2Сглаживание точечных данных...................................................

86

5.1.3Пример решения задачи (выполнения задания 2) .....................

91

5.1.4Замечания о сглаживании данных методом наименьших квадратов.....

94

4

5.2 Задание к расчетно-графической работе №5

................................ 94

Рекомендуемая литература ..................................................................

97

Приложение А Справочные сведения по работе с пакетом MATLAB. 98

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

98

Интерактивная справка по MATLAB ....................................................

99

Арифметические операторы и функции ................................................

99

Построение графиков в MATLAB........................................................

105

Некоторые функции для работы с матрицами ....................................

106

5

Введение

В различных областях науки и человеческой деятельности встречается много задач, которые не удаѐтся решить аналитически и получить готовые конечные формулы для расчѐта. Но часто можно получить численное решение таких задач на ЭВМ. При этом используются методы вычислительной математики или численные методы. Настоящее пособие ориентировано на изучение этих методов и их применение к решению задач, В пособии рассматриваются следующие темы: решение нелинейных уравнений, решение систем линейных уравнений прямыми и итерационными методами, интерполяция и аппроксимация (сглаживание) экспериментальных данных. Вычисления ориентированы на использование в среде Excel макросов на VBA и

пакета MATLAB.

Правила выполнения заданий по темам

Для практического освоения указанных тем студенту следует:

изучить теоретический материал темы по лекциям, методическим указаниям и рекомендуемой литературе;

выполнить на компьютере лабораторные работы по темам;

ознакомиться с заданием расчетно-графической работы (РГР) своего варианта по теме и подготовить в отчете материал для еѐ выполнения.

отчет по расчетно-графической работы (для заданной темы) должен быть оформлен на листах бумаги формата А4 и включать в себя следующие разделы:

титульный лист с названием темы;

задание к расчетно-графической работе по теме;

материал для выполнения темы в соответствии со своим конкретным вариантом задания, включая краткий конспект по теме;

перерисовать в отчет или распечатать на принтере полученный при выполнении РГР результат.

6

На занятиях студенту следует:

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

­выполнить на компьютере задание по теме,

­внести полученные результаты в отчет,

­представить результаты выполненной работы и отчет преподавателю для защиты. Защитить тему, отвечая на предложенные преподавателем вопросы и выполняя контрольные задания.

Краткие сведения и знакомство с MATLAB

Для математических вычислений на компьютерах наряду с традиционными языками программирования, такими как Фортран, Паскаль и т.п. стали широко применяться специализированные программы для математических расчѐтов, такие как MATLAB, MathCAD и другие. Они призваны упростить и ускорить проведение человеком вычислений, а также исследований на компьютере моделей процессов и поведения моделируемых объектов. И если MathCAD опирается (главным образом) на математическую символику и оперирует с формулами в их естественном математическом виде, то MATLAB оперирует с формулами в традиционном для языков программирования представлении, а вычисления в окне команд MATLAB являют пример работы на сверхмощном калькуляторе (и по принципу напоминают работу в строках Immediate Window VBA или QBASICа). Программирование и работа с m-файлами MATLAB близка к традиционному программированию (например, программированию на современном Фортране с подключением математических и графических библиотек).

Название MATLAB является сокращением слов Matrix Laboratory (матричная лаборатория), изначально пакет MATLAB разрабатывался как средство удобного доступа к библиотекам LINPACK и EISPACK матричных математических вычислений. В настоящее время пакет является мощным универсальным средством решения широкого круга задач, имеет большое количество расширений, развитый интерфейс и справочную систему.

7

Запуск пакета MATLAB осуществляется как запуск обычного приложения. Возможен запуск и из среды Excel (но для этого в Excel предварительно должны выполняться специальные настройки). При автономном запуске MATLAB и Excel связь между ними осуществляется на уровне данных.

После запуска программы на экране открывается вид рабочей среды MATLAB (см. рисунок 1), включающей панели меню и различные окна. Для настройки размера шрифта какого-либо окна следует выбрать в меню File – Preferences.., указать окно и размер шрифта, нажать Apply и OK. Конфигурацию окон можно менять. Для возврата к исходной конфигурации следует выбрать в меню DeskTop

– DeskTop Layout – Default.

Рисунок 1 – Рабочая среда MATLAB

Окно 1 окно текущей папки (Current Folder) отображает содержимое текущей папки пользователя. Путь к этой папке можно выбрать в верхней части окна. В текущей папке можно сохранять m- файлы с функциями пользователя. Окно 2 окно подробностей (Detals) показывает содержимое файлов текущей папки из окна 1. Окно 3 окно команд (Command Windows) является окном командной строки (интерпретатора), в котором собственно и происходит ра-

8

бота. Окно 4 окно рабочего пространства (Workspace) отобража-

ет используемые переменные (их значения и размеры). В него можно вставлять значения векторов и матриц, скопированных ранее в Excel, и выбирать значения для вставки в ячейки Excel. Окно 5 история команд (Command History) сохраняет команды, выполненные ранее в окне команд 2. Из этого окна команды можно вызывать в окно команд и повторно запускать.

О работе в окне команд При работе команды набиваются в строке, справа от символов

>>(приглашения к вводу), и выполняются после нажатия клавиши Enter. Ранее введѐнные и выполненные команды можно повторно вызывать клавишей «стрелка вверх», корректировать и повторно запускать на исполнение. В строке справа от команды после знака % можно набить текст комментария – он помогает ориентироваться в повторно используемых командах. Далее он будет использован для пояснения вводимых команд:

>>2+3 % после нажатия Enter ответ (ans) выдаѐтся в виде:

ans =

5

Если не указана переменная для значения результата вычислений, то MATLAB присваивает ей имя ans (от английского answer – ответ).

>>a=6; % a получает значение 6. Знак «;» подавляет вывод ответа

>>b=a^2 % результат 36 присваивается переменной y и выводится:

b =

36

MATLAB работает с данными, которые группируются по классам. Все классы данных являются матричными (представляются как матрицы). Числовые данные могут образовывать массивы (векторы и матрицы), которые должны заключаться в квадратные скобки:

>>Vcol=[3; 8] % задание (через «;») вектора-столбца:

Vcol =

3

8

9

>> Vrow=[0 2 5 8] % задание (через пробел) вектора-строки:

Vrow =

0 2 5 8

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

члены арифметической прогрессии, например:

 

 

>> X=[-2*pi:pi:2*pi]; % то есть = −2 , −, 0,

,

2

Попробуем образовать вектор, вычисляя функцию sin X /X для

этих значений X:

 

 

 

>> sin(X)/X

% операция / матричного деления

 

 

ans =

 

 

 

-2.3389e-017

Это близкое к нулю число −2.3389 ∙ 10−17 соответствует матричной операции деления (см. Приложение А), то есть вектор не получился. Нужное нам (для образования вектора) поэлементное деление в MATLAB обозначают ./ – точкой с косой чертой. То есть надо было записать:

>> Y=sin(X)./X % поэлементное деление sin X на X

В результате выдаются вектор-строка из пяти следующих значений:

10−16 ∙ 0.3898 0.3898 0.3898 0.3898

=

= 0.3898 ∙ 10−16 0.3898 ∙ 10−16 0.3898 ∙ 10−16

0.3898 ∙ 10−16

Обратите внимание на то, что третий элемент Y(3) равен NaN (не число) – это «результат» деления нуля на ноль. Доопределим, как это

делают в математике, функцию sin X

/X при X=0 – положим третий

элемент вектора Y равным единице, то есть зададим:

>> Y(3)=1

% присвоим третьему элементу значение 1

Y =

 

 

 

-0.0000

0.0000

1.0000

0.0000 -0.0000

Пакет MATLAB выдал всю вектор-строку с точностью до 4 знаков в дробной части чисел.

Перечислим основные правила работы в окне команд:

команды задаются справа от символов >> приглашения к вводу;

комментарий можно набить справа от символа % ;

10