Как можно решить систему уравнений в mathcad

REDMOND

Решение системы уравнений с помощью математического пакета.

Решение системы уравнений матричным способом в среде MathCAD

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

Дана система уравнений:

Составляем матрицы А и В. А — матрица данной системы уравнений. В — матрица: столбец для данной системы уравнений.

По правилам матричного исчисления получаем уравнение: А * х = В. х — матрица: столбец из неизвестных.

Решая это уравнение, найдем решение системы.

Решение системы уравнений с помощью функции Given .. Find в среде MathCAD

При решении систем не линейных уравнений используется специальный вычислительный блок, открываемый служебным словом-директивой Given.

Дана система уравнений:

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

Записываем служебное слово-директиву Given и задаем уравнения системы с помощью жирного знака равенства между левой и правой частями каждого уравнения.

Записываем функцию Find. Она возвращает значение одной или ряда переменных для точного решения. Функция Find используется, если решение реально существует.

Таким образом х1 = -0.723;

Решение системы уравнений с помощью функции Given .. Minerr в среде MathCAD.

Дана система уравнений

Начальное условие определяет начальное значение искомых переменных, которые задаются путем обычного присваивания:

Записываем служебное слово-директиву Given и задаем уравнения системы с помощью жирного знака равенства:

Записываем функцию Minerr. Она возвращает значение одной или ряда переменных для приблизительного решения. Функция Minerr пытается найти максимально приближение даже к несуществующему решению путем минимизации средней квадратичной погрешности решения.

Таким образом х1 = -0.723;

Создание базы данных "Расписание автобусов" с помощью пакета Access

База данных — это набор сведений, относящихся к определенной теме или задаче. БД является информационной моделью предметной области. Обращение к БД осуществляется с помощью систем управления базами данных (СУБД). СУБД Access является системой управления базами данных реляционного типа. Данные хранятся в такой базе в виде таблиц. С каждой таблицей могут быть связаны индексы (ключи), задающие нужные пользователю порядки на множестве строк. Таблицы могут иметь однотипные поля (столбцы), и это позволяет устанавливать между ними связи, выполнять операции реляционной алгебры.

Базы данных, как правило, обладают следующими признаками:

БД содержит некоторое множество данных, необходимых для решения конкретных задач многих пользователей (в том числе как реальных, так и потенциальных) или удовлетворения соответствующих информационных потребностей;

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

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

Основные функции СУБД следующие:

Определение данных — определить, какая именно информация будет храниться в базе данных, задать свойства данных, их тип, а также указать, как эти данные связаны между собой.

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

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

Проектируя базу данных "Расписание автобусов", разбиваем ее на две связные таблицы. В первой таблице содержатся следующие поля: пункт назначения; время отправления; время в пути; количество посадочных мест. А во второй: время отправления; расстояние до пункта назначения.

При создании базы данных следует соблюдать следующие принцыпы:

· В каждой таблице не должно быть повторяющихся полей;

· В каждой таблице олжен быть уникальный идентификатор — ключ;

· Каждому значению первичного ключа должна соответствоватьдостаточная информация о сущности или объекте таблицы.

Создадим таблицы в режиме конструктора:

С тем чтобы Microsoft Access мог связать данные из разных таблиц каждая таблица должна содержать поле или набор полей, которые будут задавать индивидуальное значение каждой записи в таблице. Такое поле или набор полей называют основным ключом.

2. Работа с массивами

Одна из задач ЭВМ — автоматизация труда, повышение эффективности научных исследований. Основная особенность ЭВМ — ориентация на применение пользователями, не владеющими языками программирования. Такой подход позволяет преодолевать языковой барьер, отделяющий человека от машины. С этой целью разрабатываются пакеты прикладных программ, рассчитанные на широкие круги специалистов. К подобным пакетам относится MATHCAD.

MATHCAD — универсальный математический пакет, предназначенный для выполнения инженерных и научных расчетов. Основное преимущество пакета — естественный математический язык, на котором формируются решаемые задачи.

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

Цель работы: изучение выполнения основных операций с массивами, решения систем линейных и нелинейных уравнений в Mathcad.

1. Ранжированные переменные

В математике часто возникает необходимость в задании некоторого ряда значений. Например, при вычислении нужно сформировать ряд чисел от 1 до N с шагом 1 и перемножить их. Для создания таких рядов в Mathcad используются ранжированные переменные . В простом случае для создания ранжированной переменной используется выражение

Name:=Nbegin…Nend,

Где Name – имя переменной, Nbegin – начальное значение переменной, Nend – ее конечное значение. Символ «…» (он вводится с клавиатуры знаком точка с запятой «;») указывает на изменение переменной в заданных границах. Если Nbegin<Nend, то шаг изменения переменной будет равен +1, в противном случае –1. Например, выражение a:=1…10 описывает ранжированную переменную a со значениями от 1 до 10.

Для создания ранжированной переменной общего вида используется выражение

Name:=Nbegin, (Nbegin+Step)…Nend,

где Step — заданный шаг изменения переменной (он должен быть положительным, если Nbegin<Nend и отрицательным в противном случае).

Например, выражение a:=1, 1.5, …10 описывает ранжированную переменную a со значениями от 1 до 10 с шагом 0,5.

Ранжированные переменные широко применяются для представления функций в виде таблиц вывода , а также для построения их графиков.

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

Необходимо учитывать следующее свойство таблиц вывода: если количество значений ранжированной переменной и, соответственно, строк в таблице вывода больше 16, то выводятся первые 16 строк. Если указатель мыши находится в пределах таблицы, то щелчок левой кнопкой мыши приводит к появлению вертикальной полосы прокрутки, позволяющей просмотреть все строки таблицы.

Помните, что задание ранжированных переменных эквивалентно заданию конечных циклов.

Примеры использования ранжированных переменных приведены на рисунке 1.1.

Рис. 1.1. Примеры использования ранжированных переменных

2. Работа с массивами

Ранжированная переменная отличается от вектора (одномерного массива) тем, что невозможно использование ее отдельных значений. При необходимости иметь доступ к каждому значению переменной со многими компонентами она должна быть задана в виде одномерного (вектора) и двумерного (матрицы) массива.

