close

Вход

Забыли?

вход по аккаунту

?

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

код для вставкиСкачать
Введение
Решение задачи на ЭВМ начинается с ее постановки, изложенной на языке строго определенных математических понятий. Поэтому, чтобы можно было решить задачу, связанную с исследованием реального объекта, необходимо сначала описать этот объект в математических терминах, т.е. построить его математическую модель. Математическая модель объекта позволяет поставить задачу математически и тем самым свести решение реальной задачи к решению задачи математической. Далее необходимо найти способ решения этой задачи. Очень часто решение такой задачи не удается получить в явном виде, т.е. в виде формулы, связывающей исходные данные и результаты. В таких случаях решение ищется в виде алгоритма. Следовательно, построение алгоритма - следующий этап решения задачи с использованием ЭВМ.
Слово алгоритм происходит от algorithmi - латинской формы написания имени великого математика IX в. Аль Хорезми, который сформулировал правила выполнения арифметических действий. Первоначально под алгоритмами и понимали только правила выполнения четырех арифметических действий над многозначными числами. В дальнейшем это понятие стали использовать вообще для обозначения последовательности действий, приводящих к решению поставленной задачи.
Способы описания алгоритма
* Словесно-формульный - описание алгоритма на привычном человеку (естественном) языке с необходимыми формульными соотношениями.
* Блок-схема - графический способ описания алгоритма. Обладает прекрасной наглядностью.
* Описание с помощью языка псевдокодов. Язык псевдокода близок к алгоритмическому, но таковым не является.
* Запись алгоритма на одном из алгоритмических языков (программная реализация на одном из ЯП).
Основные свойства алгоритма:
Массовость - применимость к целым сериям исходных данных для однотипных задач
Результативность - алгоритм обязательно должен давать какой-либо результат (решение), или сообщать, что для данных входных данных решения не существует (не может быть найдено). Т.е. алгоритм всегда должен приводить к решению задачи, причем, за конечное число шагов.
Определенность, точность - содержит строгую, не изменяемую произвольным образом последовательность действий. Т.е. каждый шаг алгоритма должен быть четким и однозначным
Дискретность - весь ход решения задачи должен быть разбит на отдельные законченные этапы - шаги алгоритма. Каждый шаг алгоритма должен указывать только одно конкретное действие.
Алгоритм, предназначенный для исполнения на ЭВМ, должен быть записан на языке программирования. Значит, далее идет этап разработки программы для ЭВМ и работа с этой программой.
Постановка задачи.
На этапе постановки задачи должно быть четко определено, что дано, и что требуется найти. Так, если задача конкретная, то под постановкой задачи понимают ответ на два вопроса: какие исходные данные известны и что требуется определить. Если задача обобщенная, то при постановке задачи понадобится еще ответ на третий вопрос: какие данные допустимы. Таким образом, постановка задачи включает в себя следующие моменты: сбор информации о задаче; формулировку условия задачи; определение конечных целей решения задачи; определение формы выдачи результатов; описание данных (их типов, диапазонов величин, структуры и т. п.). Моделирование.
На этом этапе строится математическая модель - система математических соотношений - формул, уравнений, неравенств и т. д., отражающих существенные свойства объекта или явления. Необходимо отметить, что при построении математических моделей далеко не всегда удается найти формулы, явно выражающие искомые величины через данные. В таких случаях используются математические методы, позволяющие дать ответы той или иной степени точности. В случае большого числа параметров, ограничений, возможных вариантов исходных данных модель явления может иметь очень сложное математическое описание (правда, реальное явление еще более сложно), поэтому часто построение математической модели требует упрощения требований задачи. Необходимо выявить самые существенные свойства объекта, явления или процесса, закономерности; внутренние связи, роль отдельных характеристик. Выделив наиболее важные факторы, можно пренебречь менее существенными. Итак, создавая математическую модель для решения задачи, нужно: выделить предположения, на которых будет основываться математическая модель; определить, что считать исходными данными и результатами; записать математические соотношения, связывающие результаты с исходными данными. Построение алгоритма.
Наиболее эффективно математическую модель можно реализовать на компьютере в виде алгоритмической модели. Для этого может быть использован язык блок-схем или какой-нибудь псевдокод, например учебный алгоритмический язык. Разработка алгоритма включает в себя выбор метода проектирования алгоритма; выбор формы записи алгоритма (блок-схемы, псевдокод и др.); выбор тестов и метода тестирования; проектирование самого алгоритма. Программирование.
Первые три этапа - это работа без компьютера. Дальше следует собственно программирование на определенном языке в определенной системе программирования. Программирование включает в себя следующие виды работ: выбор языка программирования; уточнение способов организации данных; запись алгоритма на выбранном языке программирования. Справедливости ради, надо сказать, что этот этап решения задачи было бы правильнее назвать "Компьютерным моделированием", т. к. при решении некоторых задач можно обойтись без составления программы на языке программирования, это можно успешно сделать, используя современные приложения (электронные таблицы, системы управления базами данных и пр.). В этом случае не понадобится и следующий этап - отладка и тестирование программы, а вот проведение расчетов и анализ полученных результатов следует проводить с особой тщательностью. Отладка и тестирование программы.
Под отладкой программы понимается процесс испытания работы программы и исправления обнаруженных при этом ошибок. Обнаружить ошибки, связанные с нарушением правил записи программы на языке программирования (синтаксические и семантические ошибки), помогает используемая система программирования. Пользователь получает сообщение об ошибке, исправляет ее и снова повторяет попытку исполнить программу. Проверка на компьютере правильности алгоритма производится с помощью тестов. Тест - это конкретный вариант значений исходных данных, для, которого известен ожидаемый результат. Прохождение теста - необходимое условие правильности программы. На тестах проверяется правильность реализации программой запланированного сценария. Таким образом, тестирование и отладка включают в себя синтаксическую отладку; отладку семантики и логической структуры программы; тестовые расчеты и анализ результатов тестирования; совершенствование программы. Анализ результатов. Уточнение модели.
Последний этап - это использование уже разработанной программы для получения искомых результатов. Производится анализ результатов решения задачи и в случае необходимости - уточнение математической модели (с последующей корректировкой алгоритма и программы). Программы, имеющие большое практическое или научное значение, используются длительное время. Иногда даже в процессе эксплуатации программы могут исправляться, дорабатываться. Существуют два принципиально различных пути построения компьютерной модели: * создание алгоритма решения задачи и его кодирование на одном из языков программирования; * формирование компьютерной модели с использованием одного из приложений (электронных таблиц, СУБД и т. д.). Четвертый этап исследования информационной модели состоит в проведении компьютерного эксперимента. Если компьютерная модель существует в виде программы на одном из языков программирования, ее нужно запустить на выполнение и получить результаты. Если компьютерная модель исследуется в приложении, например в электронных таблицах, можно провести сортировку или поиск данных, построить диаграмму или график и т. д. Далее выполняется анализ полученных результатов и при необходимости корректировка исследуемой модели. 1. Постановка задачи
В процессе выполнения курсовой работы необходимо определить реакции связей составной конструкции. Рассматривается плоская механическая конструкция, находящаяся в равновесии под действием заданных сил и наложенных связей (рис.1.1). Элементы конструкции считаются абсолютно жесткими. Стержни, изображенные сплошными линиями, невесомые. Трение в шарнирах, катках и точках контакта тел отсутствует.
Рис.1.1- Плоская механическая конструкция
Числовые значения величин задаются формулами (1-5):
(1.1)
(1.2)
(1.3)
(1.4)
(1.5) Требуется определить реакции шарнира С, катковой опоры Е, усилия в невесомых стержнях, давление в точке D.
Для расчета конструкции тела, входящие в систему, освобождаются от связей. Действие связей заменяется их реакциями. Для определенности принимается, что усилия в стержне растягивающие. Уравнения равновесия записываются для весомых тел. Согласно заданию, в ходе выполнения курсовой работы необходимо решить, систему уравнений равновесия, состоящую из шести уравнений относительно шести неизвестных:
1. средствами Excel
2. средствами VBA
Для проверки правильности решения задачи следует составить уравнение, не совпадающее ни с одним из уравнений. Подстановка решения системы в это уравнение должна обращать его в тождество. За счет погрешностей счета и погрешностей округления даже в правильно решенной задаче левая часть контрольного уравнения после подстановки не обращается в ноль и дает "невязку" Δ. Точность решения считается удовлетворительной, если относительная "невязка":
(1.6)
После выполнения расчета необходимо сформировать графические результаты. Необходимо создать список переключателей для выбора силы, список значений для выбора силы, список значений для выбора реакции связи.
При выборе реакции связи Excel в области построения графика должен отобразить соответствующий график. Расчет дополняется условием: определить диапазон значений горизонтально направленной силы F, при которых односторонняя связь в точке E не нарушается, т.е. давление удовлетворяет условию RE>0.
Уравнения равновесия составляются по рассмотренной методике и решаются для двух значений F: один раз - для заданного по условию расчета, другой раз - для F=0.
По полученным данным найти коэффициенты уравнения прямой: k и q (y=kx+q).
Учитывая линейный характер зависимости реакций от F, строим по результатам счета график RE(F).
2. Математическая модель
2.1 Составление уравнений реакций связей составной конструкции
В данном курсовом проекте рассматривается плоская механическая конструкция, находящаяся в равновесии под действием заданных сил и наложенных связей (Рис. 2.1).
Рис. 2.1- Составная конструкция.
Для расчета конструкции тела, входящие в систему, освобождаются от связей. Действие связей заменяется их реакциями (Рис.2.2) и (Рис.2.3). Рис. 2.2 - Первое тело составной конструкции Рис. 2.3 - Второе тело составной конструкции Запишем уравнения равновесия для первого тела составной конструкции:
Аналогично запишем уравнения равновесия для второго тела составной конструкции:
Составим уравнение моментов для проверки правильности решения системы линейных уравнений относительно точки O для первой составной конструкции:
2.2 Метод Гаусса для решения систем линейных уравнений
В основе метода лежит идея последовательного исключения неизвестных. Рассмотрим схему единственного деления.
Для простоты ограничимся рассмотрением СЛАУ с четырьмя неизвестными:
Пусть a11  0 (ведущий элемент). Разделив первое уравнение на a11, получим первую главную строку: Используя уравнение (2.2.2), можно исключить неизвестные x1 из 2-го, 3-го и 4-го уравнений системы (2.2.1). Для этого последовательно умножаем уравнение (2.2.2) на a21; a31; a41 и вычитаем результат из 2-го, 3-го и 4-го уравнений системы (2.2.1) соответственно.
В результате получим систему из трех уравнений:
Далее первое уравнение системы (2.2.3) делим на ведущий элемент и получаем
Аналогично предыдущему шагу, исключая x2, как и x1, получим систему
Разделив первое уравнение системы (2.2.6) на , получим:
Теперь с помощью уравнения (2.2.7) исключим x3 из второго уравнения системы (2.2.6), окончательно получим:
Таким образом, исходную систему (2.2.1) привели к составленной из главных строк (2.2.2), (2.2.5), (2.2.7) и (2.2.8) эквивалентной системе с треугольной матрицей(2.2.9):
Из (2.2.9) последовательно находим
Итак, решение СЛАУ (2.2.1) распадается на два этапа:
прямой ход (приведение системы (2.2.1) к треугольному виду (2.2.9));
обратный ход (определение неизвестных по формуле (2.2.10)).
3. Описание используемых методов
3.1 Мастер диаграмм
Результаты математических вычислений лучше воспринимаются человеком, если они представлены в графическом виде. Для построения графиков функций в MS Excel используется Мастер диаграмм.
Для вызова Матера диаграмм можно воспользоваться пунктом Диаграмма меню Вставка. Построение диаграммы происходит в три этапа.
1. Выбор типа диаграммы.
На втором этапе предлагается указать диапазон ячеек, содержимое которых будет представлено на диаграмме, т.е. указать источник данных диаграммы . Это можно сделать двумя способами:
1). набрать блок ячеек вручную в списке ДИАПАЗОН;
2). выделить интервал с помощью мыши (при этом, если окно МАСТЕРА ДИАГРАММ закрывает нужный интервал, то окно можно отодвинуть, уцепившись мышью за заголовок окна).
Если окажется, что вы выделили не те или не все необходимые ячейки, то можно на этом месте еще раз произвести выбор. На этом же шаге следует указать, где находятся ряды данных - в столбцах или в строках, установив соответствующий флаг.
Ряд данных - это группа связанных точек диаграммы, отображающая значения строк или столбцов.
2. Содержимое третьего диалогового окна зависит от того, какой тип диаграммы был выбран. Здесь выбираются параметры диаграммы, а именно добавляется название диаграммы, названия осей, подписи данных, легенда.
Подписи данных представляют дополнительные сведения о точке данных и отображают значение данного в этой точке. Устанавливаются во вкладке Подписи данных. Здесь можно включить на диаграмме такие подписи данных:
* - если установить флаг значение, то значение подписей данных будут взяты с оси значений (оси Y)
* если установить флаг категории, то в качестве подписей будут использоваться значения с оси X. Легенда - это надпись на диаграмме, определяющая закраску или цвета точек данных или маркеров данных. А маркеры данных - это столбик гистограммы, сегмент круговой диаграммы, закрашенная область, точка или другой геометрический объект диаграммы, обозначающий точку данных. Во вкладке Легенда можно указать, следует ли добавлять в диаграмму легенду с названиями рядов данных и выбрать ее расположение на диаграмме.
3. На этом шаге выбирают место размещения диаграммы - будет ли диаграмма внедрена в ваш рабочий лист или помещена на отдельном листе. При установке флага имеющемся диаграмма будет размещена на имеющемся листе, а при установке флага отдельном в рабочую книгу будет добавлен лист по имени Диаграмма 1, на котором и будет размещена построенная диаграмма.
3.2 Использование надстройки "Поиск решения"
Надстройки - это вспомогательные программы, расширяющие возможности Microsoft Office путем добавления специальных команд и новых функций. Чтобы установить надстройку "Поиск решения", выберите команду Надстройки в меню Сервис, а затем установите флажок Поиск решения. Нажмите кнопку OK, и в Microsoft EXCEL будет установлена надстройка "Поиск решения". Установленную надстройку можно вызвать, выбирая команду Поиск решения в меню Сервис.
В диалоговом окне Поиск решения указывается целевая ячейка, диапазон изменяемых ячеек и, если необходимо, ограничения. В данной курсовой работе надстройка Поиск решения используется для решения задачи линейного программирования.
Перед вызовом надстройки Поиск решения необходимо разместить в ячейках таблицы исходные данные и целевую функцию. В качестве исходных данных выступают коэффициенты X0, Y0, S1, S2, ND, NE и вектор свободных членов в системе уравнений составной конструкции. В курсовом проекте была использована следующая целевая функция: = СУММПРОИЗВ(A4:F4;$A$12:$F$12)
Функция СУММПРОИЗВ(массив1;массив2;массив3; ...) перемножает соответствующие элементы заданных массивов и возвращает сумму произведений. В курсовом проекте функция перемножает матрицу коэффициентов и найденное решение, и результат сравнивает с вектором свободных членов. Данное ограничение задается следующей формулой:
$G$4:$G$9=$I$4:$I$9
В результате выполнения надстройки "поиск решения" будет сформирован вектор столбец, содержащий оптимальное решение системы уравнений.
3.3 Visual Basic for Applications
Visual Basic для приложений (VBA -Visual Basic for Applications) является инструментальным средством разработки приложений в среде основных компонентов Office: Word, Excel, PowerPoint, Access, FrontPage и Outlook. VBA непосредственно связан с языком Visual Basic (VB). Основное различие между ними формулируется следующим образом: проекты VBA выполняются только с помощью приложения, поддерживающего VBA, в то время как Visual Basic позволяет создавать полностью автономные приложения. С другой стороны, синтаксис языков VBA и VB практически одинаков. Оба языка имеют почти одинаковые интегрированные среды разработки. Visual Basic для приложений является объектно-ориентированным языком, предоставляющим возможности визуального программирования. VBA содержит иерархию объектов, каждому из которых соответствует свой набор методов и свойств. Объекты представляют собой фундаментальные "строительные" блоки - почти все, что делается в среде VBA, включает модификацию объектов. Программы на VBA хранятся в проектах. Проект содержит модули различных типов, а модули включают различные процедуры.
Проект может содержать несколько модулей. Имеется три типа модулей:
К первому типу относятся стандартные модули - это модули, в которых можно описать доступные во всем проекте процедуры;
Второй тип составляют модули класса, они содержат описание объекта, который является членом класса. Процедуры, написанные в модуле класса, используются только в этом модуле. Среди модулей класса выделяют модули форм и отчетов, которые связаны с конкретной формой или отчетом. Модули форм и отчетов часто содержит процедуры обработки событий, которые срабатывают в ответ на событие в форме или отчете. Процедуры обработки событий используются для управления поведением форм и отчетов и их реакцией на действия пользователя типа щелчка мыши на кнопке.
К третьему типу относятся модули кода, которые содержат процедуры, каждая из которых относится к автоматизации решения одной конкретной задачи.
Процедура - поименованный набор инструкций. Процедура имеет три основные части:
Описание процедуры - бóльшая часть кода приложения.
Непосредственно описание, которая рассматривается как инструкция для описания переменных, констант, типов данных, а также ссылок на функции, которые хранятся во внешних библиотеках.
Инструкция - единица кода, которая является операцией, описанием или областью определения.
Программы на VBA хранятся в проектах. Проект содержит модули различных типов, а модули включают различные процедуры.
Проект может содержать несколько модулей. Имеется три типа модулей:
стандартные модули - это модули, в которых можно описать доступные во всем проекте процедуры;
модули класса содержат описание объекта, который является членом класса. Процедуры, написанные в модуле класса, используются только в этом модуле. Среди модулей класса выделяют модули форм и отчетов, которые связаны с конкретной формой или отчетом. и Модули форм и отчетов часто содержит процедуры обработки событий, которые срабатывают в ответ на событие в форме или отчете. Процедуры обработки событий используются для управления поведением форм и отчетов и их реакцией на действия пользователя типа щелчка мыши на кнопке.
Модули содержат описания и процедуры - наборы описаний и инструкций, сгруппированных для выполнения. Существует три типа процедур:
процедура Sub - набор команд, с помощью которого можно решить определенную задачу. При ее запуске выполняются команды процедуры, а затем управление передается в приложение пакета MS Office или процедуру, которая вызвала данную процедуру.
процедура Function (функция) также представляет собой набор команд, который решает определенную задачу. Различие заключается в том, что такие процедуры обязательно возвращают значение, тип которого можно описать при создании функции.
процедура Property используется для ссылки на свойство объекта. Данный тип процедур применяется для установки или получения значения пользовательских свойств форм и модулей.
Для создания модуля в любом приложении MS Office необходимо выбрать команду меню Сервис\Макрос\Редактор Visual Basic. В окне "Проект" необходимо щелкнуть правой кнопкой мыши на любом элементе либо в окне редактора выбрать команду меню Вставка, а далее тип модуля. При выборе формы (Userform) для перехода к ее модулю используется команда Вид\Программа или кнопка "Программа" в окне "Проект".
Самое начало модуля называется общей областью, в которой располагаются общие описания, например, типа данных, используемого по умолчанию (Def Тип), инструкция Option Explicit, требующая явного описания всех используемых в модуле переменных, а также описания общих (глобальных) для всех модулей и для данного модуля переменных.
4. Описание используемых операторов
Операторы - используются для объединения простых выражений в сложные, они могут оперировать литералами.
В программе были использованы следующие операторы EXCEL:
1. ABS(число)
2. ЕСЛИ(лог_выражение;значение_если_истина;значение_если_ложь)
3. МАКС(число1;число2; ...)
4. ОКРВВЕРХ(число; точность)
5. СУММПРОИЗВ(массив1;массив2;массив3; ...)
Также были использованы арифметические операторы такие как оператор сложения, вычитания, умножения, деления.
ABS(число) - Возвращает модуль (абсолютную величину) числа. Абсолютная величина числа - это число без знака. Число - это действительное число, модуль которого требуется найти.
ЕСЛИ(лог_выражение;значение_если_истина;значение_если_ложь) - Возвращает одно значение, если заданное условие при вычислении дает значение ИСТИНА, и другое значение, если ЛОЖЬ.
Функция ЕСЛИ используется при проверке условий для значений и формул.
Лог_выражение - это любое значение или выражение, принимающее значения ИСТИНА или ЛОЖЬ. Значение_если_истина - это значение, которое возвращается, если лог_выражение равно ИСТИНА. Если лог_выражение равно ИСТИНА, а значение_если_истина пусто, то возвращается значение 0. Чтобы отобразить слово ИСТИНА, необходимо использовать логическое значение ИСТИНА для этого аргумента. Значение_если_истина может быть формулой.
Значение_если_ложь - это значение, которое возвращается, если лог_выражение равно ЛОЖЬ. Если лог_выражение равно ЛОЖЬ, а значение_если_ложь опущено (то есть после значение_если_истина нет точки с запятой), то возвращается логическое значение ЛОЖЬ. Если лог_выражение равно ЛОЖЬ, а значение_если_ложь пусто (то есть после значение_если_истина стоит точка с запятой с последующей закрывающей скобкой), то возвращается значение 0. Значение_если_ложь может быть формулой.
ОКРВВЕРХ(число; точность) - Возвращает результат округления с избытком до ближайшего числа, кратного точности.
Число - это округляемое значение. Точность - это кратное, до которого требуется округлить.
В курсовом проекте операторы ABS(), ЕСЛИ() и ОКРВВЕРХ() были использованы для формирования значений оси абсцисс, на основе коэффициентов k и b прямой (y=kx+b).
МАКС(число1;число2; ...) - Возвращает наибольшее значение из набора значений.
Число1, число2, ... - от 1 до 30 чисел, среди которых требуется найти наибольшее. Данный оператор использовался для нахождения максимального из найденных значений реакций связей при вычислении "невязки".
СУММПРОИЗВ(массив1;массив2;массив3; ...) - Перемножает соответствующие элементы заданных массивов и возвращает сумму произведений.
Массив1, массив2, массив3, ... - от 2 до 30 массивов, чьи компоненты нужно перемножить, а затем сложить. В курсовой работе данный оператор используется в качестве целевой функции при использовании надстройки поиск решения. Данный оператор перемножает матрицу коэффициентов и вектор столбец неизвестных членов. Если результат совпадает с вектором столбцом свободных членов, значит подобранное решение верное.
Литература
1. Долженков В.А., Колесников Ю.В. Microsoft Excel 2000. СПб.:BHV-С-Петербург, 1999.
2. Ларсен Рональд У. Инженерные расчеты в Excel. - М.: Издательский дом "Вильямс", 2002.
3. М. Додж, К. Стинсон - Эффективная работа с Microsoft Excel 2000 - СПб: Питер, 2001. - 1356 с.: ил.
Приложение 1. Схема алгоритма
ФУНКЦИЯ РЕШЕНИЯ СИСТЕМЫ ЛИНЕЙНЫХ УРАВНЕНИЙ МЕТОДОМ ГАУССА
Документ
Категория
Рефераты
Просмотров
93
Размер файла
1 364 Кб
Теги
пояснительная, записка
1/--страниц
Пожаловаться на содержимое документа