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

ЧМ В ИНЖЕНЕРНЫХ РАСЧЁТАХ(часть 1)_v1

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

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

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

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

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

Численные методы в инженерных расчетах

(часть 1)

Учебное пособие по дисциплине «Численные методы» для студентов специальности

190109 - Наземные транспортно-технологические средства

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

МОСКВА 2013

УДК 519.6(075.8)

Разработано в соответствии с Федеральным государственным образовательным стандартом ВПО третьего поколения для специальности Наземные транспортно-технологические средства (специализация «Автомобили и тракторы») на основе рабочей программы дис-

циплины «Численные методы»

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

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

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

Калядин В.И., Макаров А.И., Тихомиров В.Н. Численные методы в инженерных расчетах (часть 1). Учебное пособие по дисциплине «Численные методы» для студентов, обучающихся по специальности 190109 - Наземные транспортно-технологические средства. М.: Университет машиностроения, 2013, 100с.: ил.

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

Введение и приложение А написал В.Н.Тихомиров, разделы №1 и №4 подготовил А.И. Макаров, а разделы №2, 3, 5 написал В.И Калядин.

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

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

©Тихомиров Василий Николаевич

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

2

 

Содержание

 

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

5

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

5

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

6

1 РАСЧЕТНО-ГРАФИЧЕСКАЯ РАБОТА №1 Решение нелинейных

уравнений ..................................................................................................

11

1.1

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

11

1.2

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

15

1.3

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

19

1.4

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

22

1.5

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

33

2 РАСЧЕТНО-ГРАФИЧЕСКАЯ РАБОТА №2 Решение систем

 

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

35

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

35

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

35

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

37

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

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

41

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

42

2.2

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

42

2.3

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

44

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

44

2.3.2 Варианты заданий (варианты СЛАУ) ...........................................

47

3

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

 

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

49

3.1

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

49

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

49

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

49

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

53

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

54

3.2

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

55

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

56

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

59

3.2.3 Варианты задания 1.........................................................................

60

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

60

3

4

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

 

табличных данных....................................................................................

63

4.1

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

63

4.2

Постановка задачи интерполяция табличной функции .................

65

4.3

Кусочно-линейная интерполяция .....................................................

65

4.4

Интерполяция полиномом .................................................................

66

4.5

Интерполяционный многочлен Лагранжа .......................................

68

4.6

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

72

4.7

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

73

5

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

 

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

74

5.1

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

74

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

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

74

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

77

5.2

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

85

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

88

Приложение А Описание интегрированной среды пакета MATLAB 89

4

Введение

Развитие науки и техники современного общества определило потребность развития средств моделирования природных, экономических, технических и иных процессов и систем. Что, в свою очередь, требует от инженера знаний математики и, в частности, такого еѐ раздела как численные методы. В настоящем пособии по численным методам рассматриваются вопросы решения нелинейных уравнений, решения систем линейных уравнений, интерполяции и аппроксимации экспериментальных данных. Вычисления ориентированы на использование в среде Excel макросов на VBA и пакета MATLAB.

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

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

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

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

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

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

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

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

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

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

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

5

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

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

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

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

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

В последнее время получили большое развитие средства так называемой «компьютерной математики». Они призваны упростить и ускорить проведение исследований поведения различных объектов и процессов на компьютере.

MATLAB является одним из наиболее известных программных средств в области численного моделирования. Пакет развивается уже более 30 лет, имеет большое количество расширений и является практически стандартом.

Само название MATLAB, является аббревиатурой от слов MATrixLABoratory (матричная лаборатория). То есть, пакет ориентирован на матричные вычисления. В MATLAB удачно реализованы средства работы с многомерными массивами, большими и разреженными матрицами и многими типами данных. В нем реализованы различные методы численных расчетов, описанные в специализированных широко известных библиотеках научных программ (EISPACK,NAG).

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

В окне 1 отображается содержимое текущей папки пользователя. Окно 2 является окном интерпретатора, в котором собственно и происходит работа. В окне 3 отображаются используемые переменные. В окне 4 можно посмотреть содержимое файлов системы MATLAB из окна 1. В окне 5 сохраняются команды MATLAB, набранные в окне 1.

6

Рисунок 1

Язык MATLAB является высокоуровневым интерпретируемым языком программирования, включающим основанные на матрицах структуры данных, широкий спектр функций, интегрированную среду разработки, объектно-ориентированные возможности и интерфейсы к программам, написанным на других языках программирования. Основной особенностью языка являются его широкие возможности по работе с матрицами, которые создатели языка выразили в лозунге «думай векторно» (англ. Think vectorized). Язык программирования системы MATLAB создан таким образом, что любые (подчас весьма сложные) вычисления можно выполнять в режиме прямых вычислений, то есть без подготовки программы пользователем. При этом MATLAB выполняет функции суперкалькулятора и работает в

