Лабораторная работа 6
РАЗВЕТВЛЯЮЩИЕСЯ ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕССЫ
В СРЕДЕ MATHCAD
Mathcad выполняет операторы программ в естественном порядке сверху вниз (линейный вычислительный процесс). Однако при необходимости в программе может быть организовано разветвление. Этого можно добиться с помощью кусочно-непрерывной функции if или используя оператор if .
Использование условной функции if .
Функция if используется для определения функциональных зависимостей, которые ведут себя по разному слева и справа от некоторой точки:
if (cond, tval, fval)
где cond (условие) - первый аргумент функции if. Если значение cond истина (или 1), то результатом будет значение второго аргумента tval(true value) , иначе, если cond ложь ( или 0) будет вычислено значение третьего аргумента fval(false value). Обычно в качестве cond используют одно из булевых выражений:
w=z ( Ctrl + = )
x>y ( > ) - больше чем.
x<y ( < ) - меньше чем.
x?y ( Ctrl + O ) - больше либо равно.
x?y ( Ctrl + 9 ) - меньше либо равно.
w?z ( Ctrl + 3 ) - не равно,
где - w и z - комплексные числа, x и y - вещественные.
Значение булевого выражения будет равно 1, если условие выполняется, и 0 в противном случае.
Порядок выполнения работы
Задание.
Вычислить значения кусочно-непрерывных
функций g(x) и h(x):
и
где xI [-2; 2], Dx = 0,2 , f(x) = x2 - 1.
Построить графики функций g(x) и h(x).
Указания:
1. Ввести переменную x и символ присваивания := (Shift+;).
2. Задать изменение аргумента x с шагом 0,2:
x:= -2, 1.8 .. 2
3. Записать выражение для функции f(x):
f(x):= x2 - 1
4. Ввести кусочно-непрерывную функцию g(x). Для этого необходимо открыть меню Математика , выбрать команду Вставить функцию и выделить в диалоговом окне функцию if( , , ). Дважды щелкнуть по ней и закрыть окно, нажав кнопку Отмена . Функция g(x) должна быть оформлена в следующем виде:
g(x) := if(f(x)>0 , f(x) ,0)
Такая запись означает, что g(x) = f(x), когда f(x)>0 , иначе g(x) =0.
5. Вывести результаты вычислений в таблицу.
6. Ввести кусочно-непрерывную функцию h(x):
h(x) := if(x? 0 , f(x) , -f(x))
7. Вывести результат в виде таблицы на экран монитора.
8. Построить графики функций.
Использование условного оператора if .
Главным различием между функцией if и оператором if является способ задания вычислений. Использование оператора if является более наглядным.
Задание. Вычислить значения кусочно-непрерывной функции f(x):
где xI [-2; 2], Dx = 0,2.
Построить график функции f(x).
Указания:
1. Введите левую часть определения функции f(x), символ присваивания := и удостоверьтесь в том, что появилось поле ввода:
2. Нажмите кнопку Add Line на панели программирования или клавишу ] . Появится вертикальный столбец с полями ввода для операторов программы:
3. Перейдите в верхнее поле ввода и щелкните по кнопке if на панели программирования, либо нажмите } :
4. Правое поле предназначено для логического выражения. Левое поле - для значения, которое будет иметь выражение, если логическое поле в правой части истинно:
5. Выделите оставшееся поле ввода и нажмите кнопку otherwise на панели программирования:
6. Введите в оставшееся поле выражение, которое программа должна вычислить в случае, если логическое выражение ложно:
7. Результаты вычислений выведите на экран монитора в виде таблицы.
8. Постройте график функции f(x).
Использование оператора if для построение функции распределения случайной величины.
Распределение случайной величины обычно задают в виде следующей таблицы:
x | x1 | x2 | ..... | 2233 | ..... | xn |
p | p1 | p2 | ..... | pi | ..... | pn |
где x1< x2<...< xi<...< xn - значения дискретной случайной величины с вероятностями (частотой события) p1, p2, ..., pi, ..., pn .
Функция распределения случайной величины (накопления вероятностей) имеет вид:
Задание. Построить график функции накопления случайной величины имеющей следующее распределение:
x |
1 |
0 |
7 |
4 |
-2 |
p |
0.1 |
0.5 |
0.1 |
0.1 |
0.2 |
Указания:
1. Вводим матрицу A, определяющую распределение случайной величины. Задаем первый номер строки (столбца) командой:
ORIGIN := 1
Вводим обозначение матрицы A,
затем нажимаем клавиши Shift + : .
Нажимаем кнопку ввода матрицы ,
определяем число строк Rows и
количество столбцов Columns,
соответственно 2 и 5. Нажимаем OK .
A:=
В первую строку A1i (i = 1, ..., 5) вводим значения случайной величины. Во вторую строку - вероятности.
2. Строим функцию
распределения. Открываем панели Программные
элементы ( кнопка ) и Равенства
и отношения ( кнопка
).
Вводим имя функции и символ присваивания:
В панели программных инструментов нажимаем кнопку Add Line (добавить линию):
В помеченную позицию вводим 0.
Нажимаем кнопку if и вводим неравенства, определяющие первый интервал изменения аргумента:
Символ бесконечность
вводим из панели
Переходим во вторую строку определителя функции и вводим A2.1 - имя переменной содержащей значение p1 = 0.2 . Выделяем выражение для функции нажимая <Space> . Щелкаем по кнопке if , вводим неравенства определяющие второй интервал аргумента. Знаки вводим из Панели отношений . Выделяем, нажимая клавишу <Space>, вторую строку определения функции, щелкаем по кнопке Add Line и проводим, действия, как описано выше для определения функции на следующем интервале. Действуя аналогично для других строк строим функцию:
F(x) :=
3. Строим график функции распределения стандартным способом.
Щелкаем по свободному месту
в рабочем документе, затем
открываем Панель графиков (кнопка
), нажимаем кнопку
График
и
устанавливаем курсор возле оси
абсцисс. Вводим имя аргумента - x
. Щелкаем возле оси ординат и вводим
f(x). Щелкаем вне
прямоугольной рамки.
Применение условного оператора в задачах
разложения кусочно-непрерывных функций в ряд Фурье.
Для непрерывной периодической функции f(x) на отрезке [-p, p] можно поставить в соответствие ряд частичных сумм Фурье S(x): f(x)~ S(x).
Вычисление частичных сумм ряда Фурье выполняют по формуле:
где ak и bk - коэффициенты Фурье, которые вычисляют по формулам Эйлера - Фурье:
Цель работы. Исследовать графически поведение частичных сумм ряда Фурье заданного кусочно-непрерывной функцией f(x). Вычислить значение суммы ряда Фурье в указанных точках и на границах интервала -p, p.
Задание. Построить график f(x). Построить графики частичных сумм для n = 1, 2, 5, 10, 50 : S(x, 1), S(x, 2), S(x, 5), S(x, 10), S(x, 50) и сравнить их между собой и с графиком f(x). Для x = p / 2 (точка непрерывности) построить график частичной суммы S(p / 2, n). Вычислить значения частичных сумм ряда Фурье для n = 10, 20, 50 в точках x= -p, 0, p / 2, p .
Функция f(x) имеет следующий вид:
Указания:
1. Открыть панели
инструментов, нажав на кнопки ,
,
,
.
2. Ввести функцию f(x).
3. Нажать кнопку := на калькуляторе.
4. В панели программирования щелкнуть по кнопке Add Line . Появляется вертикальная черта с двумя строками ввода.
5. Перейти в первую строку. Щелкнутьо кнопке if . Появляется оператор if . В левое поле ввода записываем выражение для вычисления функции, справа ограничения на аргумент.
6. При вводе выражений использовать панели калькулятора, знаков отношений и греческого алфавита.
7. Ввести n := 50 и k := 0 .. n .
8. Ввести a, нажать < [ > (знак нижнего индекса) и k - получим ak. Ввести := и выражение для ak .
9. Аналогично ввести bk .
10. Ввести выражение для вычисления сумм ряда Фурье S(x, n).
11. Задать таблицу значений аргумента x на отрезке [-p, p] с шагом p / 100 : x := -p, -p + p / 100 .. p .
12. Ввести имя частичной суммы, указав в скобках нужные значения аргументов, и нажать < = >. На экране отобразятся значения функции в точках.
Задание. Вычислить производную 1-го порядка для функции f(x). Построить графики производных функции f(x).
Указания:
1. Все операции выполнять так же как в предыдущих заданиях.
2. Для ввода символа
производной открываем панель и
нажимаем кнопку
.
3. В результате ввода
получаем на экране выражение для
функции f(x) в следующем виде:
f?(x) :=
Строим график функции f(x)
для значений аргумента
Задание. Выполнить аналитическое вычисление коэффициентов Фурье.
Указания:
1. Для получения аналитических выражений коэффициентов Фурье копируем в рабочий документ формулы для вычисления и выделяем их.
2. Открываем панель Ключевые
слова символьных вычислений
нажимаем кнопку Преобразовать
и щелкаем по
рабочему документу правее и ниже
стрелки.
3. В результате ввода получаем на экране следующие выражения:
4. Используя полученные аналитические выражения для коэффициентов Фурье, выполнить их вычисление.
5. Сравнить результаты вычислений с ранее полученными.
6. Подготовить отчет в виде экранных форм.