русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Дифференциальные уравнения как математические модели


Дата добавления: 2013-12-23; просмотров: 1118; Нарушение авторских прав


В "цикле – до" тело цикла выполняется всегда, а потом уже проверяется условие.

В "цикле – пока" условие проверяется перед выполнением операторов тела цикла и в зависимости от результата проверки, тело цикла может вовсе не выполняться.

Quot;цикл - до".

Quot;цикл - пока" и

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

Повторение (цикл).

B = 1,5 * а

 

           
   
 
 
 
   

 

 


 

                               
   
 
   
 
 
 
   
 
   
     
    СОЕДИНИТЕЛИ   ЛИНИИ ПЕРЕХОДА
 
     
Соединители используются, когда схема не умещается на одном листе. Внутри соединителей ставятся цифры. Отдельные блоки алгоритмов соединяются между собой линиями потоков информации. Они обозначают порядок выполнения действий.
   
 
   
 
 

 

 


Стрелки устанавливаются в конце пути. За основные направления приняты слева – направо и сверху – вниз, в этих случаях стрелки не ставятся.

 

Блоки схемы имеют сквозную нумерацию сверху – вниз и слева – направо.

2.5. Базовые алгоритмические структуры

Алгоритм любой сложности может быть представлен комбинацией трёх базовых структур:

- следование;

- ветвление;

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



 

 

Процесс, описываемый структурой следования, называется линейным.

Структура "ветвление" разделяет последовательность действий на 2 направления в зависимости от итога заданного условия.

Например: вычислить значения функции

 

 

Алгоритм, в состав которого входит структура "ветвление" называется разветвляющимся.

Структура " повторение" обеспечивает повторное выполнение одного или группы операторов – цикл. Эта группа операторов называется телом цикла.

Различают две разновидности этой структуры:

       
   
Например: вычислить значения функции z = cos x * cos a, если параметр а изменяется в заданных пределах от 0,1 до 1 с шагом 0,2.
 
 

 


       
 
   
Например: вычислить сумму бесконечного ряда с точностью до10-4, при x=2  
 

 

 


Алгоритм, в состав которого входит структура "цикл" называется циклическим.

Общая схема организации алгоритма циклической структуры.

       
   
Например: вычислить конечную сумму (или произведение)
 
 

 


Параметр цикла – это переменная (индекс), которая изменяется (с шагом) при каждом новом выходе на повторение.

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

2.6. Методы алгоритмизации задач

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

- линейные вычисления,

- ветвления,

- выбор,

- циклы, (вложенные циклы),

- подпрограммы.

Задача 3. Вычислить значения функции , в диапазоне изменения x от 0 до 3 с шагом 0.5. Будем использовать алгоритмическую структуру – цикл "до", program С1; . . . . . var y:real; const x:real=0; begin repeat if x>1 then y:=sin(x) else y:=cos(x); writeln('x=',x:6:2, 'y=',y:6:2); x:=x+0.5; until x>3; end.

 

2.7. Основы программирования

Машинный код процессора

Процессор – это большая интегральная схема, содержащая миллионы компонент:

- триггеры для запоминания битов данных,

- вентили для выполнения операций.

Для управления компонентами применяются управляющие сигналы, имеющие два уровня – низкий и высокий.

Множество управляющих сигналов можно связать с набором 0 и 1, которые можно интерпретировать, как число.

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

 

Программа на языке программирования

Машинные коды трудно воспринимаются человеком. Поэтому люди составляют программу на удобном для себя языке.

Программирование на естественном человеческом языке (метаязыке) может использоваться только на этапе составления алгоритма.

ЭВМ исполняет программу в машинных кодах.

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

Трансляторы

Программа на языке программирования для выполнения требует преобразования в машинные коды. Это выполняют трансляторы.

Виды трансляторов:

- компилятор,

- интерпретатор.

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

Достоинства компилятора:

- Транслированная программа может исполняться без компилятора.

- При трансляции может использоваться технология оптимизации.

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

Недостатки компилятора:

- Трудоемкость программирования.

- Сложность тестирования и отладки.

- Сложность остановки.

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

Достоинства интерпретатора:

- Постоянный контроль среды программирования.

- Удобства тестирования и отладки.

- Легкость остановки.

Недостатки интерпретатора:

- Транслированная программа не может исполняться без интерпретатора.

- При трансляции не может автоматически использоваться оптимизация.

- Скорость работы интерпретируемой программы в сотни раз ниже, чем компилируемой.

2.8. Классификация языков программирования

 

Различают языки:

- низкого уровня (машинно-ориентированные),

- высокого уровня.

 

Языки высокого уровня бывают:

- процедурно-ориентированные. Содержат набор универсальных команд (Pascal);

