Лабораторная работа 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. Подготовить отчет в виде экранных форм.