Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

MathCAD-lections

.pdf
Скачиваний:
21
Добавлен:
10.02.2016
Размер:
1.16 Mб
Скачать

Лекция 9

51

Численное дифференцирование

В MathCAD можно вычислять производные скалярных функций любого количества аргументов, от 0-го до 5-го порядка включительно. И функции, и аргументы могут быть как действительными, так и комплексными. Невозможно дифференцирование функций только вблизи точек их сингулярности.

Первая производная

Для того чтобы продифференцировать функцию f(х) в некоторой точке:

нужно определить точку х, в которой будет вычислена производная, например х:=1;

ввести оператор дифференцирования нажатием кнопки Derivative (Производная) на панели Calculus (Вычисления) или ввести с клавиатуры вопросительный знак <?>;

В появившихся местозаполнителях (Рис. 5) ввести функцию f(х), и имя самого аргумента х;

нажать клавишу "равно" для получения ответа.

Рис. 5. Оператор дифференцирования.

Пример дифференцирования функции f(x)=cos(x)ln(x) приведен на Рис. 6.

Рис. 6. Численное дифференцирование.

Если функция вводится явно в оператор дифференцирования, то необходимо предварительно определять точку, в которой производится численное дифференцирование,

как это сделано в первой строке Рис. 6. Иначе будет выдано сообщение об ошибке, гласящее,

что переменная или функция, входящая в выражение, ранее не определена.

Можно предварительно определить функцию в отдельном выражении, а затем посчитать ее производную в заданной точке (Рис. 7.).

51

Лекция 9

52

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 7. Символьное и численное дифференцирование функции пользователя.

Можно также применить оператор дифференцирования для определения собственных функций пользователя (Рис. 8).

Рис. 8. Определение функции пользователя через оператор дифференцирования.

В обоих рисунках первой строкой определяется функция f(x)=1/x. Во второй строке Рис.7 численно определяются значения этой производной в точке х=0.1. На Рис. 8 через производную от f(х) определяется еще одна пользовательская функция g(х) и затем находится ее конкретное значение в той же точке х=0.1.

Для численного дифференцирования MathCAD вычисляет производную с колоссальной точностью до 7-8-го знака после запятой.

Производные высших порядков

MathCAD позволяет численно определять производные высших порядков, до 5-го включительно. Чтобы вычислить производную N-го порядка функции f(х) в точке х, нужно проделать те же самые действия, что и при взятии первой производной, но вместо оператора производной необходимо применить оператор N-й производной (Nth Derivative) с той же панели Calculus (Вычисления) либо с клавиатуры нажатием клавиш <Ctrl>+<?>. Этот

оператор содержит еще два местозаполнителя, в которые следует поместить число N –

порядок производной, причем определение порядка производной в одном из местозаполнителей приводит к автоматическому появлению того же числа в другом из них.

Рис. 9 демонстрирует численное вычисление второй производной. Как и при вычислении обычной производной, необходимо перед оператором дифференцирования присвоить аргументу функции значение, для которого будет вычисляться производная.

52

Лекция 9

53

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 9. Численное вычисление второй производной.

Чтобы вычислить производную порядка выше 5-го, следует последовательно применить несколько раз оператор N-й производной. На Рис. 10 численно вычисляется производная седьмого порядка синуса в точке х=0.1.

Рис. 10. Численное вычисление седьмой производной.

Символьные вычисления

Символьные вычисления имеют в качестве результата не число, а аналитическое выражение, то есть ответ получается в символьном виде.

Способы символьных вычислений

Символьные вычисления в MathCAD можно осуществлять тремя способами.

Первый способ – с помощью меню Symbolics (Символика) (Рис. 11).

Рис.11. Меню Symbolics.

Второй способ – с помощью оператора символьного равенства , ключевых слов символьного процессора и обычных формул.

53

Лекция 9

54

Для второго способа применяются все средства MathCAD, пригодные для численных вычислений (например, панели Calculator, Evaluation и т. д.), и специальная математическая панель инструментов Symbolic (Символы), которую можно вызвать на экран нажатием кнопки Symbolic Keyword Toolbar (Символические операторы) на панели Math (Математика).

На панели Symbolic (Символы) находятся кнопки, соответствующие специфическим командам символьных преобразований (Рис. 12.).

