- •Оглавление Лабораторная №1. Простые вычисления в системе MachCad
- •Текстовые фрагменты
- •Графические области
- •Решение уравнений средствами Mathcad
- •Численное решение нелинейного уравнения
- •Аргументы:
- •Рекомендации по использованию функции root
- •Нахождение корней полинома
- •Аргументы:
- •Лабораторная №2. Функции условных выражений, решение уравнений в системе MathCard
- •If (Условие, Выражение1, Выражение2)
- •Пример применения функции if
- •Примеры применения дополнительных векторных и матричных функций
- •Решение систем уравнений
- •Решение системы линейных уравнений
- •Решение системы нелинейных уравнений
- •Лабораторная №3. Решение уравнений с помощью программного модуля.
- •Вычисление функции с локального и глобального оператора присвоения
Решение системы линейных уравнений
Задана система уравнений
4x1 +x2 + x3+3x4=25
3x1 – 2x2+3x3=16
2x1 – 2x2 + 3x4= – 4
x1+2x2 – x3 + 2x4=4
Решение в матричной форме
А – матрица коэффициентов системы при неизвестных
В – вектор свободных членов
Решение системы в матричной форме А*Х:=В, где Х – вектор корней системы линейных уравнений.
Результат решения системы линейных уравнений Х=(х1,х2,х3,х4)
Решение с помощью функции lsolve(A,B)
Функция lsolve (М,V) – вектор неизвестных, дающих решение системы линейных алгебраических уравнений вида М*х = v.
Результат решения системы линейных уравнений Х1=(Х1,х2,х3,х4)
Проверка решения системы линейных уравнений
Вывод элементов матрицы А и элементов вектора В и Х1
Транспортировка вектора Х
Решение системы нелинейных уравнений
Find(v1,v2,…,vn) – находит значение переменных для точного решения (решение реально существует, хотя и не является аналитическим),
Minerr(v1,v2,…,vn) – находит значение переменных для приближенного решения (находит максимальное приближение даже к несуществующему).
Эти функции могут применяться только после блока Given. Имена этих функций можно писать и строчными буквами. При вводе ограничительных условий необходимо использовать логические операторы: >, <, , , , =. Эти операторы вызываются с помощью палитры «Отношения». Рекомендуется после нахождения решения сделать проверку подстановкой.
Пример решения системы нелинейных уравнений приведен на рис. 4
Решение системы нелинейных уравнений
Рис 4
Вывод из решения данного уравнения следующий, уравнение имеет два корня. и результат решения с помощью функции MinErr подтверждает это. Функция MinErr приводит к минимальной ошибке.
Лабораторная №3. Решение уравнений с помощью программного модуля.
Подготовка к работе
По указанной литературе изучить:
задание функций пользователя;
операторы присваивания;
состав палитры Programming Palette (Программирование);
программирование вложенных условных выражений;
возможности системы программирования для организации циклов с известным числом повторений с помощью оператора for…;
возможности системы программирования для организации циклов с неизвестным числом повторений с помощью операторов while…;
Контрольные вопросы
Поясните состав палитры Programming Palette (Программирование);
Чем отличается локальное присвоение от глобального?
Приведите примеры локального и глобального присвоения.
Какие операторы входят в состав палитры Программирование и какие из них используются для решения функций?
Какие операторы называются условными?
В каких случаях применяется оператор for?
Когда применяются операторы while и break?
Как задается оператор добавления линии?
Как задается оператор внутреннего присвоения?
Какой циклический процесс называется итерационным?
Дайте понятие вложенных циклов
Дайте определения оператора прерывания.
Задание и порядок выполнения работы.
Рассчитать значения заданной функции с использованием программного блока. Предусмотреть ввод данных с использованием оператора как локального, так и глобального присваивания. Задание в таблице 1. Построить график заданной функции с шагом 0,3.
Используя оператор условных выражений, вычислить функцию, выбранную из табл. 2 согласно варианту. Протестировать все ветви разветвляющегося процесса: вывести несколько значений заданной функции из разных диапазонов области (xo xn) определения функции. Построить график заданной функции с шагом 0,1.
Используя оператор цикла for, вычислить сумму или произведение (в зависимости от номера варианта) конечного ряда, заданного в табл.3. Вывести значение заданной функции. Проверить полученный результат с помощью калькулятора.
Вычислить функцию fact=(k+N)! для произвольного целого k, где N – номер варианта (цифра от 1 до 12). Вывести несколько значений заданной функции. Проверить полученный результат с помощью калькулятора.
Таблица 1
№ |
Функция |
№ |
Функции |
|
y=x2(x+1) – b*sin(x+1) x=[-2.5 … 2] b=3 |
|
z=x3 + b*sin(x) – a2 x=[-5 .. 5 a=5 b= -2] |
|
x=[-3.5 … 3] b=2; a = 3 |
|
x=[-4 .. 4] b=3 a = 2 |
|
z = ln(x)2 +b-x x=[-2 .. 2] b=10 |
|
y=ln(x) + sin(a+x)/b x=[-3 .. 3] b=2 a=1.5 |
|
w= sin(x)3 +b*x2 – 10a x=[-3 .. 3] b=3; a=1.5 |
|
f= cos(x+b) – a2 x=[-2.5 … 2] b=2 a=3 |
|
x=[-3.5 .. 3.5] a=2; b=5 |
|
+sin(x+b)2 x=[-4 .. 4] b=3 |
|
z = e-bx (x+a2)/b x=[-2 .. 2.5] a=2.5 b=4 |
|
s= (x – b)2/2 – sin(x)2 x=[-3.5 3] b=2 |
|
w = (a – x)* (b – a)/x2+b x=[-4 .. 4] b=1.5 a=2 |
|
y= (x+b)3/2x2 + cos(x) x=[-2.5…3] b=3 |
|
x=[-3 .. 3] b=3 |
|
|
Таблица 2
№ |
Функция |
x=[ ], a, b |
|
x=[0 ..5] a=1.5 | |
|
x=[-2 ..2] a=5 b=2 | |
|
x=[-5 ..5] a=2.5 b=3 | |
|
x=[-4 ..4] a=3 b=1.5 | |
|
x=[-3 ..4] a=6 b=3.5 | |
|
x=[-2 .. 4] a=3 b=4 | |
|
x=[-4 5] a=2 b=1.5] | |
|
x=[-5..5] a=3 b=4.5 | |
|
x=[0..7] a=4 b=6 | |
|
x=[-1 .. 6] a=3 b=5 | |
|
x=[-2..7] a=2 b=4 | |
|
x=[-1 5] a=3 b=8 | |
|
x=[1 .. 8] a=2 b=4 | |
|
x=[0…9] a=1.5 b=6 |
Таблица 3
№ |
Функция |
№ |
Функция |
|
a=3 |
| |
|
x=2 |
| |
|
| ||
|
| ||
|
| ||
|
| ||
|
| ||
|
|
|
Методические указания
Набор программных элементов для создания программных модулей весьма ограничен и содержит следующие элементы: Add Line, ←, if, otherwise, for, while, break, continue, return, on error.
Оператор добавления линии Add Line выполняет функции расширения программного блока. Расширение фиксируется удлинением вертикальной черты. Благодаря этому можно создавать сколь угодно большие программы.
Оператор внутреннего присвоения ← выполняет функцию внутреннего локального присвоения. Локальный характер присвоения означает, что такое значение переменной сохраняется только в теле программы. За пределами тела программы значение переменной может быть неопределенным, либо равно значению, которое задается вне программного блока операторами локального := или глобального присвоения. Глобальная переменная может быть определена в любом месте документа.