Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MathCad_2000.pdf
Скачиваний:
27
Добавлен:
17.02.2016
Размер:
838.59 Кб
Скачать

Заполнив поля шаблона предела, следует применить операцию символьного вывода .

9.3.4. Специальные функции

Специальные функции часто входят в ответы при интегрировании, суммировании и решении уравнений. Они не принадлежат к числу встроенных функций MathCad и поэтому не могут быть вычислены непосредственно с помощью знака =. Чтобы найти численное значение результата, содержащего такую функцию, нужно вычислить значение выражения, с помощью которого определяется специальная функция. К таким функциям относятся интегральный синус Si(x) и косинус Ci(x), «пси»- функция Psi(x) и её производные Psi(n,x), интегралы Френеля

FresnelC(x), FresnelS(x) и другие.

9.3.5. Большие символьные результаты

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

Увидеть большой ответ, сохранённый в буфере обмена, можно, открыв окно буфера обмена Windows. Содержимое буфера обмена можно напечатать, поместив его в непосредственно рабочий документ или в текстовую область.

10.РЕШЕНИЕ УРАВНЕНИЙ И СИСТЕМ

Всистеме MathCad уравнения и системы уравнений можно решать численными и аналитическими методами. Погрешность решения при использовании численных методов задаётся системной переменной TOL.

10.1.Решение уравнения с одной неизвестной

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

50

f(x) = 0 используется функция root. Эта функция возвращает значение x, при котором выражение в левой части уравнения равно нулю. Корень вычисляется методом итераций с точностью, заданной системной переменной TOL.

Применение функции root требует задания начального приближения к корню. Если уравнение имеет несколько корней, то найденное решение будет зависеть от начального приближения. Для поиска второго корня первый исключается делением f(x) на (x- x1). Для поиска следующего корня надо повторить процедуру деления f(x) на найденный корень. При поиске комплексного корня следует задать начальное приближение комплексным числом. Функцию root можно использовать в составе функции пользователя.

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

root(f(x),x), root(f(x),x, a, b),

где f(x) – функция пользователя или выражение в левой части уравнения;

x – переменная, относительно которой надо решить

уравнение;

[a, b] – интервал изоляции корня.

10.2. Поиск всех корней полинома

Для определения корней многочлена (полинома) степени n используется функция polyroots(V). Эта функция возвращает вектор, содержащий все корни многочлена, коэффициенты которого задаются вектором V, имеющим длину n+1. При формировании вектора V коэффициенты полинома располагаются в порядке возрастания степеней.

Корни полинома могут быть как вещественными, так и комплексными числами.

51

10.3. Решение систем нелинейных уравнений и неравенств

При решении систем нелинейных уравнений организуется специальный вычислительный блок, использующий служебное слово Given и имеющий следующую структуру:

начальные приближения

Given

уравнения

ограничения

операторы с функциями find или minerr

Начальные условия определяют начальные значения искомых переменных и задаются с помощью оператора присваивания.

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

Ограничения задаются в виде неравенств или равенств, которые должны удовлетворяться при решении системы уравнений. В некоторых задачах ограничения могут отсутствовать. При формировании ограничений используются логические операции: >, <, , , , =.

Функция find(v1, v2, .., vn) возвращает значение одной или ряда переменных, являющихся решением системы. Эта функция используется в тех случаях, когда решение системы уравнений реально существует.

Функция minerr(v1, v2, .., vn) пытается найти максимальное приближение даже к несуществующему решению путём минимизации среднеквадратичной погрешности. Функцию minerr применяют для получения приближенного решения.

Функции find и minerr могут использоваться для решения одного уравнения или системы. Число уравнений должно равняться числу неизвестных. Аргументы v1, v2,..,vn – это скалярные переменные, значения которых ищутся в блоке вычислений. Когда блок решения уравнений ищет одну неизвестную, функции возвращают скаляр. Если неизвестных несколько, то возвращается вектор, первым элементом которого является искомое значение переменной v1, вторым элементом – v2 и т. д.

Пример решения системы уравнений приведён на рис.6. Если система имеет несколько решений, то найденные корни определяются указанными начальными приближениями.

52

Полученное решение обязательно надо проверить методом

подстановки.

 

 

 

 

 

 

Дана система уравнений

3 x cos(y)

0.9

 

 

 

sin(x 0.6) y

1.6

Чтобы воспользоваться блоком Given необходимо задать

начальные приближения для корней. Отделим корни графически.

Для этого перепишем уравнения в виде

 

 

y(x) sin(x 0.6) 1.6

x(y)

0.9 + cos(y)

 

3

 

 

 

 

 

 

 

Для построения двух кривых на одном графике, введём другое

обозначение неизвестных для второго уравнениия

y(x) := sin(x 0.6) 1.6

x1(y1) := 0.9 + cos(y1)

 

 

 

 

 

 

3

 

 

10

 

 

 

 

y(x)

 

 

 

 

 

 

y1

10

0

 

10

 

 

 

 

10

 

 

 

 

 

 

x , x1(y1)

 

 

 

Явно зададим изменение аргумента у1 для второго уравнения

y1 := −3 ,−2.95 .. 2

 

 

 

 

 

 

 

 

2

 

 

 

 

y(x)

10

 

0

10

x := 0.16

 

y1

 

2

 

 

 

 

 

 

 

y := −2

 

 

 

4

 

 

 

 

 

 

 

 

Given

 

 

 

x, x1(y1)

sin(x 0.6) y

1.6

3 x cos(y)

0.9

 

r := Find(x ,y)

 

 

0.151

 

 

 

r =

 

 

 

 

 

 

2.034

 

 

 

 

 

53

 

 

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