Рис. 12. Панель Symbolic.

Третий способ – с помощью сочетания клавишей < Shift > + < F9 >.

Если выражение не поддается аналитическим преобразованиям (либо в силу того, что задача вовсе не имеет аналитического решения, либо она оказывается слишком сложной для символьного процессора MathCAD), то в качестве результата выводится само выражение;

Символьное интегрирование (Integrate)

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

напечатать подынтегральное выражение в явном виде на экране,

поставить курсор на переменную интегрирования,

выполнить команду Symbolics/Variable/Integrate (Символика/Переменная/Интегрировать) (Рис. 19).

54

Лекция 9

55

Вычисленное аналитическое представление неопределенного интеграла появится ниже.

При этом результат может содержать как встроенные в MathCAD функции, так и другие специальные функции.

Рис.19. Символьное интегрирование по переменной через меню Symbolics.

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

ввести оператор неопределенного интеграла,

в появившиеся местозаполнители ввести подынтегральное выражение (в явном или неявном виде) и переменную интегрирования,

нажать знак символьного равенства и клавишу < Enter > (Рис. 20.).

f(x) := sin(x) f(x) dx → −cos(x)

sin(x) dx → −cos(x)

Рис. 20. Символьное интегрирование с помощью знака «символьное равенство»

Для нахождения неопределенного интеграла третьим способом помощью сочетания клавиш < Shift > + < F9 > нужно:

ввести оператор неопределенного интеграла,

в появившиеся местозаполнители ввести переменную интегрирования и подынтегральную функцию в явном виде,

охватить все выражение выделяющей рамкой

и нажать клавиши <Shift>+<F9>. Результат интегрирования появится на экране (Рис. 21).

55

Лекция 9

56

Рис. 21. Символьное интегрирование нажатием клавиш <Shift>+<F9>.

Символьное дифференцирование (Differentiate)

Чтобы аналитически продифференцировать выражение по некоторой переменной

первым способом при помощи меню Symbolics, нужно:

напечатать дифференцируемое выражение в явном виде на экране,

поставить курсор на переменную интегрирования,

выполнить команду Symbolics/Variable/Differentiate (Символика/Переменная/Дифференцировать) (Рис. 22). В результате в следующей строке появится значение производной.

Рис. 22. Символьное дифференцирование по переменной с помощью меню.

Для того чтобы найти вторую производную, нужно повторно применить эту последовательность действий, но уже к полученному результату дифференцирования. Так же находятся и производные высших порядков.

Символьное дифференцирование, проводимое 1-м способом через меню Symbolics,

касается только одного, выделенного в данный момент, выражения. На него не влияют

56

Лекция 9

57

формулы, находящиеся в документе MathCAD выше этого выделенного выражения

(например, операторы присваивания значений каким-либо переменным).

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

ввести оператор первой производной, или оператор производной высшего порядка

в появившиеся местозаполнители ввести дифференцируемое выражение (в явном или неявном виде), порядок производной (для производных высшего порядка) и переменную интегрирования,

нажать знак символьного равенства и клавишу < Enter > (Рис. 23.).

Оператор символьного равенства учитывает все предыдущее содержимое документа и выдает результат дифференцирования с его учетом (Рис. 23.).

x := 0.1

 

 

 

 

 

y2

 

 

 

 

F(y) :=

 

f(x) := sin(x)

 

 

 

2

 

 

 

 

d

 

F(y) → y

d

sin(x) → cos(.1)

dy

 

 

 

 

 

 

 

 

 

 

 

dx

d

y2

 

 

 

 

 

 

 

 

 

 

→ y

 

 

 

 

 

 

 

d2

dy 2

 

 

 

 

 

 

 

 

 

sin(x) → −sin(.1) = −0.1

d2

 

2

dx

 

 

 

F(y) → 1

 

 

2

 

 

 

dy

Рис. 23. Символьное дифференцирование с помощью знака «символьное равенство».

Для того чтобы вычислять производные третьим способом, используя сочетание клавиш < Shift > + < F9 >, нужно:

ввести оператор дифференцирования, или оператор n-той производной,

в появившиеся местозаполнители ввести переменную дифференцирования и дифференцируемую функцию в явном виде,

охватить все выражение выделяющей рамкой и нажать клавиши <Shift>+<F9>.

Результат дифференцирования появится на экране (Рис. 24).

Рис. 24. Дифференцирование нажатием клавиш <Shift>+<F9>.

57

Лекция 9

58

Упрощение выражений (Simplify)

Часто бывает необходимо упростить выражение. Для этих целей также используется символьный процессор MathCAD, который может так преобразовать выражение, чтобы оно приобрело более простую форму.

Чтобы упростить выражение с помощью меню (Рис. 25):

нужно ввести выражение;

выделить выражение целиком или его часть, которую нужно упростить;

выбрать команду Symbolics/Simplify (Символика / Упростить).

Рис. 26. Упрощение выражения.

Для упрощения выражения при помощи символьного равенства панели инструментов

Symbolic, нужно:

нужно ввести выражение;

на панели инструментов Symbolic нажать ключевое слово simplify,

нажать < Enter > (Рис. 26.).

Рис. 26.Ключевое слово simplify (упростить)панели инструментов Symbolic (Символы)

Результат упрощения появится на экране (Рис. 27.).

Рис. 27. Упрощение выражения.

58

Лекция 9

59

При этом если некоторым переменным, входящим в выражение, ранее были присвоены некоторые значения, то они будут подставлены в него при выполнении символьного вывода

(Рис. 28).

Рис. 28. Упрощение выражения с подстановкой значения переменных.

Упрощение выражений, содержащих числа, производится по-разному, в зависимости от наличия в числах десятичной точки. Если точки в числе нет, то выполняется упрощение выражения.

Если она есть, то выполняется непосредственное вычисление выражения (Рис. 29).

1

3 simplify → 3 2

3.01 simplify → 1.734935157289747241

Рис. 29. Упрощение выражения с числами.

Ввод-вывод данных во внешние файлы

Для общения с внешними файлами данных в MathCAD имеется семейство встроенных функций для текстовых файлов.

Встроенные функции для работы с текстовыми файлами:

READPRN("путь к файлу ") — чтение данных в матрицу из текстового файла; WRITEPRN("путь к файлу ") — запись данных в текстовый файл в виде матрицы; APPENDPRN("путь к файлу ") — дозапись данных в существующий текстовый файл;

Можно задавать как полный путь к файлу, (например, "С:\Мои документы\my-data.txt"),

так и относительный, имея в виду, что он будет отсчитываться от папки, в которой находится файл с документом MathCAD.

Пример использования встроенной функции READPRN( ) иллюстрируются Рис.30.

C := READPRN("datafile.txt")

0

2

4

1

5

 

4

8

6

8

4

 

 

 

C = 2

4

9

0

3

 

7

6

5

8

9

 

 

 

0

4

5

6

3

Рис. 30. Чтение данных из текстового файла в матрицу С.

59

Лекция 9

60

Пример использования встроенной функции WRITEPRN( ) иллюстрируются Рис. 31,

Результат можно понять, просмотрев получающийся текстовый файл, например с помощью Блокнота Windows (Рис. 32).

0

2

4

1

5

 

4

8

6

8

4

 

 

 

M := 2

4

9

0

3

 

7

6

5

8

9

 

 

 

 

 

 

 

 

0

4

5

6

3

WRITEPRN("datafile.txt") := M

Рис. 31. Запись матрицы М в текстовый файл.

Рис.32. Файл, созданный Рис. 31.

Если данные выводятся в файл, встроенной функцией WRITEPRN( ), то в любом случае создается новый текстовый файл. Если даже до записи данных файл с таким именем существовал, то его содержимое будет уничтожено, заменившись новыми данными.

Если необходимо сохранить прежнее содержимое текстового файла с данными, нужно пользоваться функцией APPENDPRN( ) (Рис. 33.).

k := ( −1 2 3 4 5 )

APPENDPRN("datafile.txt") := k

Рис.33. Дозапись вектора k в соответствующий текстовый файл.

Рис. 34. Файл, созданный Рис. 31 и 33.

Встроенная функция APPENDPRN( ) может применяться и для создания нового файла.

Иными словами, если файла с заданным именем не существовало, то он, после применения,

будет создан и наполнен теми данными, которые определены в документе.

60

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]