Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
12 / Методичка MachCard.doc
Скачиваний:
47
Добавлен:
10.06.2015
Размер:
3.23 Mб
Скачать

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

Задана система уравнений

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

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