Табулирование функций (составление таблиц значений функций)
Данная задача широко используется в экологии, теплофизике и других дисциплинах. Обычно функции, описывающие какой-либо процесс, весьма громоздки и создание таблиц их значений требует большого объема вычислений.
Рассмотрим два случая табулирования функции:
1. С постоянным шагом изменения аргументов.
2. С произвольным набором значений аргумента.
Алгоритм реализуется путем организации какого-либо цикла.
Пример 1. Вычислить
при R = 4.28 × 10-2; l = 2.87;
хi изменяется с шагом Dх = 2; хп = 2; хк = 10.
Для греческого символа l ведем обозначение la = 2.87.
Протокол программы:
R = 4.28е-02; la = 2.87;
% Задается начальное значение х, шаг dx и конечное значение х
х = 2.0 : 2.0 : 10.0;
Математическая операция возведения в степень .^ выполняется поэлементно, ей предшествует точка.
В итоге будет выведена горизонтальная таблица из двух строк, где значения у будут располагаться под значениями x. Если в квадратные скобки массива подставить транспонированные векторы [x',y'], то таблица будет располагаться вертикально.
Если требуются только величины y, обозначение массива не ставится, убирается после формулы точка с запятой. В командном окне появляются после нажатия кнопки «Enter» значения функции у, которые затем можно скопировать в какой-либо файл.
Результаты вычислений:
ans =
2.0000 | 4.0000 | 6.0000 | 8.0000 | 10.0000 |
0.0682 | 0.1634 | 0.2517 | 0.3386 | 0.4250 |
Пример 2. Вычислить и вывести на экран значения функции
при х1 = 12.8; х2 = 23.4; х3 = 27.2; х4 = 17.8; х5 = 16.3; х6 = 14.9; а = 1.35; b = 0.98.
Данную задачу можно программировать, не изменяя обозначений переменных. Цикл организуется для одномерного массива; он начинается выражением «for m=1:6» заканчивается словом «end».
Протокол программы:
а = 1.35; b = 0.98;х(1) = 12.8; х(2) = 23.4; х(3) = 27.2;х(4) = 17.8; х(5) = 16.3; х(6) = 14.9;
Если в конце формулы, задающей у, не ставить точку с запятой, то получим
y =
0.3609
y =
0.2327
y=
0.1473
y =
0.1800
y =
0.1771
y =
0.1658 .
Результаты вычислений можно вывести в виде горизонтальной таблицы для пары x и y, если заменить y на y(m), а после «end» ввести обозначение массива [x; y],
12.8000 23.4000 27.2000 17.8000 16.3000 14.9000
0.3609 0.2327 0.1473 0.1800 0.1771 0.1658
Вертикальную таблицу парных значений можно получить, если в массиве указывать транспонированные векторы через пробел [x' y'] или через запятую [x', y']
12.8000 0.3609
23.4000 0.2327
27.2000 0.1473
17.8000 0.1800
16.3000 0.1771
14.9000 0.1658
Варианты заданий
Составить программу вычисления значений функции уi для значений аргумента хi. Данные взять из таблицы 2.1.
Таблица 2.1
№ п/п | Функция yi = f(xi) | Задача А | Задача В | |||||||||
a | в | xH | xK | Dx | x1 | x2 | x3 | x4 | x5 | |||
- | 2.5 | 1.28 | 3.28 | 0.4 | 1.1 | 2.4 | 3.6 | 1.7 | 3.9 | |||
1.35 | 0.98 | 1.14 | 4.24 | 0.62 | 0.35 | 1.28 | 3.51 | 5.21 | 4.16 | |||
2.0 | 0.95 | 1.25 | 2.75 | 0.3 | 2.2 | 3.78 | 4.51 | 6.58 | 1.2 | |||
- | - | 1.25 | 3.25 | 0.4 | 1.84 | 2.71 | 3.81 | 4.56 | 5.62 | |||
- 2.5 | 3.4 | 3.5 | 6.5 | 0.6 | 2.89 | 3.54 | 5.21 | 6.28 | 3.48 | |||
- | - | 0.2 | 2.2 | 0.4 | 0.1 | 0.9 | 1.2 | 1.5 | 2.3 | |||
Продолжение таблицы 2.1
№ п/п | Функция yi = f(xi) | Задача А | Задача В | |||||||||
a | в | xH | xK | Dx | x1 | x2 | x3 | x4 | x5 | |||
0.4 | 0.8 | 3.2 | 6.2 | 0.6 | 4.48 | 3.56 | 2.78 | 5.28 | 3.21 | |||
1.2 | 0.48 | 0.7 | 2.2 | 0.3 | 0.25 | 0.36 | 0.56 | 0.94 | 1.28 | |||
1.1 | 0.09 | 1.2 | 2.2 | 0.2 | 1.21 | 1.76 | 2.53 | 3.48 | 4.52 | |||
0.05 | 0.06 | 0.2 | 0.95 | 0.15 | 0.15 | 0.26 | 0.37 | 0.48 | 0.56 | |||
2.0 | 3.0 | 0.11 | 0.36 | 0.05 | 0.08 | 0.26 | 0.35 | 0.41 | 0.53 | |||
1.6 | - | 1.2 | 3.7 | 0.5 | 1.28 | 1.36 | 2.47 | 3.68 | 4.56 | |||
4.1 | 2.7 | 1.2 | 5.2 | 0.8 | 1.9 | 2.15 | 2.34 | 2.73 | 3.16 | |||
7.2 | 4.2 | 1.81 | 5.31 | 0.7 | 2.4 | 2.8 | 3.9 | 4.7 | 3.16 | |||
- | - | 0.26 | 0.66 | 0.08 | 0.1 | 0.35 | 0.4 | 0.55 | 0.6 | |||
2.0 | 1.1 | 0.08 | 1.08 | 0.2 | 0.1 | 0.3 | 0.4 | 0.45 | 0.65 | |||
0.1 | 0.5 | 0.15 | 1.37 | 0.25 | 0.2 | 0.3 | 0.44 | 0.6 | 0.56 | |||
2.5 | 4.6 | 1.1 | 3.6 | 0.5 | 1.2 | 1.28 | 1.36 | 1.46 | 2.35 | |||
2.0 | - | 1.2 | 4.2 | 0.6 | 1.16 | 1.32 | 1.47 | 1.65 | 1.93 | |||
0.8 | 0.4 | 1.23 | 7.23 | 1.2 | 1.88 | 2.26 | 3.84 | 4.55 | -6.21 | |||
- | - | 0.11 | 0.36 | 0.05 | 0.2 | 0.3 | 0.38 | 0.43 | 0.57 | |||
2.25 | - | 1.2 | 2.7 | 0.3 | 1.31 | 1.39 | 1.44 | 1.56 | 1.92 | |||
4.1 | 2.7 | 1.5 | 3.5 | 0.4 | 1.9 | 2.15 | 2.34 | 2.74 | 3.16 | |||
7.2 | 1.3 | 1.56 | 4.71 | 0.63 | 2.4 | 2.8 | 3.9 | 4.7 | 3.16 | |||
- | - | 0.22 | 0.92 | 0.14 | 0.1 | 0.35 | 0.4 | 0.55 | 0.6 | |||
Продолжение таблицы 2.1
№ п/п | Функция yi = f(xi) | Задача А | Задача В | |||||||||
a | в | xH | xK | Dx | x1 | x2 | x3 | x4 | x5 | |||
2.0 | 4.1 | 0.77 | 1.77 | 0.2 | 1.24 | 1.38 | 2.38 | 3.21 | 0.68 | |||
0.1 | 0.5 | 0.33 | 1.23 | 0.18 | 0.5 | 0.36 | 0.40 | 0.62 | 0.78 | |||
2.5 | 4.6 | 1.15 | 3.05 | 0.38 | 1.2 | 1.36 | 1.57 | 1.93 | 2.25 | |||
2.0 | - | 1.08 | 1.88 | 0.16 | 1.16 | 1.35 | 1.48 | 1.52 | 1.96 | |||
0.8 | 0.4 | 1.42 | 3.62 | 0.44 | 1.6 | 1.81 | 2.24 | 2.65 | 3.38 | |||