Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБ_РАБ_a5_1.doc
Скачиваний:
27
Добавлен:
09.04.2015
Размер:
3.86 Mб
Скачать

Лабораторная работа № 6 «Программирование в MathCad»

Цель работы:Познакомить читателя с возможностями программирования в системеMathCad.

Рекомендуемая литература: [1-4, 7].

Задание:

  1. С помощью условного оператора создать формулу для вычисления значений функции двух переменных.

  2. Построить поверхность, заданную формулой из пункта 1..

  3. С помощью циклического оператора вычислить 10 значений ряда.

  4. Вычислить сумму и произведение элементов ряда лежащих в заданном интервале.

  5. Вычислить абсолютную и относительную разницу между i- частичной суммой и суммой ряда.

  6. Найти разброс i– частичных сумм относительно суммы ряда.

Таблица № 6.1: Варианты лабораторной работы № 6 . «Программирование в MathCad»

вар.

Уравнение

Поверхности

1

2

1

1

2

2

3

4

5

6

7

8

9

1

2

10

11

12

13

14

15

16

17

1

2

18

19

20

21

22

23

24

25

26

1

2

27

28

29

30

Таблица № 6.2: Варианты лабораторной работы № 6 . «Программирование в MathCad»

вар.

Ряд

1

2

1

T0=1

[0.6; 0.7]

2

T0=1

[-4; -1]

3

T0=0 T1=1

[1; 5]

1

2

4

T0=0.4

[-0.06;-0.04]

5

T0=0

[1;10]

6

T0=1

[1;20]

7

T0=1

[1;30]

8

T0=0

[1;50]

9

T0=1 T1=2

[0.2;1]

10

T0=0.2

[0.5;100]

11

T0=0.3

[4;30]

12

T0=1

[2;10]

1

2

13

T0=0.1

[1;20]

14

T0=0 T1=2

[0.1;1]

15

T0=0.4

[0.4; 0.6]

16

T0=0.15

[-2;-0.5]

17

T0=0.5

[1;100]

18

T0=1

[1;100]

19

T0=0.23

[10;100]

20

T0=0 T1=1

[1;50]

21

T0=0

[1;10]

1

2

22

T0=1.5

[1;50]

23

T0=0 T1=2

[-3;-1]

24

T0=-0.3

[1;100]

25

T0=0.5

[1;20]

26

T0=0.1

[1;100]

27

T0=0.1

[1;20]

28

T0=1

[1;100]

29

T0=0.1

[1;50]

30

T0=0.3

[0.3; 3]

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

Задание:

Уравнение

Поверхности

Ряд

T0=0

[-1; 0]

  1. Для программирования в MathCadимеется панель инструментов «Программирование»:

Рассмотрим имеющиеся на ней функции.

  • Add Line– создает и при необходимости удлиняет жирную вертикальную линию, с право от которой записывается программный блок;

  •  - символ присваивания. Например x12, означает что переменнойxприсваивается значение12;

  • if– условный оператор, записывается как:Выражениеifусловие, т.е.Выражениевыполняется еслиусловиевыполнено;

  • otherwise– инструкция иначе (в противном случае), обычно используется с операторомif, когда необходимо вернуть значение при невыполнении условия оператораif;

  • for– оператор цикла со счетчиком. Например:forсчетчикN1.. N2;

  • while– оператор цикла с условием. Например:whileусловие;

  • break– инструкция прерывания;

  • continue– инструкция продолжения, позволяет вернуться в точку прерывания;

  • return– инструкция возврата, возвращает значение оператора указанного после нее;

  • on error– инструкция обработки ошибок, позволяет обрабатывать ошибки, например:Выражение_1onerrorВыражение 2, еслиВыражение_1содержит ошибку выполняетсяВыражение_2.

Воспользовавшись выше указанными операторами, сформируем функцию Z(x,y). Для этого набираемZ(x,y):=и выбираем инструкциюAdd Line

,

в верхнее поле ввода помещаем условный оператор if

.

Заполняя поля условного оператора, получим:

.

Обращаем ваше внимание на то, что скобки в условном операторе обязательны.

У нас остались значения, которые принимает функция при не выполнении заданного условия. Для учета этого воспользуемся инструкцией otherwise:

.

Таким образом, функция Z(x,y)сформирована и мы можем посмотреть ее значения в различных точках:

.

  1. Построим поверхность полученной функции:

.

  1. Воспользуемся циклическим оператором forдля вычисления элементов ряда. Для этого запишемТ:=и дважды вызовем инструкциюAdd Line, получим:

,

где T– есть вектор элементов ряда.

В первом поле ввода поместим оператор присваивания начального значения ряда:

.

Во втором поле поместим оператор цикла:

.

В последнем поле помещаем имя возвращаемого объекта:

.

  1. Вычислим сумму элементов ряда лежащих в заданном интервале. Для этого оформим сумму элементов ряда как функцию от aиb, гдеaиbграницы заданного интервала.

Запишем основу для данного блока, как это делалось ранее:

.

Перед вычислением переменную, в которую будем насчитывать сумму ряда, необходимо обнулить:

.

Далее откроем цикл:

и в тело цикла вставим условный оператор:

.

Заканчиваем программный модуль и получаем:

.

Теперь мы можем вычислить сумму элементов ряда из любого интервала:

.

Сумму Sможно было вычислить иначе:

,

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

.

Рассмотрим вычисление произведения элементов ряда, попадающих в заданный интервал:

.

Ясно, что произведение элементов из интервала [-1; 0]будет нулевым за счет правого края интервала, но мы можем вычислить произведение из интервала близкого к исходному, например[-1; -0.0001]:

.

  1. Вычислим абсолютную и относительную разницу между i- частичной суммой и суммой ряда. Для этого оформим вычислениеi– частичных сумм:

,

где сумма всего ряда.

Теперь можно вычислить абсолютную и относительную разницы:

.

Для проверки вычислим абсолютную и относительную разницы для всей суммы:

.

Построим графики абсолютных и относительных разностей:

.

Отметим, что для получения графика относительной ошибки умножили результат на 100%.

  1. Вычислим разброс i– частичных сумм относительно суммы ряда. Воспользуемся для этого уже созданным программным блоком для вычисленияi– частичной суммы ряда. В результате получим:

и среднее квадратичное отклонение равно:

.