- проблемно-ориентированные. Имеют команды узкого назначения (Mathcad);

- объектно-ориентированные. Программирование на уровне объектов (Delphi, С++);

- событийно-ориентированные. Программирование на уровне событий (С#);

- визуальные. Поддерживают визуальное программирование (Visual Basic);

- комплексные. Поддерживают многие из перечисленных свойств.

 

Различают пять поколений языков программирования:

 

1. Начало 1950-х годов. Язык Ассемблера. Его принцип "Одна инструкция – одна строка". Инструкция на языке однозначно соответствует машинному коду команды.

2. Начало 1950-х – конец 1960-х годов. Язык символического Ассемблера. В нем появилось понятие переменной.

3. 1960-е годы. Универсальные языки программирования.

4. С начала 1970-х годов до настоящего времени. Проблемно-ориентированные языки для создания проектов в узкой предметной области.

5. С середины 1990-х годов до настоящего времени. Языки с автоматизацией программирования. Примеры – языки визуального программирования.

 

Языки низкого уровня

Язык Расшифровка
Assembler Ассемблер.
Macro Assembler Макро Ассемблер

 

Языки высокого уровня

Язык Расшифровка Примечание
Fortran Formula Translator От слов - транслятор формул.
BASIC Beginner’s All-purpose Symbolic Instruction Code Многоцелевой мнемокод для начинающих. Создан в 1960-е годы.
Visual Basic Визуальный BASIC Язык 5-го поколения. Его версия – рабочий язык пакета Microsoft Office.
Cobol Common Business Oriented Language Язык для задач в экономике бизнесе.
Algol Algorithmic Language   Создан для описания алгоритмов. Не получил широкого распространения.
Pascal   Универсальный язык. Создан в 1970-х годах. Один из часто применяемых.
С   Язык для системного программирования. Создан в 1970-х годах компанией Bell.
С++   Объектно-ориентированное расширение С++. Создан в 1980 году Страуструпом.
С# С шарп Многоплатформенная версия С++
Java   Модификация С для Internet. В нем удалены низкоуровневые возможности языка С.

 

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

· объект или процесс однозначно характеризуется конечным набором чисел (фазовых переменных) x1, x2,…, xN.. Пространство, которому принадлежат эти числа, называется фазовым пространством;

· состояние объекта может меняться со временем. Все фазовые переменные зависят только от одной независимой переменной t:
x1(t), x2(t),.., xN(t).Поведение объекта является детерминированным, его состояние зависит только от значений переменных x1, x2,…, xN
в
предшествующие моменты времени;

· все фазовые переменные x1, x2,…, xNявляются гладкими (дифференцируемыми) функциями независимой переменной t;

· фазовые скорости v1, v2,…, vN , (vi = xi¢(t))могут зависеть только от фазовых переменных x1(t), x2(t),.., xN(t)и времени t, но не от xi(t-r), ò xi(t) и пр. Если фазовые скорости v1, v2,…, vN зависят только от x1, x2,…, xNи не зависят явно от времени t, то объект (процесс, явление) ведет себя как автономная система. В противном случае, когда v= v (x,t), система является неавтономной.

Размерность фазового пространства автономной системы совпадает с числом компонент вектора x: N.
Фазовое пространство неавтономной системы имеет размерность
N + 1.
Множество x1, x2,…, xNзадает фазовое пространство неавтономной системы, множество x1, x2,…, xN, tрасширенное фазовое пространство системы.

2. Уравнения вида x¢ = F(x)

Это уравнение допускает детальное качественное исследование. Для этого уравнения можно:

· определить все аттракторы;

· доказать, что именно к ним при t®¥ сходятся все траектории;

· указать, при каких начальных данных траектории выходят на определенный аттрактор.

До сих пор мы имели дело именно с такими уравнениями: уравнение математического маятника, уравнение Ресслера, уравнение роста населения Земли.

Нас интересовали установившиеся режимы и асимптотическое поведение решений при t®¥.

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

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

Качественный анализ дифференциальных уравнений стал особо актуальным для приложений в 30-е годы в связи с анализом радиотехнических систем. Было установлено, что работа генераторов и ряда других электронных приборов тесно связана с реализацией режимов, описываемых устойчивыми предельными циклами. Возникла теория колебаний[1],[2].

Вблизи аттракторов вид траекторий известен. Вдали от равновесий вид фазовых траекторий может быть сложным. Возникает вопрос об упрощении вида траекторий в фазовом пространстве путем замены фазовых переменных, как на приведенных рисунках.

 

 
 

 

 


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



<== предыдущая лекция | следующая лекция ==>
 | Уравнение автокаталитической реакции


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.006 сек.