Несколько учебных задач для решения в MathCAD
...функции пользователя, условные функции, операторы мат. анализа.
1. Площадь треугольника по формуле Герона (заданы длины сторон a,b,c) - пример на функцию пользователя. Так как пока обходимся без программирования, то и промежуточных переменных не используем, сведя всё к одной формуле:
Площадь треугольника по формуле Герона
Как видно, MathCAD также понимает размерные единицы при вычислениях.
Если мы хотим проверить, можно ли по заданным значениям длин сторон a,b,c
построить некоторый треугольник, помочь может следующая функция:
функция для проверки существования треугольника
Здесь необязательно сортировать по возрастанию значения a
, b
, c
, достаточно, чтобы большее значение оказывалось записано в c
.
Впрочем, если решать короче и без инструментов панели программирования, есть способ получше:
функция пользователя для проверки существования треугольника
2. Псевдообратная матрица
Для "переопределённой" матрицы A
размерностью n*m
, n>m
, стандартной функцией geninv
в MathCAD можно вычислить так называемую псевдообратную матрицу, то есть, такую матрицу B
размерностью m*n
, что B*A
(но не A*B
) равно единичной матрице размерности m*m
.
3. Большинство современных студентов, увы, этот пример "напрягает". Почему интеграл в начале документа не берётся численно? Потому что :)
Взяв его "по частям" можно заодно наглядно увидеть пределы точности, с которыми способен оперировать MathCAD - 13-й знак в дробной части числа, что естественно для 8-байтовых вещественных чисел.
Интеграл c разрывом функции на интервале интегрирования
Разумеется, точное значение должно было быть равно нулю, но наш "допуск" в 13-м знаке дробной части превратился на выходе уже в 45/100000
, то есть, погрешность выросла в 100 000 000
раз.
4. Вычислить сумму только положительных значений функции f(x)=sin(x)
,
где x
меняется от -пи/4
до пи/4
с шагом, равным пи/40
Как обычно при условных расчётах поможет встроенная условная функция if
, проще всего сделать дискретный диапазон и использовать оператор суммы с нижним полем и вложенной условной функцией:
Суммирование только положительных значений функции в MathCAD
Можно и переписать значения функции в вектор и применить к нему условное суммирование (см. приложенный файл).
5. Номера автобусных билетов состоят из 6 цифр. "Счастливыми" называют билеты, у которых сумма трех первых цифр равна сумме трех последних. Проверить, сколько всего существует счастливых билетов из серии в миллион номеров.
А здесь условная функция просто встроится в "шестикратный" оператор суммирования, проверяющий все возможные номера:
Суммирование с условием в MathCAD
Если использовать диапазоны и оператор "сумма значений переменной-диапазона" (значок суммы с одним полем ввода внизу), можно сделать и так:
диапазоны и оператор "сумма значений переменной-диапазона" для подсчёта количества 6-значных "счастливых" билетов
6. Заданы координаты 3 точек на плоскости - x, y, z
.
Найти точку, расстояние от которой до начала координат максимально.
Смысл примера - не столько использование стандартной функции max, сколько в дополнительном выводе имени нужной точки (или точек, если ответ не единственный).
точка, расстояние от которой до начала координат максимально
Скачать архив ZIP с примерами в формате MathCAD 15 .XMCD (53 Кб)
10.02.2013, 22:07 [16461 просмотр]