Местоположение элемента массива задается одним индексом для вектора и двумя для матрицы. Индексы могут быть только положительными целыми числами . Для ввода индекса используется знак « [ » – прямая открывающая скобка.

Для задания массивов можно либо воспользоваться командой Matrices меню Math, либо нажать комбинацию клавиш Ctrl+V , либо щелкнуть на значке с изображением шаблона матрицы. Любое из этих действий вызывает появление диалогового окна, в котором надо указать количество строк m и столбцов n в массиве. При m=1 получим вектор-столбец, а при n=1 – вектор-строку.

В отношении массивов действуют те же правила присваивания и вывода, что и для обычных переменных. В частности, с помощью оператора присваивания можно создать массив заданного размера и заданного типа без ручного заполнения шаблона (рисунок 2.1.).

Рис. 2.1 Пример создания матриц без использования шаблонов матриц

Для работы с массивами Mathcad содержит ряд операторов и функций. Ниже представлены операторы для работы с векторами и матрицами. В таблице используются следующие обозначения: V – для векторов, M – для матриц, Z – для скалярных величин.

REDMOND

Как можно решить систему уравнений в mathcad

Линейное алгебраическое уравнение можно определить как уравнение, в которое искомые неизвестные входят в первой степени и между собой не перемножаются, т.е. в левой части линейного уравнения обычно записывается линейная комбинация искомых неизвестных, а в правой – свободный член. Совокупность таких уравнений образует систему линейных алгебраических уравнений (СЛАУ). Если СЛАУ имеет единственное решение, то она называется определённой. В случаях, когда решений бесконечное множество, СЛАУ называется неопределённой. Для решения определенных СЛАУ применяют методы Крамера, Гаусса, матричный, численные методы. Для неопределённой СЛАУ можно находить общее решение и какие-либо частные решения из их бесконечного множества.

В соответствии с ФГОС раздел «Линейная алгебра» модуля «Математика 1» входит в рабочие программы всех унифицированных образовательных математических кластеров дисциплины «Математика» [1]. В рабочие программы в обязательном порядке включаются индивидуальные домашние задания (ИДЗ) по всем разделам, в том числе и по разделу «Линейная алгебра». Решение СЛАУ «вручную» требует много времени, большого внимания, довольно громоздких преобразований и вычислений. Если допущена ошибка в решении СЛАУ, её бывает нелегко обнаружить. Целью применения пакета Mathcad в учебном процессе явилась потребность использования возможностей компьютеров для решения СЛАУ.

Квадратные СЛАУ с невырожденной основной матрицей системы, а также матричные уравнения в среде пакета Mathcad легко решаются матричным методом. Например, чтобы решить СЛАУ

taro1.wmf

достаточно задать основную матрицу системы

taro2.wmf,

столбец свободных членов

taro3.wmf,

записав произведение обратной матрицы A –1 на матрицу В и воспользовавшись клавишей «=», получить решение:

taro5.wmf.

Проверка правильности решения также осуществляется в одно действие умножением матрицы А на найденную матрицу решения:

taro6.wmf.

Можно предварительно записать найденную матрицу

taro7.wmf.

решения СЛАУ, тогда для проверки потребуется ввести с клавиатуры произведение taro8.wmfи клавишу «=»:

taro9.wmf.

Начиная с шестой версии Mathcad, квадратные СЛАУ с невырожденной матрицей можно решать, используя встроенную функцию lsolve(A,B): X:= lsolve(A,B), и сразу получить решение

taro11.wmf.

Для решения неопределенных СЛАУ в среде пакета Mathcad имеется несколько возможностей. Версия Mathcad 13/14 (в предыдущих версиях Mathcad основная матрица СЛАУ должна быть квадратной) позволяет находить одно из бесконечного множества частных решений СЛАУ при помощи встроенной функции lsolve(A,B) [2]. Например, так:

taro12.wmflsolvetaro13.wmf,

если решается СЛАУ

taro14.wmf.

Замена знака равенства стрелкой из палитры символьных операций Symbolic возвращает частное решение в виде рациональных чисел:

taro15.wmflsolvetaro16.wmf.

Но общее решение, применяя встроенную функцию lsolve(A,B), найти не удается.

Получить общее решение СЛАУ можно директивой solve палитры символьных операций Symbolic. Для этого надо в левую метку директивы solve записать матрицу из одного столбца и таким количеством строк, сколько уравнений в СЛАУ, отделяя свободные члены равенствами из палитры Boolean или вводя знаки «=» с клавиатуры вместе с клавишей Ctrl (получается «жирный» знак равенства). В правой метке следует перечислить имена всех неизвестных СЛАУ. Например,

taro17.wmfsolve,t,u,v taro18.wmf.

Возвращается общее решение, в котором t, u – базисные неизвестные, v – свободная неизвестная. Частное решение, возвращаемое встроенной функцией lsolve(A,B), соответствует свободной неизвестной taro19.wmf.

Недостаток применения директивы solve заключается в том, что в рассматриваемом примере базисные неизвестные выбираются единственным образом, хотя в качестве базисных неизвестных можно выбрать любую другую пару неизвестных, т.к. в рассматриваемом примере все миноры второго порядка основной матрицы системы отличны от нуля.

Обойти проблему можно, применяя предлагаемый наиболее близкий к классическому исследованию и решению СЛАУ алгоритм.

Ввести основную матрицу СЛАУ, обозначив ее A, например. В задаче исследовать СЛАУ на совместность задать расширенную матрицу системы А1.

Ввести столбец свободных членов, обозначив его, например, В.

Найти ранг основной матрицы системы: rank(A). Для СЛАУ больших размеров найти rank(A1). Если rank(A)≠rank(A1), СЛАУ несовместна, т.е. решений не имеет, и на этом исследование и решение СЛАУ заканчивается.

Если rank(A) = rank(A1), выбрать отличный от нуля базисный минор F (порядок базисного минора равен рангу основной матрицы СЛАУ) и базисные неизвестные, коэффициенты при которых вошли в базисный минор.

Оставшиеся свободные неизвестные перенести к свободным членам и ввести получившийся столбец С как функцию свободных неизвестных.

Получить общее решение, умножив обратную матрицу taro21.wmfна матрицу С.

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

Для проверки надо матрицу А умножить на матрицу-столбец В1 решения, составленного из свободных и базисных неизвестных или из значений неизвестных частного решения.

Применение алгоритма рассмотрим на предыдущем примере

taro22.wmf.

1. taro23.wmf

4. Выберем базисными неизвестными taro24.wmfи taro25.wmf. Тогда

taro26.wmf

Определитель матрицы F отличен от нуля: taro27.wmf.

5. Составим матицу С:

taro28.wmf.

6. Получим общее решение

taro29.wmf.

7. Пусть свободная неизвестная

taro30.wmf.

При этом значения базисных неизвестных taro31.wmfи taro32.wmfполучатся умножением

taro33.wmf.

8. Составим столбец

taro34.wmf.

Тогда taro35.wmf,

или сделаем проверку для частного решения:

taro36.wmf

и получим taro37.wmf.

Преимущества предлагаемого алгоритма заключаются в том, что решение СЛАУ осуществляется не формально, когда возвращается единственный вариант ответа. В процессе реализации алгоритма исследуются основные свойства СЛАУ: ранги основной и расширенной матриц системы, выбираются базисные неизвестные и свободные неизвестные, возвращаются общие решения при любом допустимом наборе базисных и свободных неизвестных. Заменяя столбцы основной матрицы СЛАУ столбцом свободных членов со свободными неизвестными, можно получать общее решение и методом Крамера, о чём в учебной литературе упоминаний нет. Вот как это можно осуществить для СЛАУ

taro38.wmf,

решенной выше матричным методом:

taro39.wmf;

taro40.wmf.

Таким образом, методом Крамера получено общее решение taro41.wmf.

REDMOND

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *