Uploaded by Анатолий Тимченко

metodicheskie ukazaniya po kursu pichmm fzvo

advertisement
МИНОБРНАУКИ России
Ивановский государственный энергетический университет им. В.И.Ленина
Кафедра прикладной математики
Программирование и численные методы моделирования
Методические указания
по выполнению контрольной и лабораторных работ
для студентов заочной формы обучения по направлению 13.03.01
«Теплоэнергетика и теплотехника»
Иваново 2020
Составители: В.П.Жуков
С.Д. Горшенин
Редактор
В.Е.Мизонов
Методические указания предназначены для выполнения студентами заочной формы
обучения по направлению подготовки «Теплоэнергетика и теплотехника» контрольной и
лабораторных работ по курсу "Программирование и численные методы моделирования".
Утверждены цикловой методической комиссией ЭМФ
Рецензент
кафедра прикладной математики ИГЭУ
Программирование и численные методы моделирования
Методические указания
по выполнению контрольной и лабораторных работ
для студентов заочной формы обучения
Составители:
ЖУКОВ Владимир Павлович
ГОРШЕНИН Сергей Дмитриевич
.
2
Контрольная работа
Первичная обработка информации
Основные понятия
Под первичной обработкой информации будем понимать следующие операции:
заполнение массивов, отыскание в нем максимального и минимального элементов,
определение среднего арифметического и среднего геометрического значений, сортировку
элементов массива.
Расчетные формулы
n
A  x 
x
i 1
n
i
 среднее арифметическое.
1
P= x1  x 2  ...  x k =(x1x2…xk)
k
k
 среднее геометрическое
Варианты заданий
Цель работы. Изучение методов первичной обработки информации в среде
программирования Matlab и Scilab.
Задание.
1. Для n случайных значений x(i)[a;b], где i=1,2,.,n, заполнить и распечатать массив y(i).
Варианты функции у(х) приведены в табл. 1. Значения параметров n, a, b представлены в табл.
2.
2. Построить график функции y(x).
3. Определить среднее арифметическое y(i), среднее геометрическое x(i), максимальное
значение y(i), минимальное значение x(i) с учетом вариантов условий, приведенных в табл. 2.
4.Ответить письменно на 6 тестовых вопросов раздела (Т). Номера вопросов выбираются по
номеру варианта из табл.3
Таблица 1. Варианты функций
Вар.
Функция
Вар.
Функция
7, 19
(sin 3 (x)  1)0.5 , x  29
y i   
 ln (x)+tg(x), x  29
1, 13
(cos(x 0.5 )  2, x  6
y i   
2
x 6
 tg (x),
2, 14
(sin 2 (x)  1)0.5 , x  29
y i   
8, 20
 ln (x)+tg(x), x  29
(cos(x 0.5 )  2, x  6
y i   
2
x 6
 tg (x),
3, 15
 x 2  exp( x), x  17
y i   
9, 21
1.5
x  17
 ln (x ),
1
  exp( x), x  17
y i    x
 ln (x1.5 ),
x  17
4, 16
2x1.3  1, x  2
y i   
x2
 lg (x),
(cos(x 0.5 )  2, x  6
y i   
x 6
 lg (x),
5, 17
 (sin 2 (x)  1)0.5 ,

y i   

log 2 (x)+tg(x),
10, 22
x2
11, 23
x2
3
2x 2  exp( x), x  5
y i   
1.5
x 5
 lg (x ),
6, 18
 x  exp(x), x  18
y i   
1.5
x  18
 ln (x ),
Таблица 2. Варианты исходных данных
Вар n
a..b
А
1
8
5..8
y(i)<2
2
12
25..34
y(i)<2
3
10
15..20
y(i)<2
4
9
1..4
y(i)
5
12
1..3
y(i)
6
10
15..20
y(i)<2
7
11
25..36
y(i)
8
10
5..8
y(i)<2
9
10
15..20
y(i)
10
12
2..8
y(i)<2
11
11
4..9
y(i)<2
12
9
1..8
y(i)<2
13
8
5..8
y(i)
14
12
25..34
y(i)
15
9
15..20
y(i)<2
16
9
1..4
y(i)<2
17
12
0..4
y(i)<2
18
10
15..20
y(i)<2
19
11
25..36
y(i)
20
10
5..8
y(i)
21
8
15..20
y(i)
22
12
2..8
y(i)<2
23
10
4..9
y(i)
24
9
1..4
y(i)<2
2x1.3  1, x  2
y i   
x2
 lg (x),
12, 24
Р
abs(x(i))<6
x(i)<29
abs(x(i))<16
x(i)<3
x(i)<2
x(i)
x(i)<29
x(i)
x(i)<16
x(i)<6
x(i)
x(i)<6
x(i)<6
x(i)<29
x(i)<18
x(i)<3
x(i)<3
x(i)
x(i)<28
x(i)<6
x(i)<19
x(i)
x(i)<8
x(i)<3
maxY
y(i)<1
y(i)<1
y(i)<1
y(i)
y(i)<1
y(i)<1
y(i)
y(i)
y(i)
y(i)
y(i)
y(i)<1
y(i)<1
y(i)<1
y(i)
y(i)
y(i)<1
y(i)<1
y(i)<1
y(i)<1
y(i)<1
y(i)
y(i)
y(i)
minX
x(i)>6
x(i)
x(i)>16
x(i)>3
x(i)
x(i)
x(i)>26
x(i)>6
x(i)>20
x(i)
x(i)>6
x(i)>6
x(i)
x(i)
x(i)
x(i)
x(i)>3
x(i)>16
x(i)
x(i)
x(i)
x(i)>6
x(i)
x(i)
Таблица 3. Варианты тестовых заданий к контрольной работе (Т)
Вар Блок1 Блок2
Блок3
Блок4
Блок4
1
1
10
17
27
34
2
2
11
18
28
35
3
3
12
19
29
36
4
4
13
20
30
37
5
5
14
21
31
38
6
6
15
22
32
39
7
7
16
23
33
40
8
8
10
24
27
41
9
9
10
25
28
42
10
3
11
26
29
43
11
4
12
17
30
44
Блок5
49
50
51
52
53
54
55
56
57
58
59
4
Вар
12
13
14
15
16
17
18
19
20
21
22
23
24
Блок1
5
6
7
8
9
1
2
3
4
5
6
8
9
Блок2
13
14
15
16
10
16
10
11
12
13
14
15
16
Блок3
18
19
20
21
22
23
24
25
26
17
18
19
20
Блок4
31
32
33
27
28
29
30
31
32
33
27
28
29
Блок4
45
46
47
48
34
35
36
37
38
39
40
41
42
Блок5
60
61
49
50
51
52
53
54
55
56
57
58
59
Комплект тестовых вопросов
Блок 1.Технология программирования. Программирование на Matlab
1. Общие принципы программирование на языках высокого уровня. Технология
программирования. Пример.
2. Структурное программирование. Пример.
3. Идентификаторы языка Matlab и Scilab. Пример.
4. Общие понятия и правила программирования на языке Matlab и Scilab.
5. Структура программы на языке Matlab и Scilab. Пример.
6. Операторы ввода и вывода информации на языке Matlab и Scilab. Пример.
7. Действия с векторами и матрицами на языке Matlab и Scilab. Пример.
8. Примеры графических операторов на языке Matlab и Scilab.
9. Табулирование функции и построение графиков функций на языке Matlab и Scilab. Пример.
Блок 2. Численные методы первичной обработки информации
10. Задачи первичной обработки информации. Пример.
11. Операции с массивами: ввод и вывод массивов. Пример.
12. Порядок определения максимального элемента массива. Пример.
13. Порядок определения среднего арифметического значения элементов массива. Пример.
14. Порядок определения минимального элемента массива. Пример.
15. Порядок определения среднего геометрического значения элементов массива. Пример.
16. Алгоритмы поиска и упорядочения элементов массива.
Блок 3. Численные методы дифференцирования и интегрирования функции одной
переменной.
17. Понятие производной функции одной переменной
18. Геометрический смысл производной.
19. Методы численное дифференцирование.
20. Вычисление производных первого и высших порядков для функции одной переменной.
21. Определенный интеграл функции одной переменной. Пример.
22. Геометрический смысл определенного интеграла.
23. Численные методы интегрирования. Пример.
5
24. Расчетные формулы для вычисления интеграла методом прямоугольников.
25. Расчетные формулы для вычисления интеграла методом трапеций.
26. Расчетные формулы для вычисления интеграла методом Симпсона.
Блок 4. Численные методы решения дифференциальных уравнений
27. Общее и частное решения дифференциальных уравнений. Пример.
28. Численные методы решения дифференциальных уравнений первого порядка.
29. Методы решения дифференциальных уравнений второго и высшего порядков. Пример
30. Метод Эйлера решения задачи Коши.
31. Метод Рунге-Кутта решения задачи Коши.
32. Запишите систему однородных дифференциальных уравнений в машинном виде. Пример.
33. Численные методы решения систем ДУ. Пример.
Блок 5. Операции с матрицами. Системы линейны уравнений. Решение задач оптимизации.
Аппроксимация и интерполяция
34. Матрица. Операции с матрицами. Пример.
35. Транспонирование и обращение матриц. Пример.
36. Численные методы решения систем линейных уравнений.
37. Система линейных уравнений в алгебраическом и матричном видах.
38. Численные методы решения одномерных оптимизационных задач.
39. Численные методы решения нелинейных уравнений.
40. Численные методы решения многомерных оптимизационных задач.
41. Методы интерполяции и экстраполяции.
42. . Одноинтервальная и многоинтервальная интерполяция.
43. Линейная интерполяция.
44. Интерполяционный полином Лагранжа.
45. Аппроксимация. Методы аппроксимации.
46. Метод выравнивания. Пример.
47. Метод усреднения. Пример.
48. Метод наименьших квадратов. Пример.
Блок 6. Базовые понятия математического моделирования
49. Виды моделей. Математические и физические модели.
50. Роль и место моделирования и численных методов в инженерных расчетах.
51. Математическое моделирование. Классификация математических моделей.
52. Области применения и принципы построения математических моделей.
53. Детерминированные и стохастические модели.
54. Динамические и статические модели.
55. Компьютерные имитационные модели.
56. Моделирование случайных процессов методом Монте-Карло.
57. Технология построения математической модели.
58. Выбор допущений при построении модели. Пример.
59. Компьютерное моделирование и вычислительный эксперимент.
60. Идентификация и верификация моделей.
61. Подходы к оценке эффективности математических моделей.
6
Содержание отчета КР1.
1. Название, цель работы и задание.
2. Математическое описание, алгоритм (структограмма) и текст программы.
3. Результаты расчета.
4.График зависимости y(x).
5. Ответы на шесть тестовых вопросов (Т), номера которых приведены в табл. 3.
6. Выводы по работе.
7
Лабораторная работа №1
Численное дифференцирование
Цель работы. Изучение методов численного дифференцирования функций одной
переменной.
Задание. 1. Bычислить значение производной в произвольной точке x=x0 аналитически и
численно тремя методами для пяти значений приращения аргумента x=1 ; 0.2 ; 0.1 ; 0.01 ;
0.001 . Результаты расчета вывести на экран и распечатать в виде таблицы (табл.1)
Таблица 1
y( x + x ) - y( x - x )
y( x + x ) - y( x )
y( x ) - y( x - x )
y'(x)
x
2 x
x
x
1
0.2
0.1
0.01
0.001
2. Построить графики функций y( x0 )  F (x) .
3. Построить в новом окне три графика функций y( x ), y( x )аналит , y( x )числ .
Варианты функций приведены в табл.2.
Таблица 2
Вар.
Вид функции
Вар. Вид функции
-at
m
1
14
x(t)=Ae sin(t+b)
y=ctg (ax)
2
-at
15
3
cos(t+b)
ax 2  bx  c
y(x)=ln
a1 x 2  b1 x  c1
4
2
У(t)=cos ( at + b)
17
5
Y (t)=sin (at+b)
2
18
x(t)=Ae
6
s()=
a  cos 2 ( n )
n m
16
19
x(t)=t
-ax n
)
at
y(x)=(ax)
Sin ( bx )
y(x)=arctg
n
b  ax
b1  a1 x
t
S(t)= A - 2a
n
a  bx
)
c  dx
7
q(t)=(a-bt )
8
y(x)=x cos(ax)
21
9
y(x)= sin(mbx)
22
R()=arccos (a+b )
r()=c sin(a b )
a
b
x(t)= n  m
t
t
n
R()= sin m( )
cos ( )
23
y(x)=ln(tg (ax+b))
24
v(t)=log a (t +b )
25
S()=Asin (a+b)
26
x(t)=lg(at +b)
n
20
ax
y(x)=(e -e
n
y(x)=ctg (arcsin ln
m
n
x
10
11
12
13
n
S()=Вcоs (a+b)
x
n a
y=tg ( )
n
n
n
n
8
m k
Примечание. Значение параметров a,b,c,d,m,n,A,B выбрать самостоятельно.
Математическое описание. Производная функции определяется как предел отношения
приращения функции к приращению независимой переменной при стремлении к нулю
приращения независимой переменной
dy
y
.
 lim
dx x0 x
При численном определении производных заменим отношение бесконечно
малых
dy
y
приращений функций и аргумента (
) отношеним конечных разностей (
) . Очевидно,
x
dx
что чем меньше
будет приращение
аргумента, тем точнее численное значение
производной. Приращение аргумента будем задавать тремя способами, откладывая x
вправо, влево и в обе стороны от исследуемой точки. Соответственно получим три метода
численного дифференцирования:
dy y y( x  x)  y ( x)
метод 1
;


dx x
x
dy y y( x)  y( x  x)
метод 2
;


dx x
x
dy y y( x  x)  y( x  x)
метод 3
.


dx x
2x
Суть указанных методов проиллюстрированa на рис.1. Численное значение тангенса
угла  , образованного касательной к графику y(x) и осью абсцисс , показывает точное
значение производной (геометрический смысл производной). Тангенсы углов 1, 2, 3
соответствуют численным значениям производных, определенных методами 1,2,3
соответственно (подумайте почему ?).
Рис. 1
Содержание отчета:
1. Название, цель работы и задание.
2. Математическое описание, алгоритм (структограмма) и текст программы.
3. Таблица результатов расчета, четыре графика зависимости y( x0 )  F (x) для трех
численных методов и точного значения производной, выводы по работе .
4.В новом окне вывести три графика y( x ), y( x )аналит , y( x )числ .
9
Лабораторная работа №2
Численное интегрирование
Цель работы. Изучение методов численного интегрирования функции одной переменной.
b
Задание. 1. Bычислить
значение определенного интеграла I   f (x)dx
аналитически и
a
численно четырьмя методами для пяти значений N, где N- число разбиений интервала
интегрирования N=10; 20; 50; 100; 1000. Результаты расчета вывести на экран и распечатать
в виде таблицы (табл.3). Варианты интегралов приведены в табл. 4.
Таблица 3
N
Аналит.
Метод прямоуг. Метод
Метод
Метод
значение
1
прямоуг. 2
трапеций
Симпсона
10
20
50
100
1000
2. Построить графики функций I=F(N).
.
Таблица 4. Варианты интегралов
Вар. Вид интеграла
4
1
dx
x
Вар.
14
Вид интеграла
1
 ln(t  1)dt
3
1
2
0
9
 3 t dt
15
2

1
3
1
9
 3 x (1  x )dx
16
3

1
0
17
 /2
5
4
(1  t )dt
1 2t
18
 /9
6
2
19
 /9
20
 /2
21
 /2
4
2

1
dx
2x
2
 ( z  1) dz
3
e
x/3
dx
8

4
4  s2
0
dt
sin 2 (2t )
/8


dt
cos 2 (2t )
/8


 t sin(t )dt
0
8
sds
 t cos(t )dt
1
7
2  x 2 dx
0
dx
x 1
 t cos(2t
0
10
2
)dt
9
2 3

2
10
 cos
2
(3t )dt
0
t
 (2  3  
 /3
22
dx
4  x2
2
23
)d
1
e
(1  et )dt
t
1
0
11
 /3
1  tg 2 ( x)
dx
2

 / 4 (1  tg ( x))
24
ex  1
1 e x  1 dx
12
 /3
25
 /3
26
 /2
 sin(3x)dx
2
 cos(4t ) cos(2t )dt
0
13
1
0
dt
 1 e
 sin(2t ) cos(3t )dt
t
0
0
Математическое описание. Определенным интегралом функции f(x), взятом в интервале от а
n
до b, называется предел, к которому стремится интегральная сумма  f (xi )x при
i
i 1
стремлении всех промежутков  xi к нулю
 f (x)dx  lim f (x )xi
b
n
xi 0 i1
i
.
При приближенном вычислении
определенного интеграла шаг интегрирования  x
выбирается конечным. Заменяя подынтегральную функцию на каждом шаге отрезками линий
нулевого, первого и второго порядков, получаем приближенные формулы для вычисления
интеграла методами прямоугольников, трапеций и Симпсона соответственно
( x  const (i)  h )
a
i
 h(f a  f1  f 2  f 3  ...  f n 1 ) - метод прямоугольников 1
 h(f  f  f  ...  f  f ) - метод прямоугольников 2
b
 1 2 3
n 1
b
a f (x)dx  h(fa / 2  f1  f 2  ...  f n1  f b / 2) метод трапеций ,

 (h / 3)(f a  4f1  2f 2  4f 3 ...  4f n 1  f b ) - метод Симпсона
где h - шаг по x, f a , fi , f b - значения функции при х равном a, x i , b соответственно. Для метода
прямоугольников приведены две расчетные формулы, так как площадь прямоугольника на
каждом шаге интегрирования может определяться по левой или правой стороне. Суть метода
прямоугольников проиллюстрирована на рис.2, при этом площадь под кривой f(x) (вспомните
геометрический смысл определенного интеграла) заменена суммой площадей
заштрихованных прямоугольников.
11
Рис. 2
Cодержание отчета:
1. Название, цель работы и задание .
2. Математическое описание, алгоритм (структограмма) и текст программы.
3. Таблица результатов расчета, пять графиков зависимости I(N) для четырех численных
методов и точного значения интеграла, выводы по работе.
12
Лабораторная работа №3
Численное решение дифференциальных уравнений
Цель работы. Изучение численных методов решения дифференциальных уравнений.
Задание. 1. Решить дифференциальное уравнение аналитически и численно указанными
методами для значения шага интегрирования h= 0.001 . Результаты расчета вывести на экран
и распечатать в виде таблицы (табл.5). Варианты уравнений и методов их решения приведены
в табл. 6.
2. Построить графики функций y(x) (3 графика).
Таблица 5
Х
аналит.
Таблица 6
Вар. Вид уравнения
1
у'=(xy2+x)/(y-x2y)
2
у'=(1-2x)/y2
3
у'=(1-x2)/xy
4
у'=(y2-y)/x
5
у'=(1+y)/(tg(x)
6
у'=exp(x)-1
7
у'=y ln(y)/sin(x)
8
у'=(1+y2)/(1+x2)
9
у'=4x-2y
10
у'=x exp(-x2)-2xy
11
у'=2x-y
12
у'=exp(-x)-2y
13
у'=exp(-x)-2x
Решения уравнения, у(x)
Численное, h=0.001
метод 1
метод 2
Метод
1,4
2,4
3,4
1,5
2,5
3,5
1,4
2,4
3,4
1,5
2,5
3,5
1,4
Вар.
14
15
16
17
18
19
20
21
22
23
24
25
26
Вид уравнения
у'=cos(t)-y
у'=exp(bx)-ay
у'=-2y -6x)
у'=2x-y
у'= - y tg(x)
у'=(exp(x)-y)
у'=(1+y)/(x(x+1))
у'=(y+yx2)
у'=cos(x)y)
у'=3x-2y+5
у'=sin(x)-y
у'=exp(x)-y
у'=exp(2x)-1
Метод
3,5
1,4
2,4
3,4
1,5
2,5
3,5
1,4
2,4
3,4
1,5
2,5
3,5
Примечание. Начальные условия yx=xo=yo выбрать cамостоятельно.
Математическое описание. Дифференциальным уравнением первого порядка называется
уравнение вида F(x,y,у')=0 или у'=f(x,y). Функция y(x), при подстановке которой уравнение
обращается в тождество, называется решением дифференциального уравнения.
Рассмотрим несколько численных методов решения дифференциальных уравнений первого
порядка. Описание численных методов приводится для уравнения, представленного в
машинном виде у'=f(x,y). Расчетные зависимости для одного шага интегрирования имеют
следующий вид.
1.Метод Эйлера.
уi+1=уi+hf(xi,yi),
xi+1= xi +h.
2.Модифицированный метод Эйлера (вариант 1).
13
уi+1= уi+hf(xi +h/2,yi+hf(xi,yi)/2),
xi+1= xi +h.
3.Модифицированный метод Эйлера (вариант 2).
уi+1=уi+(h/2)[f(xi,yi)+f(xi,+h,yi+hf(xi,yi))],
xi+1= xi +h.
4.Метод Рунге-Кутта третьего порядка.
уi+1=уi+(k1+4k2+k3)/6,
k1=hf(xi,yi),
k2=hf(xi +h/2,yi+k1/2),
k3=hf(xi +h,yi+2k2-k1),
xi+1= xi +h.
5.Метод Рунге-Кутта четвертого порядка.
уi+1=уi+(k1+2k2+2k3+k4)/6,
k1=hf(xi,yi),
k2=hf(xi +h/2,yi+k1/2),
k3=hf(xi +h/2,yi+k2/2),
k4=hf(xi +h,yi+k3),
xi+1= xi +h,
где уi+1,уi - значения искомой функции в точках xi1+1, xi соответственно, индекс i показывает
номер шага интегрирования, h - шаг интегрирования. Начальные условия при численном
интегрировании учитываются на нулевом шаге: i=0, x=x0, y=y0 .
Содержание отчета:
1. Название, цель работы и задание.
2. Математическое описание, алгоритм (структограмма) и текст программы.
3. Результаты расчета, три графика зависимости y(x) и выводы по работе .
Лабораторная работа №4
Решение нелинейных уравнений
Цель работы. Изучение численных методов решения нелинейных уравнений.
Задание. Решить нелинейное уравнение указанными в табл.8 методами, предварительно
определив интервал [a,b], на котором существует решение уравнения. Сделать проверку
решения.
Варианты уравнений и методов их решения приведены в табл. 7.
Таблица 7. Варианты заданий
Вар.
Уравнение
Методы решения
1
x=exp(-x)
перебора и половинного деления
2
x=cos(x)
перебора и хорд
2
3
х=x -1
перебора и касательных
4
x=2exp(-x)
перебора и хорд5
x=exp(-3x)
перебора и половинного деления
6
x=3cos(x)
перебора и хорд
2
7
x=exp(-3x )
перебора и касательных
8
x=tg(x)+1
перебора и хорд9
x=cos(2x)
перебора и половинного деления
14
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
x=tg(2x)-1
x=exp(-3x)+1
x=exp(-x2)
x= ln(x)+2
x=exp(-3x)
x2=exp(-x2)
x=2exp(-3x)+1
x=exp(-x2)+2
x= ln(x)+3
x=3exp(-3x)
x2=exp(-x2)-1
x=exp(-3x2)
x=tg(x)-1
x=cos(2x)
x=tg(2x)-1
x=exp(-3x)+1
перебора и хорд
перебора и касательных
перебора и хордперебора и половинного деления
перебора и хорд
перебора и касательных
перебора и хордперебора и половинного деления
перебора и хорд
перебора и касательных
перебора и хорд
перебора и половинного деления
перебора и хорд
перебора и касательных
перебора и хорд
перебора и половинного деления
Математическое описание. Уравнение типа F(x)=0 или x=f(x) называется нелинейным. Решить
уравнение это значит найти такое x, при котором уравнение превращается в тождество. В
общем случае уравнение может иметь 0; 1; 2;... корней. Рассмотренные ниже численные
методы решения нелинейных уравнений позволяют находить один корень на заданном
отрезке [a,b]. При этом на выделенном интервале должен существовать только один корень.
Рассмотрим несколько численных методов решения нелинейных уравнений.
1. Метод перебора. При решении нелинейного уравнения методом перебора задаются
начальное значение аргумента x=х0 и шаг h, который одновременно определяет и точность
нахождения корней нелинейного уравнения. Пока выполняется условие F(x)*F(x+h)>0
аргумент x увеличиваем на шаг h (x=x+h). Если произведение F(x)*F(x+h) становится
отрицательным, то на интервале [x,x+h] существует решение уравнения. Структограмма
метода перебора приведена на рис. 3.
Ввод F(x), x0, h; x=x0
Пока F(x)F(x+h)>0
x=x+h
Рис. 3. Алгоритм (структограмма) решения
нелинейного уравнения методом перебора
Вывод x+h/2, F(x+h/2)
2. Метод половинного деления. При решении нелинейного уравнения методом половинного
деления задаются интервал [a,b], на котором существует только одно решение, и желаемая
точность . Затем определяется середина интервала с=(а+в)/2 и проверяется условие
F(a)F(c)<0. Если указанное условие выполняется, то правую границу интервала b переносим в
среднюю точку с (b=c). Если условие не выполняется, то в среднюю точку переносим левую
границу (а=с). Деление отрезка пополам продолжается покаb-a>. Структограмма решения
нелинейных уравнений методом половинного деления приведена на рис. 4.
15
Ввод F(x), a, b, eps
Пока |b-a|>eps
c=(a+b)/2
F(a)F(c)<0
да
b=c
Рис. 4. Алгоритм (структограмма)
решения нелинейного уравнения
методом половинного деления
нет
a=c
3. Метод хорд. При решении нелинейного уравнения методом хорд задаются интервал [a,b],
на котором существует только одно решение, и точность . Затем через две точки с
координатами (a,F(a)) и (b,F(b)) проводится отрезок прямой линии (хорда) и определяется
точка пересечения этой линии с осью абсцисс (точка c). Если при этом F(a)*F(c)<0, то правую
границу интервала переносим в точку с (b=c). Если указанное условие не выполняется, то в
точку с переносим левую границу интервала (а=с). Поиск решения прекращается при
достижении заданной точности F(c)<. Для определения точки пересечения хорды с осью
F (a )
сa 
(b  a )
F
(
a
)

F
(
b
)
абсцисс используется следующая формула
(попытайтесь получить
формулу самостоятельно). Структограмма метода хорд показана на рис. 5.
Ввод F(x), a,b,eps
с a
F(a)
b  a 
F(a)  F(b)
Пока |F(c)|>eps
с a
F(a)
b  a 
F(a)  F(b)
F(a)F(c)<0
нет
да
b=c
a=c
Рис. 5. Алгоритм (структограмма)
решения нелинейного уравнения
методом хорд
Вывод c, F(c)
4. Метод касательных. При решении нелинейного уравнения методом касательных задаются
начальное значение аргумента xo и точность .. Затем в точке (xo,F(xo)) проводится
касательная к графику F(x) и определяется точка пересечения касательной с осью абсцисс x 1. В
точке (x1,F(x1)) снова строится касательная, находится следующее приближение искомого
решения x2 и т.д. Указанную процедуру повторяется пока F(xi)>. Для определения
координаты точки пересечения касательной с осью абсцисс (xi+1) воспользуемся следующей
формулой
x i 1  x i 
F (xi )
F ( x i )
(получите формулу самостоятельно). Условие сходимости
16
метода касательных F(xo)* F  (xo)>0. Структограмма решения нелинейных уравнений
методом касательных показана на рис. 6.
Ввод F(x), F’(x), x0, eps; x=x0
Пока |F(x)|>eps
x  x
F(x)
F(x)
Рис. 6. Алгоритм (структограмма)
решения нелинейного уравнения
методом касательных
Вывод x, F(x)
5. Метод хорд-касательных. Если в методе касательных производную функции F'(xi) заменить
отношением конечных приращений, то получаем расчетную формулу для метода хордкасательных
xi 1  xi 
F ( xi )( xi  xi 1)
.
F ( xi )  F ( xi 1)
Порядок выполнения вычислений в данном
методе аналогичен рассмотренному ранее.
6. Метод итераций. При решении нелинейного уравнения методом итераций воспользуемся
записью уравнения в виде x=f(x). Для реализации метода итераций задаются начальное
значение аргумента xo и точность . Первое приближение решения x1 находим из выражения
x1=f(x0), второе - x2=f(x1) и т.д. В общем случае i+1 приближение найдем по формуле x i+1 =f(xi).
Указанную процедуру повторяем пока f(xi)-xi >. Условие сходимости метода итераций
f ( x)  1. Структограмма метода итераций показана на рис. 7.
Ввод f(x), x0, eps; x=x0
Пока |f(x)-x|>eps
Рис. 7. Алгоритм (структограмма)
решения нелинейного уравнения
методом итераций
x  f (x)
Вывод x, f(x)
Содержание отчета:
1. Название, цель работы и задание.
2. Математическое описание, алгоритм (структограмма) и текст программы.
3. Результаты расчета, проверка и выводы по работе .
17
Лабораторная работа №5
Колебание с одной степенью свободы. Численные методы решения системы
дифференциальных уравнений
Цель. Описание колебательной системы с одной степенью свободы на примере движения
грузика на пружинке или RLC цепи, изучение численных и аналитических методов решения
дифференциальных уравнений второго порядка и систем дифференциальных уравнений
первого порядка.
Задание. Численно и аналитически найти:
1. а) Три закона движения материальной точки на пружинке х(t) (четные
номера вариантов);
б) Три закона изменения тока в RLC цепи i(t) (нечетные номера
вариантов).
Построить найденные зависимости в виде графиков (три для аналитических и три
численных решений для исследованных режимов колебаний).
Варианты исследуемых режимов колебаний выбрать из табл. 8, 9.
Таблица 8. Режимы колебаний в системе с одной степенью свободы и значения параметров
уравнения (3), обеспечивающие эти режимы
Номер
Название режима и значения параметров уравнения (3), которые этот
режима
режим обеспечивают
1
Свободные незатухающие колебания (h=0; n=0)
2
Затухающее колебательное движение (h=0; n<k)
3
Апериодическое движение (h=0; n>k)
4
Предельное апериодическое движение (h=0; n=k)
5
Вынужденное колебание без сопротивления (h≠0; n=0; p≠k)
6
Вынужденное колебание без сопротивления, явление резонанса (h≠0; n=0;
k=p)
7
Вынужденное колебание с линейным сопротивлением (h≠0; n≠0; p2≠k2-n2)
8
Вынужденное колебание с линейным сопротивлением, явление резонанса
(h≠0; n≠0; p2=k2-n2)
Таблица 9. Варианты режимов
Вар.
Номера режимов
1
1, 2,5
2
1,3 ,6
3
1, 3,7
4
1,4 ,8
5
1, 2,8
6
1,4 ,7
7
1, 3,6
8
1,4 ,5
9
1, 3,8
10
1,3 ,5
Вар.
16
17
18
19
20
21
22
23
24
25
Номера режимов
1,2 ,6
1, 4,7
1,2 ,7
1, 2,5
1,4 ,6
1, 3,5
1,3 ,8
1, 4,5
1,3 ,6
1, 4,7
18
11
1, 4,6
12
1,2 ,7
13
1, 2,5
14
1,2 ,6
15
1, 4,7
Математическое описание
26
27
28
29
30
1,2 ,8
1, 4,8
1,3 ,6
1, 3,7
1,2 ,5
a) Движение материальной точки на пружинке. Считаем, что движение материальной точки
массой m на пружинке жесткостью с происходит в среде с линейным сопротивлением под
действием синусоидальной вынуждающей силы (рис. 8).
m
C
Рис. 8. Движение материальной точки на
пружинке
x
Уравнение движения материальной точки (второй закон Ньютона) с учетом действия силы
линейного сопротивления ( x ), силы упругости пружинки (  cx ) и внешней
синусоидальной силы ( F0 sin(pt) ) записывается следующим образом
mx  x  cx  F0 sin(pt) ,
(1)
где m=1+int(N/2) – масса материальной точки, β – коэффициент сопротивления, с=2+int(N/3) –
жесткость пружинки, х – координата точки, t – время, p – частота вынужденных колебаний,
F0=N – амплитуда силы, int – целая часть числа, N – номер варианта. Начальные условия,
значение параметров β и p выбираются самостоятельно с учетом рассматриваемого режима
(см. табл. 1, 2.).
б) Колебательный контур (RLC цепь), состоящий из активного сопротивления R, конденсатора
C, катушки индуктичности L, к которому приложено внешнее напряжение, показан на рис. 9.
R
L
C
Uosin(pt)
Рис. 9. Колебательный контур (RLC цепь)
Закон Ома для цепи переменного тока записывается в виде
Lq  Rq 
19
q
 U0 sin(pt) ,
