Студопедия — Еще одной особенностью языка MathCAD является то, что он сам определяет тип переменных.
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Еще одной особенностью языка MathCAD является то, что он сам определяет тип переменных.






d1 – будетхранить результат деления строк матрицы.

da – будетхранить количество совпавших элементов деления.

s1 – для хранения сообщения и результата проверки. (в Pascal эта переменная lin)

Теперь нам нужно разделить все строки между собой друг на друга и определить общее частное. Легче всего это сделать, разделив поочередно сначала первую строчку на все другие, затем вторую на оставшиеся и т.д.

Запишем это так:

i будет обозначать делимое, а j делитель.

Совет. Чтобы вставить последовательность 1..n-1 нажмите на панели инструментов.

Внимание! Не вводите с клавиатуры имена программных операторов. Для их вставки с клавиатуры можно применять лишь сочетания клавиш, которые приведены в тексте всплывающей подсказки
Рис 3.
.

 

В тело цикла вставьте Add Line и вставим еще один цикл для того, чтобы найти сумму всех частных. Следует учитывать ситуацию деления на ноль, поэтому ограничим действия с помощью условного оператора if.

 

Обратите внимание! Что в MathCAD оператор if записывается, наоборот, в отличие от записи в Pascal. Т.е. сначала действие, которое произойдет, если выполниться условие.

Следующим шагом найдем среднее от частного, разделив на число слагаемых n и присвоив это значение d1.

 

Теперь проверим, сколько слагаемых равны d1. Переменную da будем увеличивать на единицу, если условие верно. Так же как и в предыдущем случае не стоит допускать деления на ноль, поэтому здесь используется вложенный оператор if.

После выполнения цикла, проверим, равно ли da = n, если так, то эти строки линейно зависимые.

Пример:

Допустим, матрица выглядит так: .

d1 будет равно = 1/2+2/4+3/6= 1.5

d1 = 1.5 / n = 1.5 / 3 = 0.5

d1 = 1/2 = 2 /4 = 3/6 = 0.5, то da = 3 и равно n, значит строки линейно-зависимые.

 

Далее установим значение переменных da и dl на ноль. Чтобы гарантировать нормальную работу алгоритма при следующих итерациях.

 

 

Возвратим результат функции. Если значение строковой переменной s1 так и не изменилось, то возвратим матрицу matr, в противном случае выведем сообщение наличии линейной зависимости.

 

Этап 3. Нахождение максимального элемента в столбце

Для реализации модифицированного метода Гаусса нам понадобиться функция нахождения максимального элемента в столбце и возвращение номера строки этого элемента.

 

Алгоритм этой функции достаточно прост и не требует подробных объяснений.

 

Этап 4. Перестановка строк в матрице

После того как найдена строка с максимальным элементом в столбце, возможно, нам понадобиться поменять эти строки местами. Для этого создадим функцию:

 

Определим переменные: i1 будет использоваться в цикле, а temp для временного хранения элементов матрицы. Далее цикл и стандартный алгоритм замены переменных.

Возвратим матрицу matr.

 

Этап 5. Прямой ход

Все дополнительные функции определены, теперь можно перейти непосредственно к поиску решения. Выполним прямой ход в методе Гаусса:

 

Определим некоторые переменные: i1 будет использоваться в цикле, а s1 для хранения сообщения о том, что система не имеет единственного решения. Создадим главный цикл.

Первым делом найдем строку с максимальным элементом через ранее объявленную функцию maxcol и присвоим это значение переменной max. Чтобы застраховать себя от частного случая, проверим, не является ли максимальный элемент равным нулю, если это так, то система не имеет единственного решения,и выйдем из цикла, используя команду break. В Pascal сразу произведем замену Zamena (i1,MaxCol(i1)) и реализуем алгоритм проверки в теле функции maxcol:

В MathCAD:

Если все в порядке, то поменяем строки местами.

Получим разрешающее уравнение, разделив каждый элемент на первый в строке i1

Получим:

 

Присвоим единицу коэффициенту при xi1

Умножим разрешающее уравнение i1 на первый коэффициент уравнения j и вычтем полученное из уравнения j.

Присвоим ноль коэффициенту при хj,i1

После выполнения всех итераций матрица примет треугольный вид, теперь не сложно найти корни системы.

 

Но не забудьте возвратить преобразованную матрицу или, в случае, если система не имеет единственного решения, соответствующее сообщение.

 

Этап 6. Обратный ход

Теперь не составит труда найти корни уравнения, выполнив обратный ход. Напишем еще одну функцию oh:

Выполним обратный цикл, задав диапазон значений от n до 2, где n >= 2.

Тем самым пройдем по строкам в обратном порядке.

Далее, еще один цикл, чтобы пройти по всем элементам строки, от последнего до первого. Последовательно исключив неизвестные переменные, получим в последнем столбце матрицы корни уравнения.







Дата добавления: 2015-09-18; просмотров: 814. Нарушение авторских прав; Мы поможем в написании вашей работы!



Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Этапы трансляции и их характеристика Трансляция (от лат. translatio — перевод) — процесс синтеза белка из аминокислот на матрице информационной (матричной) РНК (иРНК...

Условия, необходимые для появления жизни История жизни и история Земли неотделимы друг от друга, так как именно в процессах развития нашей планеты как космического тела закладывались определенные физические и химические условия, необходимые для появления и развития жизни...

Метод архитекторов Этот метод является наиболее часто используемым и может применяться в трех модификациях: способ с двумя точками схода, способ с одной точкой схода, способ вертикальной плоскости и опущенного плана...

Различие эмпиризма и рационализма Родоначальником эмпиризма стал английский философ Ф. Бэкон. Основной тезис эмпиризма гласит: в разуме нет ничего такого...

Индекс гингивита (PMA) (Schour, Massler, 1948) Для оценки тяжести гингивита (а в последующем и ре­гистрации динамики процесса) используют папиллярно-маргинально-альвеолярный индекс (РМА)...

Методика исследования периферических лимфатических узлов. Исследование периферических лимфатических узлов производится с помощью осмотра и пальпации...

Studopedia.info - Студопедия - 2014-2024 год . (0.008 сек.) русская версия | украинская версия