рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Решение алгебраических систем

Работа сделанна в 1997 году

Решение алгебраических систем - Реферат, раздел Программирование, - 1997 год - Пакет "MathCAD" Решение Алгебраических Систем. Лучше Один Раз Увидетьсхему Задачи, Чем Сто Ра...

Решение алгебраических систем. Лучше один раз увидетьсхему задачи, чем сто раз услышать е условие - такое расширение пословицы можно отнести ко всем прикладным программам, работающим под управлением операционной системы Windows, которую не зря называют графической оболочкой. Пакет MathCAD в этом смысле - не исключение. Работая в среде Windows, можно с помощью графического редактора PaintBrush или какого - то другого нарисовать схему задачи, а потом через Буфер Обменов ClipBoard перенести рисунок в документ MathCAD. Если теперь в среде MathCAD подвести к рисунку курсор мыши и два раза щелкнуть по е левой кнопке, то обрамление рисунка сразу изменится - рисунок перенестся в среду PaintBrush, где его можно доработать, а потом опять вернуть в MathCAD. Словесное описание задачи можно ввести в MathCAD - документ ремарками комментариями.

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

С другой стороны, Буфер Обменов ClipBoard поможет перенести фрагменты MathCAD - документа в Word - документ и там дооформить их. В шестой версии - MathCAD в меню FILE Файл появился пункт Export Worksheet Экспорт, существенно облегчающий эту работу. Решение любой задачи в любой программной среде, как правило, начинается с ввода исходных данных. Работая с языком BASIK или с каким - то другим, вводя переменные и задавая им определнный тип, программист заботится не о физике решаемой задачи, а о памяти машины.

Тип числовой переменной с точки зрения программиста - прикладника - это атавизм тех времн, когда память машины была одним из лимитирующих факторов при решении задачи. Пакет MathCAD в этом смысле расточителен - он присваивает всем числовым переменным двойную точность с 15 знаками в мантиссе. Эти переменные предстают перед глазами пользователя либо в целочисленном 17, например, либо в вещественном 3.14, либо в комплексном виде. Но через знак в среде MathCAD можно присвоить переменной не только конкретную величину 20, 1,10, 30 - математика задачи, но и размерность ньютон, метр, угловой градус - физика задачи. Для присваивания величине размерности за ней ставится знак помножить и вводится название соответствующей размерности.

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

MathCAD не назывался бы математическим пакетом, если бы он не мог решать системы алгебраических уравнений. Конструкция Given Find Дано Найти использует расчтную методику, основанную на поиске корня вблизи точки начального приближения, заданной пользователем. Можно написать требуемую систему уравнений, зажав е между ключевым словом Given и функцией Find. Функция Find возвращает значения переменных, превращающих вышеперечисленные до слова Given уравнения в тождества.

Если уравнений более одного, то возвращаемые значения размещаются в векторе - в группе переменных, зажатых в кулак, но этот кулак, как мы уже отмечали, легко разжать, выводя на дисплей найденные значения с первородной размерностью массы kg, длины m и времени sec пакет MathCAD разжимает и сам вектор, м составные размерности, приписывая к числам комбинации основных физических единиц. Но не только этим хороша размерность в задачах.

Главное то, что она автоматически позволяет отслеживать физические ошибки. Если, к примеру, пользователь сложит секунды с метрами, то MathCAD заругается и выдаст протестующее сообщение incompatible units несовместимые единицы. Элегантность решения системы уравнений в среде MathCAD, не требующая кодирования алгоритма или поиска соответствующей внешней процедуры, имеет и обратную сторону у пользователя возникают естественные в правильности решения. Протестировать нужно не только компьютер, но и пользователя правильно ли он составил исходную схему Сравнивая тип переменной с размерностью физической величины, мы тем самым провели аналогию между пакетом MathCAD и языком BASIK. Продолжим е. Повторяем знак в среде MathCAD соответствует операторам Input и Let на языке BASIK, а знак - оператору Print. В среде MathCAD слева от знака пользователь может написать переменную простую, с индексом, матрицу, вектор, а справа - выражение с переменными и функциями, определнными выше и левее или встроенными в пакет MathCAD. Слева от знака разрешено писать переменную или выражение, правая же часть - это область, всецело принадлежащая среде MathCAD, куда выводятся рассчитанные значения.

Это не совсем так пользователь MathCAD может правее числа, стоящего за знаком, ввести другую размерность, например метры.

Это свойство дало пакету MathCAD второе название - суперкалькулятор пользователь набрал сложнейшую формулу, нажал на клавишу равно - и ответ готов.