C
(2)
где L=1+int(N/2) – индуктивность, R – активное сопротивление, C=2+int(N/3) – емкость
конденсатора, q – заряд, Uo=N – амплитуда напряжения, p – частота вынужденных колебаний,
q  i(t) – сила тока. Начальные условия, значения параметров R и p выбираются
самостоятельно с учетом рассматриваемого режима (см. табл. 1, 2.).
Уравнения (1) и (2) относятся к линейным неоднородным дифференциальным
уравнениям второго порядка. Для удобства дальнейшего анализа представим эти уравнения в
обобщенном виде, который традиционно используется при описании колебательных систем с
одной степенью свободы разной физической природы
q  2nq  k 2q  hsin(pt) ,
(3)
где q – обобщенная координата, k – собственная частота системы, n – параметр затухания,
h – амплитуда вынуждающего воздействия, p – частота вынужденных колебаний. В
дальнейшем при анализе численных методов будем использовать обобщенное уравнение
колебаний (3). В табл. 3 приведен алгоритм пересчета коэффициентов уравнений (1) и (2) для
их представления в виде (3).
Для численного решения уравнений (1), (2), (3) их необходимо привести к машинному
виду. Под машинным видом понимается запись, при которой каждое дифференциальное
уравнение разрешается относительно первой производной неизвестной функции, а в правой
части производных не содержится. Для приведения дифференциального уравнения (3) к
машинному виду предварительно вводятся следующие обозначения
y1  y; y2 
dy1
;
dx
x  t,
которые позволяют дифференциальное уравнение (3) преобразуется в систему двух
дифференциальных уравнений первого порядка, то есть к машинному виду
 dy1
 dx  f1(x, y1, y 2 )