режиме командной строки.

Работа с системой носит диалоговый характер и происходит по правилу «задал вопрос – получил ответ». Пользователь набирает на клавиатуре вычисляемое выражение, редактирует его (если нужно) в командной строке и завершает ввод нажатием клавиши ENTER.

7

>> 2+2 ans =4

>>

Ввод вектора-строки

>>b=[2 -4 5 7]

 

b =

 

 

 

2

-4

5

7

>>

 

 

 

Другой способ ввода вектора-строки: нач_знач : шаг : кон_знач

>>c=2: 0.2: 4

c=

Columns 1 through 9

2.0000 2.2000 2.4000 2.6000 2.8000 3.0000… 3.2000

3.4000 3.6000

Columns 10 through 11 3.8000 4.0000

Вычисление косинуса

>>q=cos(c) q =

Columns 1 through 9

-0.4161

-0.5885 -0.7374 -0.8569 -0.9422 -0.9900…

-

0.9983 -0.9668 -0.8968

 

Columns 10 through 11

 

-0.7910

-0.6536

 

>>

 

 

Подробное описание синтаксиса языка программирования пакета MATLAB приведены в приложении А. Основные правила работы в пакете следующие:

­приглашение к вводу инструкций осуществляется символом >> ;

­завершает ввод инструкции клавиша «ENTER»;

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

8

­встроенные функции (например, sin) записываются строчными буквами, а их аргументы указываются в круглых скобках;

­результат вычислений выводится в строках вывода (без знака

>>);

­комментарии задаются после символа $ ;

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

­диалог происходит в стиле «задал вопрос – получил ответ». Некоторые команды управления окном командного режима:

­clс– очищает экран и размещает курсор в левом верхнем углу пустого экрана;

­home– возвращает курсор в левый верхний угол окна;

Арифметические операторы задают выполнение арифметических операций. В MATLAB практически все операторы предназначены для выполнения операций над матрицами (табл. А.1 приложения).

MATLAB обладает собственной системой графики. Например, при наличии одномерных массивов

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

>>plot(c,q)

 

>>grid

 

>>

 

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

Рисунок 2

рисунке 2.

 

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

Рассмотрим получение более сложного графика функции

f

sin( x)

при

x 2 : 2 с шагом

 

 

x

32

 

 

 

9

Попытка «лобового» решения задачи может привести к ошибке

>>x=[-2*pi:pi/32:2*pi];

>>f=sin(x)/x;

??? Error using ==>mtimes

Inner matrix dimensions must agree.

Дело в том, что sin(x) и x– матрицы-строки, а символ «/»- операция матричного деления, а деление этих матриц невозможно, о чѐм и сообщает MATLAB (красным цветом). Для правильного умножения в данном случае следует применить оператор./ (поэлементное деление массивов).

>>f1=sin(x)./x;

 

 

 

 

 

 

 

 

 

 

Здесь возникает другая проблема - при x равном 0 будет деление

«ноль на ноль» и MATLAB заносит NaN в соответствующий элемент

массива f1. Хотя из курса

 

 

 

 

 

 

 

 

 

математического

анализа

1.2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

известно,

что

правильный

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0.8

 

 

 

 

 

 

 

 

ответ такого действия - 1.

0.6

 

 

 

 

 

 

 

 

Поэтому

следует

помнить,

0.4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

что компьютер

только вы-

0.2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

числяет,

а думать

должен

0

 

 

 

 

 

 

 

 

-0.2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

программист.

 

 

-0.4

 

 

 

 

 

 

 

 

 

 

 

 

-8

-6

-4

-2

0

2

4

6

8

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

 

 

 

Рисунок 3

 

 

 

 

дует ввести команды:

 

 

 

 

 

 

 

 

 

>>plot(x,f)

>>grid

На рисунке 3 заметно, что в точке x=0 на графике линия отсутствует. Для переноса графика построенного в пакете MATLAB в текстовый документ можно использовать буфер обмена. Для этого в меню EDIT следует выбирать командуCopy Figure, в текстовом редакторе выполнить команду Вставка. Для знакомства с возможностями пакета MATLAB по построению графиков студентам предлагается построить график функции своего варианта представленной в таблице 1.1 (РГР №1).

10