- •ВВЕДЕНИЕ
- •2. СОЗДАНИЕ И РЕДАКТИРОВАНИЕ ФОРМУЛ И ТЕКСТА
- •2.1.Курсор
- •2.2. Шаблоны
- •2.3. Текстовые области
- •2.4. Задание размерности
- •3. ВХОДНОЙ ЯЗЫК СИСТЕМЫ
- •3.1. Общие сведения
- •3.2. Алфавит
- •3.3. Элементарные конструкции
- •3.4. Выражения
- •3.5. Операторы
- •3.6. Константы и переменные
- •3.7. Функции
- •3.7.1. Встроенные функции
- •3.7.2. Функции, принимающие несколько значений
- •3.7.3. Функции, определяемые пользователем
- •4. РАБОТА С ДОКУМЕНТАМИ
- •5. ВЫПОЛНЕНИЕ ВЫЧИСЛЕНИЙ
- •6. ВЕКТОРЫ И МАТРИЦЫ
- •6.1. Создание и отображение массивов
- •6.2. Задание элементов массивов
- •6.3. Векторные и матричные операции
- •6.4. Векторные и матричные функции
- •6.4.1. Формирование матриц
- •6.4.2. Определение размеров массивов и значений элементов
- •6.4.3. Сортировка векторов и матриц
- •6.4.4.Специальные характеристики матрицы
- •7. ПОСТРОЕНИЕ ГРАФИКОВ
- •7.1. Графические возможности
- •7.2. Создание графиков на плоскости
- •7.2.1. График в декартовых координатах (X-Y Plot)
- •7.2.2. График в полярной системе координат (Polar Plot)
- •7.3. Построение трёхмерных графиков
- •7.3.1. Создание трёхмерных графиков
- •7.3.2. Форматирование трехмерных поверхностей
- •7.3.3. Построение контурных графиков (Contour Plot)
- •7.3.4. Построение точечного графика (3D Scatter Plot)
- •7.3.5. Построение трёхмерной гистограммы
- •7.3.6. Векторное поле (Vector Field Plot)
- •7.4. Применение функций CreateMesh и CreateSpace
- •7.5. Импорт изображений
- •8. ДАННЫЕ ФАЙЛОВОГО ТИПА
- •9. СИМВОЛЬНЫЕ ВЫЧИСЛЕНИЯ
- •9.1. Организация символьных вычислений
- •9.2. Меню Symbolics
- •9.2.1. Обзор команд меню Symbolics
- •9.2.2. Операции с выделенными выражениями
- •9.2.3. Операции с выделенными переменными
- •9.2.4. Операции с выделенными матрицами
- •9.2.5. Операции преобразования
- •9.3. Система SmartMath
- •9.3.1 Операции символьного вывода
- •9.3.2.Состав директив
- •9.3.3. Вычисление пределов
- •9.3.4. Специальные функции
- •9.3.5. Большие символьные результаты
- •10. РЕШЕНИЕ УРАВНЕНИЙ И СИСТЕМ
- •10.1. Решение уравнения с одной неизвестной
- •10.2. Поиск всех корней полинома
- •10.3. Решение систем нелинейных уравнений и неравенств
- •10.4. Решение систем линейных уравнений
- •10.5. Символьное решение алгебраического уравнения
- •11. ОБРАБОТКА ДАННЫХ
- •11.1. Интерполяция
- •11.2. Регрессии
- •11.3. Сглаживание данных
- •12. ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ И СИСТЕМЫ
- •12.1. Методы решения
- •12.2. Пример использования функции rkfixed
- •12.3. Решение системы ОДУ первого порядка
- •13. ПРОГРАММНЫЕ БЛОКИ
- •13.1. Программирование в пакете MathCad
- •13.2. Программные операторы
- •ЗАДАНИЯ
- •БИБЛИОГРАФИЧЕСКИЙ СПИСОК
- •ОГЛАВЛЕНИЕ
Заполнив поля шаблона предела, следует применить операцию символьного вывода .
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 |
|
|