А вот жирного знака равно, разделяющего левую и правую части MathCAD - выражений, на языке BASIK, к сожалению, нет а почему В языках QBASIK, Quick BASIK и Visual BASIK от фирмы Microsoft есть конструкции, обладающие свойством, которое с некоторой долей условности можно назвать полиморфизмом. Одно и то же ключевое слово меняет свой смысл в различных программных сюжетах. Так, упоминавшийся знак - это и символ в операторе присвоения где Let давно уже не пишут, и символ в булевом выражении.

Другой пример - ключевые слова Mid и Time, которые согласно документации по языку отмечают и встроенную функцию, и оператор языка A MidCOMPUTER, 3, 3 Здесь Mid - функция MidA, 2,1 Здесь Mid - оператор StartTime Time Здесь Time - функция Time 1230 Здесь Time - оператор Когда ключевое слово Mid стоит в правой части оператора присвоения, оно означает встроенную функцию. Перенос же Mid в левую часть превращает его в оператор. Второй пример не совсем правомерен Time правильнее назвать не функцией и не оператором, а системной переменной.

Системные переменные есть и в среде MathCAD. Пакету MathCAD не грех перенять из языка BASIC некоторые полезные вещи. Ему в частности, очень не хватает цикла Do Loop, в тело которого вставляется условие прерывания If Then Exit Do. В среде MathCAD нельзя, например, в автоматическом режиме реализовывать метод последовательных приближений. Без цикла этот метод допустим только в полуавтоматическом режиме пользователь задат первое приближение искомой переменной, а затем цепочкой формул, где фигурирует данная переменная, получает е новое значение.

Расчт повторяется в цикле с ручным переносом до тех пор, пока новая пара значений не удовлетворит пользователя. Можно поступить ещ проще - не переносить новое значение переменной в головку блока выражений, а продублировать блок нужное число раз. Если в таком алгоритме сходимости нет, то его вс равно используют, называя при этом методом научного тыка. Именно ему адресован полуавтоматический цикл. Кроме того, нужно помнить, что более - менее сложная система нелинейных уравнений окажется не по зубам не только пакету MathCAD, но и другим мощным пакетам - Mathemateca, Maple, Gauss и др. MathCAD в такой ситуации выдаст сообщение Did not find solution Решение не найдено, заставляя пользователя переходить к полуавтоматическому режиму - менять значения начального приближения и или величину точности TOL TOLerance - точность, погрешность.

Функция Find решает систему так, чтобы левые и правые части входящих в не уравнений отличались на величину, не превышающую значения TOL. Это ещ одна предопределнная системная переменная среды MathCAD, хранящая по умолчанию значение 0.001, которое можно изменить, записав в MathCAD - документе выражение TOL 0.01, например.

Но и это часто не помогает. Только при строго определнных начальных условиях пакет MathCAD находит правильное решение. Шаг влево, шаг вправо - расстрел Малейший отход от начальных условий - и из слова Find вырывается пламя красное сообщение Did not find solution в той же красной рамке.

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

Кроме того прикладник физик, химик, биолог и т.д решая задачу может сделать разумные допущения, линеаризирующие, например, некоторые выражения или уменьшающие их число. Другое важное преимущество метода последовательных приближений состоит в том, прикладник, зная физика задачи, может менять точность расчтов при обработке выражений, входящих в систему. В блоке Given Find, как было уже отмечено, это не допустимо. В нм можно лишь смягчить эту проблему с другого конца - ввести в выражения балластные нормирующие коэффициенты, уравнивающие их по отношению друг к другу и позволяющие им решаться с одной точностью.

А это опять же потеря физики в угоду математики. Но тем не менее все перечисленные ухищрения часто остаются тщетными из - за того, что система просто не имеет решения, да и вся задача ориентированна не на поиск корней, а на минимизацию некоторых величин. В этом случае функция Find заменяется на функцию Minerr MINimal ERRor. С помощью блока Given Minner можно решать широкий класс оптимизационных задач.

Для решения линейных алгебраических уравнений в пакете MathCAD есть особые инструменты - операторы и функции работы с матрицами и векторами. Элементы матриц и векторов в среде MathCAD должны либо иметь одинаковую размерность, либо быть безразмерными. А это не просто ошибка пакета, а общая методологическая ошибка элементы матрицы могут быть с разнородными размерностями. Матрица и вектор пакета MathCAD имеют родственников на языке BASIC - двумерный и одномерный массивы.

Массив же - это объединение сугубо однотипных величин. Разнотипные переменные объединяются в записи. Что бы примирить физику с математикой, достаточно разрешить в столбцах матрицы помещать величины с разнородными единицами измерений, считая матрицу не только двухмерным массивом простых переменных, но и одномерным массивом векторов. В записи в векторе могут, конечно храниться и однотипные переменные - переменные с одной размерностью или вообще лишенные е. Аналог одномерного массива в MathCAD - это матрица с одним столбцом.

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

Оператор же определения детерминанта должен преобразовывать матрицу как массив векторов. Величины в строках здесь должны быть одной размерности. С точки зрения математика несмотря на отсутствие размерности, что ведт за собой смысловую потерю физики задачи решение в среде MathCAD системы линейных алгебраических уравнений через матрицы более оптимально, чем через блок Given Find отпадает необходимость в начальном приближении у линейной системы не более одного корня - вектора.

Кроме того, матричное решение задачи - точнее. Есть и другие причины по которым приходится отказываться от размерностей. Международная система физических величин СИ базируется на семи основных единицах длина - метр, масса - килограмм, время - секунда, сила тока - ампер, абсолютная температура - кельвин, сила света - кандела и количество вещества - моль. Но в среде MathCAD их только пять длина, масса, время, заряд и абсолютная температура.

Да, как это ни печально, но с единицами измерений при работе в среде MathCAD часто приходится расставаться. Вина здесь не только фирмы MathSoft, но и всей теории размерностей. Дело в том, что эта теория какая - то незаконченная. Недаром е избегают освещать в математических справочниках. В физических же справочниках, когда дело доходит до размерностей, теряется всякая логика. Из - за этого многие научные дисциплины стараются избавиться от пут размерностей, вводя безразмерные величины критерии число Рейнольдца, например, если вспомнить аэродинамику.

Освобождение от размерностей подкреплено целой теорией - теорией подобия. Вс это не могло отразится на развитии пакета MathCAD там упомянутая пятрка размерностей длина, масса, время, заряд и абсолютная температура неудобоварима в психологическом и даже в парапсихологическом смыслах. Химики никак не могут понять, как концентрацию раствора можно измерять только молями, которых, кстати, в пакете MathCAD нет. Сама по себе размерность - понятие скользкое, опирающееся не только на науку, но и на привычки людей, законы искусства и даже на постулаты религии.

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

Семь число совершенное в науке, в искусстве и в религии стоит только перечислить цвета радуги, ноты музыкальной гаммы, дни недели, чудеса света, наиболее промышленно развитые страны мира, античных мудрецов, смертные грехи В классическом варианте языка BASIC семь структурных управляющих конструкций алгоритма цикл с предпроверкой, цикл с постпроверкой, цикл с выходом из середины, альтернатива, функция, процедура и множественное ветвление и семь типов переменных Integer, Long Integer, Single - precision Floating Point, Double - precision Floating Point, Currency, String и Type - тип, заданный пользователем.

Да и сама цифровая вычислительная техника базируется не на числе 8 байт, как принято считать, а на числе 7. Два бита в степени восемь 256 - это число символов в ASC - таблице. Но ASC - таблица ни машиной, ни человеком никогда не воспринимается как единое целое, а всегда разбивается на две половины - верхнюю и нижнюю по 128 знаков в каждой. А это два в степени семь, а не восемь.

Ещ одна базовая размерность лежит на поверхности, но почему - то напрочь отвергается учеными. Это единица измерения стоимости - рубли, доллары, марки и т.д. Из -за этого в среде MathCAD экономические расчты лишены размерности. Кстати, в язык BASIC размерность валюты введена косвенно через новый тип числовых переменных - Currency.

– Конец работы –

Эта тема принадлежит разделу:

Пакет "MathCAD"

Сегодня эту работу нередко выполняет обычный пользователь ПК. Для этого он вынужден изучать языки программирования и многочисленные, подчас весьма… Нередко при этом из под руки способного физика, химика или инженера выходят… Это не вполне нормальное положение может изменить к лучшему применение интегрированных программных систем…

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Решение алгебраических систем

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Общение с внешними устройствами
Общение с внешними устройствами. Система MathCAD обладает обширными возможностями для общения с внешними устройствами. Помимо записи и считывания документов предусмотрена запись и считывание

Система MathCAD версии
Система MathCAD версии. В систему MathCAD версии 3.0 фирма Mathsoft, предназначенную для выполнения научно - технических вычислений, введн ряд новых одна из которых позволяет работать в среде Windo

Великолепная семрка MathCAD
Великолепная семрка MathCAD. Раз мы уж залезли в мистику в описание магических свойств числа семь, то подошла пора рассказа о великолепной семрке MathCAD - о семи видах графиков, используемых для в

Линейная аппроксимация
Линейная аппроксимация. Встроенные функции intercept to intercept по-английски - отложить отрезок на линии и slope наклон решают самую простую и самую распространнную задачу регрессионного а

Программирование
Программирование. Наиболее заметная изюминка шестой версии MathCAD, которую сразу оценили пользователи это встроенный язык программирования. В MathCAD, по сути, не встроен язык программирования, а

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги