Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
12 / Методичка MachCard.doc
Скачиваний:
86
Добавлен:
10.06.2015
Размер:
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…;

Контрольные вопросы

  1. Поясните состав палитры Programming Palette (Программирование);

  2. Чем отличается локальное присвоение от глобального?

  3. Приведите примеры локального и глобального присвоения.

  4. Какие операторы входят в состав палитры Программирование и какие из них используются для решения функций?

  5. Какие операторы называются условными?

  6. В каких случаях применяется оператор for?

  7. Когда применяются операторы while и break?

  8. Как задается оператор добавления линии?

  9. Как задается оператор внутреннего присвоения?

  10. Какой циклический процесс называется итерационным?

  11. Дайте понятие вложенных циклов

  12. Дайте определения оператора прерывания.

Задание и порядок выполнения работы.

  1. Рассчитать значения заданной функции с использованием программного блока. Предусмотреть ввод данных с использованием оператора как локального, так и глобального присваивания. Задание в таблице 1. Построить график заданной функции с шагом 0,3.

  2. Используя оператор условных выражений, вычислить функцию, выбранную из табл. 2 согласно варианту. Протестировать все ветви разветвляющегося процесса: вывести несколько значений заданной функции из разных диапазонов области (xo  xn) определения функции. Построить график заданной функции с шагом 0,1.

  3. Используя оператор цикла for, вычислить сумму или произведение (в зависимости от номера варианта) конечного ряда, заданного в табл.3. Вывести значение заданной функции. Проверить полученный результат с помощью калькулятора.

  4. Вычислить функцию 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 выполняет функции расширения программного блока. Расширение фиксируется удлинением вертикальной черты. Благодаря этому можно создавать сколь угодно большие программы.

Оператор внутреннего присвоения ← выполняет функцию внутреннего локального присвоения. Локальный характер присвоения означает, что такое значение переменной сохраняется только в теле программы. За пределами тела программы значение переменной может быть неопределенным, либо равно значению, которое задается вне программного блока операторами локального := или глобального присвоения. Глобальная переменная может быть определена в любом месте документа.