Устройство управления асинхронными двигателями станка с числовым программным управлением

 
















Пояснительная записка

к курсовой работе

Устройство управления асинхронными двигателями станка с числовым программным управлением



Введение


Решение систем линейных алгебраических уравнений - одна из основных задач вычислительной линейной алгебры. От умения эффективно решать такие системы часто зависит сама возможность математического моделирования самых разнообразных процессов с применением ЭВМ. Значительная часть численных методов решения различных (в особенности - нелинейных) задач включает в себя решение систем линейных уравнений как элементарный шаг соответствующего алгоритма.

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

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

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

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



1. Анализ задачи


1.1Описание предметной области


Система уравнений - это условие, состоящее в одновременном выполнении нескольких уравнений относительно нескольких (или одной) переменных.

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

Системой линейных алгебраических уравнений (СЛАУ) называется система вида:



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

Задачи, соответствующие современным задачам на составление и решение систем уравнений с несколькими неизвестными, встречаются еще в вавилонских и египетских рукописях II века до н.э., а также в трудах древнегреческих, индийских и китайских мудрецов. В китайском трактате «Математика в девяти книгах» словесно изложены правила решения систем уравнений, были замечены некоторые закономерности при решении.

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

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

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


1.2Информационная база задачи


Рассмотрим методы, которые будут использоваться в программе.

Метод Гаусса - классический метод решения системы линейных алгебраических уравнений (СЛАУ). Это метод последовательного исключения переменных, когда с помощью элементарных преобразований система уравнений приводится к равносильной системе треугольного вида, из которой последовательно, начиная с последних (по номеру) переменных, находятся все остальные переменные[2].

Пусть исходная система выглядит следующим образом



Матрица называется основной матрицей системы, - столбцом свободных членов.

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



При этом будем считать, что базисный минор (ненулевой минор максимального порядка) основной матрицы находится в верхнем левом углу, то есть в него входят только коэффициенты при переменных [3].

Тогда переменные называются главными переменными. Все остальные называются свободными.

Если хотя бы одно число, где, то рассматриваемая система несовместна, т.е. у неё нет ни одного решения.

Пусть для любых.

Перенесём свободные переменные за знаки равенств и поделим каждое из уравнений системы на свой коэффициент при самом левом (, где - номер строки):


,


где

Если свободным переменным системы (2) придавать все возможные значения и решать новую систему относительно главных неизвестных снизу вверх (то есть от нижнего уравнения к верхнему), то мы получим все решения этой СЛАУ. Так как эта система получена путём элементарных преобразований над исходной системой (1), то по теореме об эквивалентности при элементарных преобразованиях системы (1) и (2) эквивалентны, то есть множества их решений совпадают.

Метод Крамера - способ решения квадратных систем линейных алгебраических уравнений с ненулевым определителем основной матрицы (причём для таких уравнений решение существует и единственно). Назван по имени Габриэля Крамера (1704-1752), придумавшего метод.

Для системы линейных уравнений с неизвестными (над произвольным полем)



с определителем матрицы системы, отличным от нуля, решение записывается в виде



(i-ый столбец матрицы системы заменяется столбцом свободных членов).

В другой форме правило Крамера формулируется так: для любых коэффициентов c1, c2, …, cn справедливо равенство:



В этой форме формула Крамера справедлива без предположения, что отлично от нуля, не нужно даже, чтобы коэффициенты системы были бы элементами целостного кольца (определитель системы может быть даже делителем нуля в кольце коэффициентов). Можно также считать, что либо наборы и, либо набор состоят не из элементов кольца коэффициентов системы, а какого-нибудь модуля над этим кольцом. В этом виде формула Крамера используется, например, при доказательстве формулы для определителя Грама и Леммы Накаямы.


1.3Постановка задачи


Целью создания программного продукта является автоматизация процесса решения систем уравнений.

К задачам линейной алгебры относятся задачи: решения систем линейных алгебраических уравнений (СЛАУ), нахождения обратных матриц, вычисления определителей матриц, нахождения собственных векторов и собственных чисел матриц. Как показывают исследования, 75% всех расчетных математических задач приходится на решение СЛАУ. Это объясняется тем, что большинство моделей физических систем сами по себе являются линейными. К системам линейных алгебраических уравнений сводятся после дискретизации системы дифференциальных и интегральных уравнений. Линейные алгебраические уравнения являются также результатом локальной линеаризации систем нелинейных уравнений.

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

Численные методы решения СЛАУ делятся на две большие группы: конечные (точные) и приближенные (итерационные).

Конечными (точными) методами называются такие методы, в которых решение получается за конечное число элементарных арифметических операций, зависящее только от порядка системы n. Если элементы исходной матрицы A и вектора правой части B являются целыми или рациональными числами, представленными в виде обыкновенных дробей, и все действия выполняются точно по правилам действий над обыкновенными дробями, то результат будет абсолютно точным. Отсюда и второе название этих методов точные. Однако при произвольном задании элементов матрицы A и вектора правой части B решение, полученное за конечное число шагов, уже не будет абсолютно точным. Его точность будет определяться точностью выполнения арифметических операций на данной ЭВМ.

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

Метод Гаусса и Крамера, которые рассматриваются в работе, относится к точным методам.



2. Проектирование задачи


.1 Выбор и обоснование выбора среды разработки


В данной курсовой работе использовался язык программирования Delphi.

Delphi - императивный, структурированный, объектно-ориентированный язык программирования, диалект Object Pascal. Начиная со среды разработки Delphi 7.0, в официальных документах Borland стала использовать название Delphi для обозначения языка Object Pascal. Начиная с 2007 года уже язык Delphi (производный от Object Pascal) начал жить своей самостоятельной жизнью и претерпевал различные изменения, связанные с современными тенденциями (например, с развитием платформы.NET) развития языков программирования: появились class helpers, перегрузки операторов и другое.

Изначально среда разработки Delphi была предназначена исключительно для разработки приложений Microsoft Windows, затем был реализован вариант для платформ Linux (как Kylix), однако после выпуска в 2002 году Kylix 3 его разработка была прекращена, и вскоре было объявлено о поддержке Microsoft.NET.

Реализация среды разработки проектом Lazarus (Free Pascal, компиляция в режиме совместимости с Delphi) позволяет использовать его для создания приложений на Delphi для таких платформ, как Linux, Mac OS X и Windows CE.

Также предпринимались попытки использования языка в проектах GNU (например, Notepad GNU) и написания компилятора.



2.2 Средство разработки

Pascal - результат развития языка Турбо Паскаль, который, в свою очередь, развился из языка Паскаль. Паскаль был полностью процедурным языком, Турбо Паскаль, начиная с версии 5.5, добавил в Паскаль объектно-ориентированные свойства, а в Object Pascal - динамическую идентификацию типа данных с возможностью доступа к метаданным классов (то есть к описанию классов и их членов) в компилируемом коде, также называемом интроспекцией - данная технология получила обозначение RTTI. Так как все классы наследуют функции базового класса TObject, то любой указатель на объект можно преобразовать к нему, после чего воспользоваться методом ClassType и функцией TypeInfo, которые и обеспечат интроспекцию.

Также отличительным свойством Object Pascal от С++ является то, что объекты по умолчанию располагаются в динамической памяти. Однако можно переопределить виртуальные методы NewInstance и FreeInstance класса TObject. Таким образом, абсолютно любой класс может осуществить «желание» «где хочу - там и буду лежать». Соответственно организуется и «многокучность».Pascal (Delphi) является результатом функционального расширения Turbo Pascal.оказал огромное влияние на создание концепции языка C# для платформы.NET. [источник не указан 361 день] Многие его элементы и концептуальные решения вошли в состав С#. Одной из причин называют переход Андерса Хейлсберга, одного из ведущих разработчиков Дельфи, из компании Borland Ltd. в Microsoft Corp.

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

Последующие версии (обозначаемые годами выхода, а не порядковыми номерами, как это было ранее) могут создавать как приложения Win32, так и байт-код для платформы.NET.for.NET - среда разработки Delphi, а также язык Delphi (Object Pascal), ориентированные на разработку приложений для.NET.

Первая версия полноценной среды разработки Delphi для.NET - Delphi 8. Она позволяла писать приложения только для.NET. Delphi 2006 поддерживает технологию MDA с помощью ECO (Enterprise Core Objects) версии 3.0.

В марте 2006 года компания Borland приняла решение о прекращении дальнейшего совершенствования интегрированных сред разработки JBuilder, Delphi и C++ Builder по причине убыточности этого направления. Планировалась продажа IDE-сектора компании. Группа сторонников свободного программного обеспечения организовала сбор средств для покупки у Borland прав на среду разработки и компилятор.

Однако в ноябре того же года было принято решение отказаться от продажи IDE бизнеса. Тем не менее, разработкой IDE продуктов теперь будет заниматься новая компания - CodeGear, которая будет финансово полностью подконтрольна Borland.

В августе 2006 года Borland выпустил облегченную версию RAD Studio под именем Turbo: Turbo Delphi (для Win32 и.NET), Turbo C#, Turbo C++.

В марте 2008 года было объявлено о прекращении развития этой линейки продуктов.

В марте 2007 года CodeGear порадовала пользователей обновленной линейкой продуктов Delphi 2007 for Win32 и выходом совершенно нового продукта Delphi 2007 for PHP.

В июне 2007 года CodeGear представила свои планы на будущее, то есть опубликовала так называемый roadmap[6].RAD Studio 2010

августа 2008 года компания Embarcadero, новый хозяин CodeGear, опубликовала пресс-релиз на Delphi for Win32 2009 [7]. Версия привнесла множество нововведений в язык, как то:

По умолчанию полная поддержка Юникода во всех частях языка, VCL и RTL; замена обращений ко всем функциям Windows API на юникодные аналоги (то есть MessageBox вызывает MessageBoxW, а не MessageBoxA).

Обобщённые типы, они же generics.

Анонимные методы.

Новая директива компилятора $POINTERMATH [ON|OFF].

Функция Exit теперь может принимать параметры в соответствии с типом функции.

Вышедшая в 2011 году версия Delphi XE2 добавила компилятор Win64 и кросс-компиляцию для операционных систем фирмы Apple.


2.3 Разработка алгоритма работы программы

алгоритм программа интерфейс аппаратный

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

·Сохранение матриц

·Открытие сохраненных матриц

·Очистка рабочего поля

·Автоматическое заполнение полей матрицы для теста программы

·Окно выбора способа решения (Метод Крамера / Метод Гаусса)

·Выбор размерности матрицы

·Информация о программе

В программе будут использоваться следующие процедуры и функции:

·Процедура Getmatr_k для получения обработанной матрицы для метода Крамера


procedure Getmatr_k (wout: Integer; Var m: matr_k); // Процедура получения

var i, j: Integer; // матрицы для метода Крамера

begini:= 1 to nk doj:= 1 to nk doj <> wout then m [i, j]:= ak [i, j]m [i, j]:= ak [i, Succ(nk)]

end;


·Функция Det для решения по методу КрамераDet (ak: matr_k; nk: integer): Double; // Функция решения метода Крамера

var i, j, k: Integer; d: Double;= 10E-6;i:= 1 to Pred(nk) doAbs (ak[i, i]) < Eps then:= 0.0; Exit;

j:= Succ(i) to nk do:= ak [j, i] / ak [i, i];k:= i to nk do[j, k]:= ak [j, k] - d * ak [i, k];;;:= 1.0;i:= 1 to nk do:= d * ak [i, i];:= d;


·Необходимый код для решения методом Гаусса


BeginI:= 0 to n - 1 do b [i + 1]:= StrToFloatDef (StringGrid2. Cells [0, i], 0);

// Прямой ход - исключение переменных

for i:=1 to n-1 doj:=i+1 to n do[j, i]:=-a [j, i]/a [i, i];k:=i+1 to n do[j, k]:=a [j, k]+a [j, i]*a [i, k];[j]:=b[j]+a [j, i]*b[i];

x[n]:=b[n]/a [n, n];

// Обратный ход - нахождение корней

for i:=n-1 downto 1 do:=b[i];j:=i+1 to n do h:=h-x[j]*a [i, j];[i]:=h/a [i, i];

// Вывод результатаi:=1 to n do ListBox1. Items. Append ('x(' + IntToStr(i) + ') = ' + FloatToStr (x[i]));

End


2.4 Проектирование системы меню


Система меню должна быть проста и интуитивно понятна. Она будет содержать следующие пункты:

·Файл

·Открыть - Открытие сохранённой матрицы;

·Сохранить - Сохранение введённой матрицы;

·Выход - Выход из программы;

·Правка

§Заполнить - Произвольное заполнение матриц для теста;

§Очистить - Очитка всех полей;

§Справка

§О программе - информация о программе



3. Описание программы


.1 Назначение и область


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

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


.2 Описание интерфейса


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



Рисунок 1 - Интерфейс программы


3.3 Требование к аппаратным и программным ресурсам


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



4. Тестирование


Для тестирования программного продукта будем использовать систему:



Рисунок 2 - Тестирование - Метод Гаусса


Рисунок 3 - Тестирование - Метод Крамера

Как видим, в двух методах программа показывает одинаковые результаты.

Для проверки результата вопрользуемся интернет-ресурсом www.math.semestr.ru


Рисунок 4 - Интернет-ресурс www.math.semestr.ru


В результате получилось следующее:

Решение СЛАУ методом Жордано-Гаусса.

Запишем систему в виде:


Последовательно будем выбирать разрешающий элемент РЭ, который лежит на главной диагонали матрицы.

Разрешающий элемент равен (41).

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

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

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


НЭ = СЭ - (А*В)/РЭ


РЭ - разрешающий элемент (41), А и В-элементы матрицы, образующие прямоугольник с элементами СТЭ и РЭ.

Представим расчет каждого элемента в виде таблицы:


x1x2x3x4B41 / 41 = 12 / 41 = 0.048838 / 41 = 0.9332 / 41 = 0.7813 / 41 = 0.32


Разрешающий элемент равен (10.07).

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

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

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


Разрешающий элемент равен (-66.44).

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

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

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


Разрешающий элемент равен (-22.71).

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

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

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

1 = -0.462 = -0.53 = 2.214 = -1.6

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



5. Применение


.1 Установка и условия использования


На данный момент программа предоставляется в виде исполняемого exe файла и не требует установки. Также она является совершенно бесплатной и может использоваться любым пользователем.


5.2 Демонстрационный пример работы


Рисунок 5 - Демонстрация программы



Заключение


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

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

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



Список использованной литературы


1.Ильин В.А., Позняк Э.Г. Линейная алгебра: Учебник для вузов. - 6-е изд., стер. - М.: ФИЗМАТЛИТ, 2004. - 280 с.

2.Амосов А.А., Дубинский Ю.А., Копченова Н.П. Вычислительные методы для инженеров. - М.: Мир, 1998.

.Бахвалов Н.С., Жидков Н.П., Кобельков Г.Г. Численные методы. - 8-е изд. - М.: Лаборатория Базовых Знаний, 2000.

.Волков Е.А. Численные методы. - М.: Физматлит, 2003.

.Корн Г., Корн Т. Справочник по математике для научных работников и инженеров. - М.: Наука, 1970. - С. 575-576.

.Кремер Н.Ш., Путко Б.А., Тришин И.М., Фридман М.Н. Высшая математика для экономистов / Под ред. Н.Ш. Кремера. - 3-е изд. - М.: ЮНИТИ-ДАНА, 2007. - 479 с. - ISBN 5-238-00991-7

.Нил Дж. Рубенкинг. Язык программирования Delphi для «чайников». Введение в Borland Delphi 2006 = Delphi for Dummies. - М.: Диалектика, 2007. - 336 с. - ISBN 0-7645-0179-8

8.Хавьер Пашеку. Программирование в Borland Delphi 2006 для профессионалов = Delphi for.NET Developers Guide. - М.: Вильямс, 2006. - 944 с. - ISBN 0-672-32443-X

9.А.Н. Вальвачев, К.А. Сурков, Д.А. Сурков, Ю.М. Четырько. Программирование на языке Delphi. Учебное пособие. - 2005.



Приложение


Листинг программы


unit Unit3;


interface

, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Grids, StdCtrls, Menus;

MaxDimension = 10;


= array [1..MaxDimension] of Double;= array [1..MaxDimension] of Vector;= Array [1. MaxDimension, 1. Succ(MaxDimension)] Of Double;_k = Array [1. MaxDimension, 1. MaxDimension] Of Double;= class(TForm): TLabel;: TEdit;: TStringGrid;: TStringGrid;: TButton;: TLabel;: TLabel;: TListBox;: TMainMenu;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TComboBox;: TLabel;: TOpenDialog;: TSaveDialog;

Edit1Change (Sender: TObject);Button1Click (Sender: TObject);FormCreate (Sender: TObject);N9Click (Sender: TObject);N3Click (Sender: TObject);ComboBox1Change (Sender: TObject);N5Click (Sender: TObject);N6Click (Sender: TObject);N7Click (Sender: TObject);N8Click (Sender: TObject);

{Private declarations}

{Public declarations};


var: TForm3;: Equation;: integer;



{$R *.dfm}

Getmatr_k (wout: Integer; Var m: matr_k); // Процедура получения i, j: Integer; // матрицы для метода Крамера

begini:= 1 to nk doj:= 1 to nk doj <> wout then m [i, j]:= ak [i, j]m [i, j]:= ak [i, Succ(nk)];

Det (ak: matr_k; nk: integer): Double; // Функция решения метода Крамераi, j, k: Integer; d: Double;= 10E-6;i:= 1 to Pred(nk) doAbs (ak[i, i]) < Eps then:= 0.0; Exit;

j:= Succ(i) to nk do:= ak [j, i] / ak [i, i];k:= i to nk do[j, k]:= ak [j, k] - d * ak [i, k];;;:= 1.0;i:= 1 to nk do:= d * ak [i, i];:= d;

TForm3. Button1Click (Sender: TObject); // Кнопка Решитьa: Matrix; // Метод Гаусса, x: Vector;, d, Determ: Double;, j, k, n:integer;: matr_k;= 10E-6;

ListBox1. Clear;

// Ввод данных

// Размерность системы

n:= StrToIntDef (Text, StringGrid1. ColCount);

// Коэффициентыj:= 0 to n - 1 doi:= 0 to n - 1 do[i + 1, j + 1]:= StrToFloatDef (StringGrid1. Cells [j, i], 0);

// Правая часть уравнения

If ComboBox1. ItemIndex=0 thenI:= 0 to n - 1 do b [i + 1]:= StrToFloatDef (StringGrid2. Cells [0, i], 0);

// Прямой ход - исключение переменных

for i:=1 to n-1 doj:=i+1 to n do[j, i]:=-a [j, i]/a [i, i];k:=i+1 to n do[j, k]:=a [j, k]+a [j, i]*a [i, k];[j]:=b[j]+a [j, i]*b[i];[n]:=b[n]/a [n, n];

// Обратный ход - нахождение корней

for i:=n-1 downto 1 do:=b[i];j:=i+1 to n do h:=h-x[j]*a [i, j];[i]:=h/a [i, i];

// Вывод результатаi:=1 to n do ListBox1. Items. Append ('x(' + IntToStr(i) + ') = ' + FloatToStr (x[i]));Else:=n;j:= 0 to nk - 1 doi:= 0 to nk - 1 do[i + 1, j + 1]:= StrToFloatDef (StringGrid1. Cells [j, i], 0);i:=0 to nk-1 do[i + 1, nk+1]:= StrToFloatDef (StringGrid2. Cells [0, i], 0);_k (Succ(nk), mx);:= Det (mx, nk);

Abs(Determ) < 1E-6 Then('matr_k determinant = 0')i:= 1 To nk Do_k (i, mx);. Items. Append ('x(' + IntToStr(i) + ') = ' + FloatToStr (Det(mx, nk) / Determ));;;

TForm3. Edit1Change (Sender: TObject); // Размерность матрицыStringGrid1, Edit1 do:= StrToIntDef (Text, 3);:= StrToIntDef (Text, 3);;StringGrid2, Edit1 do:= StrToIntDef (Text, 3);TForm3. FormCreate (Sender: TObject); // Начальные параметры программы

var i, j: integer;

begin

// Заполнить коэф уравнения

Form3. Width:=486;. Height:=426;;I:= 0 to StrToIntDef (Text, StringGrid1. ColCount) - 1 doJ:= 0 to StrToIntDef (Text, StringGrid1. RowCount) - 1 do. Cells [I, J]:= IntToStr (Random(100));I:= 0 to StrToIntDef (Text, StringGrid2. RowCount) - 1 do. Cells [0, I]:= IntToStr (Random(100));

TForm3.N9Click (Sender: TObject); // Кнопка Очистка:byte;StringGrid1 doi:=0 to ColCount-1 do[i].Clear;StringGrid2 doi:=0 to ColCount-1 do[i].Clear;. Clear;;

TForm3.N3Click (Sender: TObject); // Кнопка Заполнить i, j: integer;

begin

// Заполнить коэф уравнения

Randomize;I:= 0 to StrToIntDef (Text, StringGrid1. ColCount) - 1 doJ:= 0 to StrToIntDef (Text, StringGrid1. RowCount) - 1 do. Cells [I, J]:= IntToStr (Random(50));I:= 0 to StrToIntDef (Text, StringGrid2. RowCount) - 1 do. Cells [0, I]:= IntToStr (Random(50));

TForm3. ComboBox1Change (Sender: TObject); // Выбор методов решенияComboBox1. ItemIndex=0 then. Clear. Clear;;

TForm3.N5Click (Sender: TObject); // Кнопка «О программе»(Handle, PChar ('Решение СЛАУ 1.0'+#13#10+#13+'Автор: Илья Струневский')('О программе'), MB_ICONINFORMATION+MB_OK);;

TForm3.N6Click (Sender: TObject); // Кнопка Открыть: textfile;, x, y: integer;: string;not OpenDialog1. Execute then;(f, OpenDialog1. FileName);(f);(f, temp);.colcount:= temp;. Text:=inttostr(temp);(f, temp);.rowcount:= temp;X:= 0 to stringgrid1.colcount - 1 doy:= 0 to stringgrid1.rowcount - 1 do(F, tempstr);.cells [x, y]:= tempstr;;(f, temp);.rowcount:= temp;y:= 0 to stringgrid2.rowcount - 1 do(F, tempstr);.cells [0, y]:= tempstr;;(f);;

TForm3.N7Click (Sender: TObject); // Кнопка Сохранить: textfile;, y: integer;not SaveDialog1. Execute then;(f, SaveDialog1. FileName);(f);(f, stringgrid1.colcount);(f, stringgrid1.rowcount);X:= 0 to stringgrid1.colcount - 1 doy:= 0 to stringgrid1.rowcount - 1 do(F, stringgrid1.cells [x, y]);(f, stringgrid2.rowcount);y:= 0 to stringgrid2.rowcount - 1 do(F, stringgrid2.cells [0, y]);(f);;

TForm3.N8Click (Sender: TObject); // Кнопка Выход. Close;;

.


Пояснительная записка к курсовой работе Устройство управления асинхронными двигателями станка

Больше работ по теме:

Учебный транслятор
Курсовая работа (т)
Учет внутриофисных расходов
Курсовая работа (т)
Файловая система
Курсовая работа (т)
Федеральный закон об электронной подписи – что нового
Курсовая работа (т)
Финансовая функция КПЕР
Курсовая работа (т)

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