.

dy
 2  f (x, y , y )
2
1
2
 dx
Таблица 10. Приведение уравнений (1) и (2) к обобщенному виду (3)
и к машинному виду (4)
Вид уравнений
mx  x  cx  F0 sin(pt)
Lq  Rq 
q

 2
 U0 sin(pt) q  2nq  k q  hsin(pt)
C
Пересчет коэффициентов для представления уравнений (1) и (2) в обобщенном виде (3)
20
(4)

n
2m
c
k2 
m
F
h 0
m
pp
nn
R
2L
1
k2 
CL
U
h 0
L
pp
n
k2  k2
hh
pp
Введение новых машинных обозначений
y1  x
y1  q
y1  q
y2  v
y 2  q  i
y 2  q
xt
xt
xt
Представление обобщенного уравнения (3) в машинном виде
 dy1
 dx  f1(x, y1, y2 )  y2

 dy2  f (x, y , y )  2ny  k 2 y  h sin(px)
2
1
2
2
1
 dx
Для нахождения аналитического решения уравнения (3) используются методы и
подходы курса высшей математики, которые не входят в круг вопросов, рассматриваемых в
данном пособии. Для численного решения системы (4) рекомендуется использовать один их
двух методов: метод Эйлера или метод Рунге-Кутта четвертого порядка. В приведенных далее
формулах для программной реализации этих методов индекс, показывающий номер шага
интегрирования, опускается, что лишает их некоторой математической строгости, но
приближает форму их записи к программному коду.
Решение системы дифференциальных уравнений первого порядка
Система двух дифференциальных уравнений первого порядка для численного решения
представляется в виде
 dy1
 dx  f1(x, y1, y 2 )

 dy2  f (x, y , y )
2
1
2
 dx
Методы решения
1. Метод Эйлера.
у1=у1 +h f1(x, y1, y2),
у2=у2 +h f2(x, y1 ,y2),
x=x+h.
2. Метод Рунге-Кутта четвертого порядка.
21
k11=h*f1(x,y1,y2);
k21=h*f2(x,y1,y2);
k12=h*f1(x+h/2,y1+k11/2,y2+k21/2);
k22=h*f2(x+h/2,y1+k11/2,y2+k21/2);
k13=h*f1(x+h/2,y1+k12/2,y2+k22/2);
k23=h*f2 (x+h/2,y1+k11/2,y2+k21/2);
k14=h*f1(x+h,y1+k13,y2+k23);
k24=h*f2(x+h,y1+k13,y2+k23);
y1=y1+(k11+2*k12+2*k13+k14)/6;
y2=y2+(k21+2*k22+2*k23+k24)/6;
x=x+h,
где kij – коэффициент, первый индекс которого (i) соответствует номеру уравнения в системе
(4) или номеру искомой функции, а второй индекс (j) показывает номер коэффициента, h –
шаг интегрирования. Начальные условия при выполнении численного решении учитываются
на первом шаге интегрирования: x=x0, y1=y10, y2=y20. Интегрирование уравнения выполняется
до достижения аргументом x некоторого конечного значения xk, которое рекомендуется
выбирать равным трем периодам колебаний
xk=3T=6/k,
где T =2/k – период колебаний.
Список литературы
1. Поршнев, С.В. MATLAB 7. Основы работы и программирования. Учебник. –М.: Бином,
2011.–320с.
2. Поршнев, С.В. Компьютерное моделирование физических процессов в пакете MATLAB.
Учебное пособие. СПб.: Издательство «Лань», 2011. – 736 с.
3. Самарский, А. А. Введение в численные методы: учебное пособие для вузов. – СПб: Лань,
2005. – 288 с.
4. Волков, Е.А. Численные методы. Учебное пособие. – СПб.: Лань, 2007. – 256 с.
5. Пекунов, В. В. Вычислительная математика. Интерполяция, интегралы, нелинейные
уравнения и системы. Учебное пособие / В. В. Пекунов, Ф. Н. Ясинский. – Иваново: 2008. –
108 с.
22
ПРИЛОЖЕНИЕ 1. Краткие сведения по языку программирования в среде МATLAB
1.Общие сведения
Система МATLAB (матричная лаборатория) – это одновременно и операционная среда и язык
программирования. Команды операционной среды совпадают с командами языка
программирования. Первая версия программы появилась в конце 70-х годов. Позднее
появилось много приложений, например, Simuling, Simbolic Mathematics Toolbox, Neural
Networks, Fuzzy logic и другие.
2.Основные правила программирования
 Программа состоит, как правило,из трех частей
Ввод исходных данных
Расчет
Вывод результатов
 Каждая часть программы состоит из операторов. Разделительный знак «точка с запятой»
ставится между операторами, чтобы не выводить на экран результаты промежуточных
вычислений
 После символа «%» в тексте программы размещаются комментарии, которые
игнорируются при выполнении программы.
3.Требования к идентификатору
 Состоит из латинских букв и цифр, начинается с буквы
 Прописные и строчные буквы различаются
 Нельзя в качестве идентификатора использовать служебные слова
4.Команды ввода исходных данных
 а=2 %
 M=[1 3 5 1]
 M2=[2 3; 3 2]
 x=1:5
 y=2:.1:3
 a=(1:.1:2) %строка из 11 элементов
 b=(1:.1:5)’ %столбец из 41 элементов
5. Арифметические операторы с указанием уровней приоритетов
уровень 1
 ^ % возведение в степень
 .^ % поэлементное возведение в степень
 ‘ % транспонирование
уровень 2
 * % умножение чисел (матриц согласованного размера)
 .* % поэлементное умножение матриц одинакового размера
 / % деление
 ./ % правое поэлементное деление матриц
23

.\ % левое поэлементное деление матриц
уровень 3
 + %сложение чисел (матриц согласованного размера)
 - %вычитание чисел (матриц согласованного размера)
уровень 4
 : %оператор формирования массивов
Пример
записи
арифметических Результат выполнения
операторов
a=2
a= 2
b=4
b= 4
a/b
ans = 0.5000
a\b
ans = 2
c=a*b
c=
8
A=[1 2
A= 1 2
-1 0]
-1 0
B=[2 1
B= 2 1
-1 1]
-1 1
C=A*B
C= 0 3
-2 -1
D=A.*B
D= 2 2
1 0
M=A/B
M = 1.0000 1.0000
-0.3333 0.3333
N=B\A
N = 0.6667 0.6667
- 0.3333 0.6667
K=A./B
K = 0.5000 2.0000
1.0000
0
6. Операторы отношения
 <
 <=
 >
 >=
 ==
 ~=
7.Логические операторы
 &%И
 | % ИЛИ
 ~% НЕ
8.Оператор условия if elseif else end
24
Форма записи
Алгоритм выполнения
if (усл)
P1
Еnd
Условие
Да
Нет
P1
if (усл)
P1
else
P2
еnd
if (усл)
P1
elseif (усл1)
P2
else
P3
еnd
Условие
Да
Нет
P1
P2
Условие
Да
Нет
P1
Условие
Да
Нет
P2
9.Оператор цикла:
с неопределенным числом операций while..end
Форма записи
Алгоритм выполнения
while <усл>
Условие
P1
P1
end
оператор цикла с определенным числом операций for..end
Форма записи
Алгоритм выполнения
for <пер.цикла>=<н.зн.>:<шаг>:<к.зн.>
Условие
P1
P1
end
10.Операторы встроенных функций
 abs(x)
 acos(x)
 sin(x)% аргумент указывается в радианах или sind(x) аргумент – в градусах
 asin(x)
 cos(x)
 acos(x)
 tan(x)
 atan(x)
 cot(x)
 acot(x)
 log(x)
 log2(x)
25
P3























log10(x)
exp(a) % поэлементное вычисление exp
sqrt(a)% поэлементное вычисление корня квадратного
a^p % возведение в степень
a.^p % поэлементное возведение в степень
round(x) % округление %round(10.6) = 11
floor(x) %округление до меньшего целого % floor(10.6)=10
mod % oстаток от деления с учетом знака %mod(10,3) = 1
sum(a) % суммирование элементов вектора (или матрицы по столбцам)
cumsum(a) % кумулятивное суммирование элементов вектора
max(а)
min(а)
mean(а)
rand(3,4) % генерация матрицы случайных чисел размером 3*4
a=[] % стирает матрицу
zeros(3,4) % заполнение нулевой матрицы размером 3*4
diag(a) %диагональная матрица
tril(a) %-треугольная левая матрица
triu(a) %-треугольная правая матрица
inv(a) %-обращение матриц
a(1,:) %первая строка матрицы
b(:,3)% третий столбец матрицы
с(1:2,1:10)% блок матрицы
11.Графика
 plot(x,F)
 plot(x,F,x1,F1)
 plot(x,F,x1,F1,’+’)
 bar(x,F)
 plot3(x,y,z)
 loglog
 semilogx
 semilogy
 mesh
 figure
 subplot(3,3,1)
 hold on
 hold of
 title(‘заголовок’)
 xlabel
 ylabel
 zlabel
 y,m,c,r,g,b,w,k %цвет линии
 . o + * - :v < > %тип маркера и линии
26

text(x,y,’text’)
12.Создание функции пользователя
Пример создания функции F(x)=x*x
Вариант 1. Описание и сохранение функции в отдельном файле F.m
function y=F(x); %. заголовок функции
y=x*x; % описание возвращаемых параметров функции
end % завершение описания функции,
Вариант 2. Описание функции в тексте программы
F = @ (x) x*x; %описание функции в тексте программы
F(3) % При обращении к функции, получаем 9
13. Начало работы. Запуск и выполнение элементарных операций
При запуске MATLAB, как правило, открывается интерфейс, который содержит меню,
панель инструментов и два окна – командное окно (Command Window) и окно рабочего
пространства (Workspace). В случае если командное окно или окно рабочего пространства
отсутствует, их можно активизировать во вкладке меню “View”. Команды вводятся в
диалоговом режиме непосредственно в командное окно. Например, для того чтобы
вычислить значение sin(300) , надо в командном окне набрать текст sin(pi/6) и нажать клавишу
Enter. На экране появится ответ ans=0.5. Если мы хотим построить график функции y=sint на
интервале 0  t 10 , то сначала следует сформировать массив значений аргумента (для этого
в командном окне набираем t=0:.1:10;), а затем набрать текст y=sin(t); plot(t, y).
Разделительный знак «точка с запятой» ставится, чтобы не выводить на экран результаты
промежуточных вычислений. После нажатия Enter в графическом окне появится график
синусоиды. При желании его можно снабдить надписями и нанести координатную сетку
(команда grid). В дальнейшем обе переменные t, y (каждая из них представляет собой массив
из 101 числа) сохраняются в рабочем пространстве MATLAB и доступны для использования.
Вместо того чтобы набирать команды в окне MATLAB, их можно записать в текстовый файл с
расширением .m (он называется m-файл или файл-сценарий). Имя файла может быть любым,
например, LR1.m. Для того чтобы запустить файл сценарий, достаточно набрать его имя (без
расширения) в командном окне: >> LR1. Чтобы MATLAB «увидел» файл, либо помещайте его в
стандартный рабочий каталог, например C:\MATLAB \work\, либо укажите путь к нему. В
разобранном примере использовалась функция sin. Заметим, что аргумент функций sin, cos
должен указываться в радианах, если задавать его в градусах (degree), то надо использовать
команды sind, cosd (впервые они появились в MATLAB 7). Например, sin(pi/6) и sind(30) дадут
один и тот же результат ans=0.5000. Аргументом каждой из функций может быть число или
вектор (набор чисел, массив). Например, набрав sind([0, 30, 90]) получим ans=0 0.5000 1.0000.
Для оперативного получения справок об этих и других командах используется команда help.
14.
Построение графиков в среде MATLAB
Основное средство для построения графиков в MATLAB – это команда plot и различные
ее модификации. Стандартный вариант ее вызова – это plot(x,y), где x и y – два массива чисел,
содержащие абсциссы и ординаты точек графика функции y = f(x). В случае, если вызов
команды plot производится с одним аргументом в формате plot(y), координатами x служат
27
индексы массива y. Для того чтобы снабдить рисунок координатной сеткой, используется
команда grid. Вызов ее без параметров осуществляет переключение режимов «с сеткой»/«без
сетки». Иногда на одном графике требуется нарисовать несколько кривых. В этом случае в
команде plot указывают несколько пар аргументов (по числу функций) plot(х1, у1, х2, у2, ..., хn,
уn), где х1, у1; 11 х2, у2 и т.д. – пары векторов. Каждой паре х, у будет соответствовать свой
график, при этом они могут быть заданы векторами разной длины. После того как график
выведен на экран, его можно озаглавить, обозначить оси, сделать текстовую разметку, для
чего используются команды title, xlabel, ylabel, text. Например, чтобы нанести обозначения
осей на последний график, надо набрать xlabel('x'), ylabel('y').
В команде plot в одиночных кавычках можно использовать дополнительный аргумент,
указывающий тип символов, используемых для построения графика. Так, plot(X,Y,'x')
вычерчивает точечный график, используя символы x (крестики), тогда как
plot(X1,Y1,':',X2,Y2,'+') использует символ двоеточия для первой кривой и символ + для втоpой.
Цвет линий также может задаваться пользователем. Например, команды plot (X,Y,'r') и plot
(X,Y,'+g') используют красную линию для получения первого графика и зеленые + метки для
второго. Справку о возможных вариантах типов линий, точек и цветов можно получить,
набрав help plot. Команда plot строит графики на плоскости. MATLAB позволяет также
наглядно изображать линии и поверхности в трехмерном пространстве. Для изображения
линий в пространстве используется команда plot3.
ПРИЛОЖЕНИЕ 2. Технология программирования
Технология программирования включает пять технологических операций (этапов):
1. Постановка задачи.
2. Математическое описание.
3. Разработка алгоритма (структограммы).
4. Написание текста программы.
5. Отладка, получение результатов.
ПРИЛОЖЕНИЕ 3. Структурное программирование
Структурное программирование  это стиль программирования, позволяющий разрабатывать
хорошо структурированные программы.
Основные положения структурного программирования:
1. Программа разбивается на блоки, каждый из которых имеет один «вход» и один «выход».
2. Любая программа может быть составлена из трех структур или блоков, которые
представлены в таблице.
3. Алгоритмы при структурном программировании представляются в виде структоргамм,
элементы написания которых также приведены в табл.П3
Таблица П3.Основные типы структур и примеры их изображения в структограммах
28
Название
Алгоритм
Блок-схема
Структограмма
а) линейная структура
Р1
Р1
Р2
Р2
б) ветвящаяся структура
в) циклическая структура:
с предусловием
условие
P1
с постусловием:
P1
условие
ПРИЛОЖЕНИЕ 4. Пример написания текста программы контрольной работы
Задание
1.Для 8 значений x из диапазона 5..8 заполнить и распечатать массив y[i]
 (cos(x), x  6
y[i]  
x6
ln(x),
Построить график функции y(x).
Определить cр. арифметическое y[i]<2.
Определить cр. геометрическоеt abs(x[i])>6.
Определить максимальное значение y[i]<1
Определить минимальное значение x[i]>6
Текст программы
29
function kr
for i=1:8
x(i)=5+3*rand
if x(i)<=6
y(i)=cos(x(i));
else
y(i)=log(x(i));
end
end
[x' y']
plot(x,y,'*')% Построение графика функции y(x)
A=0;n=0;
for i=1:8
if y(i)<=2
A=A+y(i);
n=n+1;
end
end
A=A/n; %Определение cр. арифметическое
[A]
P=1;k=0;
for i=1:8
if x(i)>6
P=P*x(i);
k=k+1;
end
end
P=P^(1/k);% Определение cр. геометрическоеt
[P]
MaxY=-10;
for i=1:8
if (y(i)>MaxY)&(y(i)<1)
MaxY=y(i);
end
end
[MaxY]
MinX=10;
for i=1:8
if (x(i)<MinX)&(x(i)<6)
MinX=x(i);
end
end
[MinX]
end
Результат выполнения
30
x
y
7.2119 1.9757
5.4096 0.6420
5.0353 0.3173
7.6817 2.0388
5.5974 0.7739
5.8962 0.9260
6.9843 1.9437
5.8532 0.9090
A = 1.0697
P = 2.7968
MaxY = 0.9260
MinX = 5.0353
2.2
2
1.8
1.6
y
1.4
1.2
1
0.8
0.6
0.4
0.2
5
5.5
6
6.5
7
x
31
7.5
8
Download