Разработка программ компьютерного моделирования
Корреляционный и регрессионный анализ, выявление наличия взаимосвязи между признаками, определение силы (тесноты) и направления связи. Языки программирования, применяемые для разработки программ компьютерного моделирования и математических расчетов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | русский |
Дата добавления | 09.12.2009 |
Размер файла | 222,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Министерство образования Республики Беларусь
Учреждение образования
Белорусский государственный университет
Информатики и радиоэлектроники
Реферат
по дисциплине: КМТС
Минск 2009
Содержание
1. Корреляционный и регрессионный анализ
2. Языки программирования, применяемые для разработки программ компьютерного моделирования
1. Корреляционный и регрессионный анализ
Задачи корреляционного анализа сводятся к измерению тесноты известной связи между варьирующими признаками, определению неизвестных причинных связей (причинный характер которых должен быть выяснен с помощью теоретического анализа) и оценки факторов, оказывающих наибольшее влияние на результативный признак. Задачами регрессионного анализа являются выбор типа модели (формы связи), установление степени влияния независимых переменных на зависимую переменную и определение расчётных значений зависимой переменной (функции регрессии). В регрессионном анализе один из признаков зависит от другого. Первый (зависимый) признак называется в регрессионном анализе результирующим, второй (независимый) - факторным. Не всегда можно однозначно определить, какой из признаков является независимым, а какой - зависимым. Часто связь может рассматриваться как двунаправленная.
Этапы анализа
1 Выявление наличия взаимосвязи между признаками;
2 Определение формы связи;
3 Определение силы (тесноты) и направления связи.
Выявление наличия связи между признаками
Диаграмма рассеяния
Поскольку наиболее простой формой зависимости в математике является прямая, то в корреляционном и регрессионном анализе наиболее популярны линейные модели.
Рис 1 Рис 2
Рис 3 Рис 4
Однако иногда расположение точек на диаграмме рассеяния показывает нелинейную зависимость либо вообще отсутствие связи между признаками (рис 4).
4. Линия регрессии и уравнение регрессии
Диаграмма рассеяния
Линия регрессии
Вычисляемая с помощью метода наименьших квадратов прямая линия называется линией регрессии. Она характеризуется тем, что сумма квадратов расстояний от точек на диаграмме до этой линии минимальна (по сравнению со всеми возможными линиями). Линия регрессии дает наилучшее приближенное описание линейной зависимости между двумя переменными. Уравнение парной линейной регрессии. Как известно, прямая линия описывается уравнением вида:
Y = kX + b
где Y - результирующий признак, X - факторный признак, k и b - числовые параметры уравнения. Коэффициент k в уравнении регрессии называется коэффициентом регрессии.
Смысл коэффициента регрессии. В общем случае коэффициент регрессии k показывает, как в среднем изменится результативный признак (Y), если факторный признак (X) увеличится на единицу.
Свойства коэффициента регрессии. Коэффициент регрессии принимает любые значения. Коэффициент регрессии не симметричен, т.е. изменяется, если X и Y поменять местами. Единицей измерения коэффициента регрессии является отношение единицы измерения Y к единице измерения X
([ Y ] / [ X ]). Коэффициент регрессии изменяется при изменении единиц измерения X и Y. Пример единицы измерения коэффициента регрессии. В уравнении Y = 87610 + 2984 X коэффициент регрессии равен 2984. В каких единицах он измеряется? Поскольку результативный признак Y измеряется в рублях, а факторный признак X в количестве рабочих (чел.), то коэффициент регрессии измеряется в рублях на человека (руб. / чел.)
5. Сравнение коэффициентов корреляции и регрессии
Коэффициент корреляции Принимает значения в диапазоне от -1 до +1 Безразмерная величина Показывает силу связи между признаками Знак коэффициента говорит о направлении связи
Коэффициент регрессии Может принимать любые значения. Привязан к единицам измерения обоих признаков. Показывает структуру связи между признаками. Знак коэффициента говорит о направлении связи
6. Множественная корреляция и регрессия
Усложнение модели. Обычно на зависимую переменную действуют сразу несколько факторов, среди которых трудно выделить единственный или главный. При этом факторы, влияющие на зависимую переменную, как правило, не являются независимыми друг от друга. Мультиколлинеарность. Невозможность сложения влияний отдельных факторов связана с эффектом мультиколлинеарности, или влиянием независимых факторов друг на друга. При этом каждый фактор влияет на результат как непосредственно, так и опосредованно, через связь с другими факторами. Таким образом, совокупное влияние всех независимых факторов на зависимую переменную не может быть представлено как простая сумма нескольких парных регрессий. Это совокупное влияние находится более сложным методом - методом множественной регрессии.
Модель множественной регрессии
7. Уравнение множественной линейной регрессии. Y = a + b 1 X 1 + b 2 X 2 +…+ b k X k X 1, X 2, …, X k независимые переменные (факторы); b 1, b 2, …, b k соответствующие им коэффициенты регрессии
Важнейшим этапом построения регрессионной модели (уравнения регрессии) является установление в анализе исходной информации математической функции. Сложность заключается в том, что из множества функций необходимо найти такую, которая лучше других выражает реально существующие связи между анализируемыми признаками. Выбор типов функции может опираться на теоретические знания об изучаемом явлении, опыт предыдущих аналогичных исследований, или осуществляться эмпирически - перебором и оценкой функций разных типов и т.п. Коэффициенты регрессии. Смысл коэффициента регрессии в уравнении множественной регрессии состоит в том, что он показывает как в среднем изменится значение результативного признака, если соответствующий факторный признак увеличится на единицу при фиксированных значениях всех остальных факторов.
Корреляционный и регрессионный анализ. Исследование связей в условиях массового наблюдения и действия случайных факторов осуществляется, как правило, с помощью статистических моделей. В широком смысле модель - это аналог. Условный образ (изображение, описание, схема, чертёж и т.п.) какого-либо объекта, процесса или события, приближенно воссоздающий «оригинал». Модель представляет собой логическое или математическое описание компонентов и функций, отображающих существенные свойства моделируемого объекта или процесса, даёт возможность установить основные закономерности изменения оригинала. В модели оперируют показателями, исчисленными для качественно однородных массовых явлений (совокупностей). Выражение и модели в виде функциональных уравнений используют для расчёта средних значений моделируемого показателя по набору заданных величин и для выявления степени влияния на него отдельных фактов.
2. Языки программирования, применяемые для разработки программ компьютерного моделирования
Компьютерное моделирование. Издавна человек применяет модели. Это полезно при изучении сложных процессов или систем, конструировании новых устройств или сооружений. Обычно модель более доступна для исследования, чем реальный объект (а есть такие объекты, экспериментировать с которыми невозможно или недопустимо). Как известно модель - это некоторый материальный или идеальный (мысленно представляемый) объект, замещающий объект-оригинал, сохраняя его характеристики, важные для данной задачи. Процесс построения модели называют моделированием. Все способы моделирования можно разделить на две большие группы. В одном случае моделью является предмет, воспроизводящий те или иные геометрические, физические и т.п. характеристики оригинала. Это - материальное (физическое) моделирование. Исследование таких моделей - реальные эксперименты с ними. По-иному происходит работа с информационными (идеальными) моделями, являющимися описаниями объектов-оригиналов с помощью схем, графиков, формул, чертежей и т.п. Для моделирования на ЭВМ любого процесса, заданного при помощи математической модели, необходимо построить моделирующий алгоритм. Желательно записывать его в таком виде, который бы отражал особенности его структуры. Поэтому моделирующий алгоритм представляется в виде логической схемы математической модели, содержащей математические формулы и уравнения. А также логические условия, отражающие последовательность математических вычислений, направления передачи данных, взаимодействия отдельных компонентов математической модели. Следующий важный этап разработки - их компьютерная реализация, которая, в зависимости от сложности моделей заканчивается созданием программ или программных комплексов. Этот этап может включать следующие стадии: выбор языков и систем программирования; разработку блок-схем алгоритмов программ (иерархии объектов) с учетом модульного построения программного комплекса; написание программ и их отладку. Выбор языков и систем программирования зависит от сложности моделей и разрабатываемых программ. В настоящее время наиболее широко применяются языки программирования Fortran, Java, C++, Delphi.
Java (Джава) -- объектно-ориентированный язык программирования, разрабатываемый компанией Sun Microsystems с 1991 года и официально выпущенный 23 мая 1995 года. Изначально новый язык программирования назывался Oak (James Gosling) и разрабатывался для бытовой электроники, но впоследствии был переименован в Java и стал использоваться для написания апплетов, приложений и серверного программного обеспечения. Программы на Java могут быть транслированы в байт-код, выполняемый на виртуальной джава-машине (JVM) -- программе, обрабатывающей байтовый код и передающей инструкции оборудованию, как интерпретатор, но с тем отличием, что байтовый код в отличие от текста обрабатывается значительно быстрее. Язык Java зародился как часть проекта создания передового программного обеспечения (ПО) для различных бытовых приборов. Реализация проекта была начата на языке Си++., но вскоре возник ряд проблем, наилучшим средством борьбы с которыми было изменение самого инструмента -- языка программирования. Стало очевидным, что необходим платформо-независимый язык программирования, позволяющий создавать программы, которые не приходилось бы компилировать отдельно для каждой архитектуры и можно было бы использовать на различных процессорах под различными операционными системами. Язык Java потребовался для создания интерактивных продуктов для сети Internet. Фактически, большинство архитектурных решений, принятых при создании Java, было продиктовано желанием предоставить синтаксис, сходный с Си и Cи++. В Java используются практически идентичные соглашения для объявления переменных, передачи параметров, операторов и для управления потоком выполнением кода. В Java добавлены все хорошие черты Cи++. Три ключевых элемента объединились в технологии языка Java. Он предоставляет для широкого использования свои апплеты (applets) -- небольшие, надежные, динамичные, не зависящие от платформы активные сетевые приложения, встраиваемые в страницы Web. Апплеты Java могут настраиваться и распространяться потребителям с такой же легкостью, как любые документы HTML. Java высвобождает мощь объектно-ориентированной разработки приложений, сочетая простой и знакомый синтаксис с надежной и удобной в работе средой разработки. Это позволяет широкому кругу программистов быстро создавать новые программы и новые апплеты.
Язык C++ явился мощным и стремительным рывком в развитии программирования. C++ и по сей день занимает господствующее положение среди языков программирования в мире. Огромное множество профессиональных программистов использует именно его при разработке разного рода проектов. Очевидно, этот язык будет сохранять свое солидное положение ещё не один год, при этом по-прежнему развиваясь и совершенствуясь. С++ в настоящее время считается господствующим языком, используемым для разработки коммерческих программных продуктов. В последние годы это господство слегка поколебалось вследствие аналогичных претензий со стороны такого языка программирования, как Java, но маятник общественного мнения качнулся в другую сторону, и многие программисты, которые бросили С++ ради Jаvа, в последнее время поспешили вернуться к своей прежней привязанности. В любом случае эти два языка настолько похожи, что, изучив один из них, вы автоматически осваиваете 90%другого. С# -- это новый язык, разработанный Мiсгоsоft для сетевой платформы. cПо существу С# является разновидностью С++, и несмотря на ряд принципиальных отличий, языки С# и С++ совпадают примерно на 90%. Вероятно, пройдет немало времени, прежде чем язык С# составит серьезную конкуренцию языку С++; но даже если это и произойдет, то знание языка С++ окажется существенным преимуществом.
С++ является языком программирования общего назначения. Естественная для него область применения - системное программирование, понимаемое в широком смысле этого слова. Кроме того, С++ успешно используется во многих областях приложения, далеко выходящих за указанные рамки. Реализации С++ теперь есть на всех машинах, начиная с самых скромных микрокомпьютеров - до самых больших супер-ЭВМ, и практически для всех операционных систем.
Delphi -- результат развития языка Турбо Паскаль, который, в свою очередь, развился из языка Паскаль. Паскаль был полностью процедурным языком, Турбо Паскаль, начиная с версии 5.5, добавил в Паскаль объектно-ориентированные свойства, а Delphi -- объектно-ориентированный язык программирования с возможностью доступа к метаданным классов (то есть к описанию классов и их членов) в компилируемом коде, также называемом интроспекцией. Так как все классы наследуют функции базового класса TObject, то любой указатель на объект можно преобразовать к нему, после чего воспользоваться методом ClassType и функцией TypeInfo, которые и обеспечат интроспекцию. Также отличительным свойством Delphi от С++ является то, что объекты по умолчанию располагаются в динамической памяти. Однако можно переопределить виртуальные методы NewInstance и FreeInstance класса TObject. Де-факто Object Pascal, а затем и язык Delphi являются функциональными наращиваниями Turbo Pascal. Об этом говорят обозначения версий компилятора. Так, в Delphi 7 компилятор имеет номер версии 15.0 (Последняя версия Borland Pascal / Turbo Pascal обозначалась 7.0, в Delphi 1 компилятор имеет версию 8.0, в Delphi 2 -- 9.0, и т. д. Номер версии 11.0 носит компилятор Pascal, входивший в состав среды C++ Builder). Delphi оказал огромное влияние на создание концепции языка C# для платформы.NET. Многие его элементы и концептуальные решения вошли в состав С#. Изначально среда разработки была предназначена исключительно для разработки приложений Microsoft Windows, затем был реализован также для платформ GNU/Linux (как Kylix), однако после выпуска в 2002 году Kylix 3 его разработка была прекращена, и, вскоре после этого, было объявлено о поддержке Microsoft.NET. Delphi for.NET -- среда разработки Delphi, а также язык Delphi (Object Pascal), ориентированные на разработку приложений для.NET. Первая версия полноценной среды разработки Delphi для.NET -- Delphi 8. Она позволяла писать приложения только для.NET. В настоящее время, в Delphi 2006, можно писать приложения для.NET, используя стандартную библиотеку классов.NET, VCL для.NET. Среда также позволяет создавать.NET-приложения на C# и Win32-приложения на C++. Delphi 2006 содержит функции для написания обычных приложений с использованием библиотек VCL и CLX. Delphi 2006 поддерживает технологию MDA с помощью ECO (Enterprise Core Objects) версии 3.0.В марте 2006 года компания Borland приняла решение о прекращении дальнейшего совершенствования интегрированных сред разработки JBuilder.
В настоящее время разработаны и широко применяются в научной практике прикладные пакеты программ для выполнения математических расчетов. К таким пакетам можно отнести MATLAB, MAPLE, FEMLAB. Система MATLAB, как и MAPLE, - это одновременно и операционная среда и язык программирования. Одна из наиболее сильных сторон системы состоит в том, что на языке MATLAB могут быть написаны программы для многократного использования. Пользователь может сам написать специализированные функции и программы, которые оформляются в виде М - файлов. По мере увеличения количества созданных программ появляется проблемы их классификации и возникает необходимость их сбора, в специальные папки исходя из выполняемых функций. Это привело к идее создания прикладных программ (ППП), которые представляют собой коллекции М- файлов для решения определенной задачи или проблем. Одним из таких ППП является FEMLAB - мощная интерактивная среда для моделирования и решения научных и технических проблем, описание которых основано на дифференциальных уравнениях в частных производных (Partial Differential Equations - PDE), т.е. основной математической структурой, с которой работает FEMLAB, является система дифференциальных уравнений в частных производных. В FEMLAB существует возможность представлять системы PDE двумя способами: в коэффициентной или общей форме. Возможно создание стационарных (не зависящих от времени) или нестационарных (зависящих от времени), а также линейных и нелинейных моделей, соответствующих либо скалярной, либо многокомпонентной краевой задаче. Пакет поддерживает также задачи на собственные значения и частоты.
Подобные документы
Понятие верификации моделирующих компьютерных программ. Классификация математических моделей. Языки программирования, используемые для имитационных моделирующих программ. Способы исследования реальных систем. Методы повышения валидации и доверия к модели.
шпаргалка [38,8 K], добавлен 02.10.2013Значение компьютерного моделирования, прогнозирования событий, связанных с объектом моделирования. Совокупность взаимосвязанных элементов, важных для целей моделирования. Особенности моделирования, знакомство со средой программирования Турбо Паскаль.
курсовая работа [232,6 K], добавлен 17.05.2011Фильтр Калмана как эффективный рекурсивный метод, оценивающий вектор состояния динамической системы, используя ряд неполных и зашумленных измерений. Сравнительная характеристика алгоритмов компьютерного моделирования случайных последовательностей.
дипломная работа [1,9 M], добавлен 17.06.2017Компьютерное моделирование - вид технологии. Анализ электрических процессов в цепях второго порядка с внешним воздействием с применением системы компьютерного моделирования. Численные методы аппроксимации и интерполяции и их реализация в Mathcad и Matlab.
курсовая работа [1,1 M], добавлен 21.12.2013AnyLogic как инструмент компьютерного моделирования нового поколения. Процесс разработки моделей и реализация имитационных моделей для распространения эпидемического заболевания. Разработка систем обратной связи (диаграммы потоков и накопителей).
контрольная работа [1,8 M], добавлен 21.07.2014Программные средства, применяемые при проектировании радиотехнических устройств. Сравнительные характеристики широко используемых программ математических расчётов. Программы моделирования процессов в радиоэлектронных схемах: сквозное проектирование.
контрольная работа [1,5 M], добавлен 30.01.2010Порядок описание процесса разработки модели для разрешения задачи программирования с помощью средств языка программирования. Структуры данных и основные принципы их построения. Этапы компьютерного моделирования. Этапы и значение написания программы.
курсовая работа [19,5 K], добавлен 19.05.2011Обзор средств компьютерного имитационного моделирования по созданию веб-приложения для визуализации имитационных моделей. Система имитационного моделирования AnyLogic, Arena, SimuLab. Серверная, клиентская часть. Модель работы отдела банка и участка цеха.
дипломная работа [3,3 M], добавлен 25.05.2015Анализ существующих программ трехмерного моделирования. Сравнение программ для создания трехмерной графики. Технологии трехмерного моделирования в Cinema 4D. Проект создания текстовой анимации на основе инструментов "Organicball", "Formula" и "Cloud".
дипломная работа [2,4 M], добавлен 14.11.2017Место и содержание компьютерного моделирования в курсе информатики. Применение цифровых образовательных ресурсов на уроках и для самостоятельного изучения в соответствии с возможностями электронных программ. Программная реализация "Транспортной задачи".
курсовая работа [4,6 M], добавлен 04.05.2014