Исследование RC-генератора синусоидальных колебаний

38479
знаков
9
таблиц
12
изображений

СОДЕРЖАНИЕ


1. ПОСТАНОВКА ЗАДАЧИ 3

2. МАТЕМАТИЧЕСКАЯ ФОРМУЛИРОВКА ЗАДАЧИ 4

2.1 ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ ЛИНЕЙНОЙ ЧАСТИ 4

2.2 Уравнение усилителя 4

2.3 Конечно-элементная модель усилителя 5

3. ФУНКЦИОНАЛЬНОЕ ПРОЕКТИРОВАНИЕ ПРОГРАММНОГО КОМПЛЕКСА 6

4. МОДУЛИ РЕШЕНИЯ СИСТЕМЫ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ 7

4.1 Описание метода Рунге - Кутта четвертого порядка 7

4.2 Описание алгоритма одного шага 8

4.3 Блок - схема алгоритма одного шага по методу Рунге - Кутта 9

4.4 Подпрограмма одного шага по методу Рунге-Кутта. 10

4.5 Описание алгоритма метода Рунге - Кутта с автоматическим выбором шага 10

4.6 Блок - схема алгоритма метода Рунге - Кутта с автоматическим выбором шага 12

4.7 Подпрограмма метода Рунге - Кутта с автоматическим выбором шага 13

4.8 Тестовая задача 15

4.9 Результаты тестирования 16

4.10 Квадратичная конечно-элементная модель усилителя 17

4.10.1 Описание алгоритма 17

4.10.2 Блок - схема алгоритма модели усилителя 18

4.10.3 Подпрограмма - модель усилителя 18

4.10.4 Решение тестовой задачи 19

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

4.12 Подпрограмма вывода 20

4.13 Главный модуль решения системы уравнений 21

5. ЧИСЛЕННОЕ МОДЕЛИРОВАНИЕ АВТОГЕНЕРАТОРА 22

5.1 Пробные решения 22

5.2 Решение для спектрального анализа выходного напряжения 24

5.3 Решения для установления зависимостей параметров от 25

6. ПРОГРАММЫ ОБРАБОТКИ РЕЗУЛЬТАТОВ МОДЕЛИРОВАНИЯ 26

6.1 Программа численного интегрирования по методу трапеций 26

6.2 Блок - схема алгоритма вычисления амплитуд гармоник 27

6.3 Результаты гармонического анализа 28

7. ЛИТЕРАТУРА 30


1.ПОСТАНОВКА ЗАДАЧИ

Выполнить исследование RC-генератора синусоидальных колебаний (Рисунок. 1)


Рисунок 1

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

Передаточная функция линейной части

,

где .

Нелинейная зависимость выходного напряжения усилителя от его входного напряжения приведена в таблице 1


Таблица 1


U1

-0,125

-0,1

-0,075

-0,05

-0,025

0

0,025

0,05

0,075

0,1

0,125

U2

3

2,75

2,4

1,73

1

0,02

-1

-1,73

-2,4

-2,75

-3


Численными экспериментами на ЭВМ найти зависимости:

периода Т установившихся автоколебаний от параметра ,

амплитуды U2max выходного напряжения U2(t) от ,

амплитуды An n-ой гармоники выходного напряжения от ее номера n ,

коэффициента усиления электронного усилителя в режиме установившихся автоколебаний от .

Найденные экспериментально зависимости аппроксимировать степенными многочленами.

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

Для вывода графиков и таблиц разрешается использовать библиотечную подпрограмму KRIS. Все остальные программные модули разработать самостоятельно.

2.МАТЕМАТИЧЕСКАЯ ФОРМУЛИРОВКА ЗАДАЧИ 2.1ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ ЛИНЕЙНОЙ ЧАСТИ

Запишем систему дифференциальных уравнений линейной части RC-генератора. Для этого преобразуем ее передаточную функцию

( 1 )

( 2 )

Введем первую вспомогательную переменную , определяемую из уравнения

( 3 )

Подставляя ( 3 ) в ( 2 ), получаем

( 4 )

Сокращая на и группируя в правой части члены, не содержащие , получаем

( 5 )

Введем вторую вспомогательную переменную , определяемую из уравнения

( 6 )

Подставляя ( 6 ) в ( 5 ), получаем

( 7 )

Снова сокращая на и группируя в правой части члены, не содержащие , получаем

( 8 )

Введем третью вспомогательную переменную , определяемую из уравнения

( 9 )

Подставляя ( 9 ) в ( 8 ) и сокращая на , получаем

( 10 )

Переходя в уравнениях ( 10 ), ( 9 ), ( 6 ), ( 3 ) от изображений переменных к их оригиналам, получаем систему уравнений

( 11 )

( 12 )

( 13 )

( 14 )

Здесь - функция, определяемая нелинейной характеристикой усилителя.

Так как генератор должен самовозбуждаться, то решение системы ( 11 ) - ( 14 ) можно выполнять от любых начальных условий, в том числе и от нулевых.

2.2Уравнение усилителя

Уравнение ( 11 ) представляет собой нелинейное уравнение, которое необходимо решать при каждом вычислении правых частей системы.

Можно решать это уравнение методом итераций. Но есть более простой путь.

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

Вычисленная характеристика представлена в таблице 2.

Таблица 2


z3

-3,125

-2,85

-2,475

-1,78

-1,025

-0,02

1,025

1,78

2,475

2,85

3,125

U1

-0,125

-0,1

-0,075

-0,05

-0,025

0

0,025

0,05

0,075

0,1

0,125


2.3Конечно-элементная модель усилителя

Для построения квадратичного конечного элемента используем интерполяционную формулу Лагранжа

( 15 )

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

( 16 )

Данные в этом случае необходимо выбирать из таблицы 3, полученной из таблиц 1 и 2.

Таблица 3


z3

-3,125

-2,85

-2,475

-1,78

-1,025

-0,02

1,025

1,78

2,475

2,85

3,125

U2

3

2,75

2,4

1,73

1

0,02

-1

-1,73

-2,4

-2,75

-3


3.ФУНКЦИОНАЛЬНОЕ ПРОЕКТИРОВАНИЕ ПРОГРАММНОГО КОМПЛЕКСА

Функционально программный комплекс должен состоять из двух независимых частей:

программы - модели RC - генератора;

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

Модель RC - генератора должна, в свою очередь, включать:

модуль, вызывающий подпрограмму метода Рунге - Кутта;

модули метода Рунге - Кутта;

модуль - модель усилителя;

модуль правых частей ;

модуль вывода результатов одного шага интегрирования.

Для программной реализации метода Рунге - Кутта удобно использовать два модуля:

модуль, выполняющий один заданный шаг метода;

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

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

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

программу численного интегрирования по методу трапеций;

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

4.МОДУЛИ РЕШЕНИЯ СИСТЕМЫ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ
4.1 Описание метода Рунге - Кутта четвертого порядка

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

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

или

где

- неизвестная функция от независимой переменной ;

- известная функция.

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

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

В качестве первой точки берут начальную точку шага .

Производная в этой точке равна

,

где - правая часть уравнения .

В качестве второй точки на плоскости решения выбирают точку с координатами .

Производная во второй точке равна

Для третьей точки берут координаты и вычисляют производную

Наконец, для четвёртой точки берут координаты и вычисляют производную

По полученным четырём значениям производной находят средневзвешенное значение

Теперь, находят координаты конечной точки шага.

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


4.2Описание алгоритма одного шага

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

Таблица 4

Имя

Тип

Назначение

PRAV

Подпрограмма.

Подпрограмма, возвращающая значения производных.

N

Целый.

Порядок решаемой системы.

XN

Вещественный.

Исходный массив начальной точки шага.

XK

Вещественный.

Результирующий массив конечной точки шага.

F

Вещественный.

Массив возвращаемых подпрограммой РRAV производных.

TN

Вещественный.

Начальное на шаге значение независимой переменной.

K

Целый.

Номер переменной.

J

Целый.

Номер частичного приращения.

T

Вещественный.

Независимая переменная.

H

Вещественный.

Задаваемая величина шага.

P

Вещественный

Массив размера (4,2), содержащий необходимые для вычисления и накопления приращений константы (0,.5,.5,1,6,3,3,6)

R

Вещественный

Рабочий массив размера (N,3)


Блок-схема алгоритма изображена на Рисунке 2. Номер переменной записан как верхний индекс.

В цикле с номерами блоков 2, 3, 4, 5 обнуляются второй и третий столбцы рабочего массива R.

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

Блок 7 задает в цикле последовательно значения независимой переменной : TN, TN+0.5H, TN+0.5H, TN+H .Константы 0, 0.5, 0.5 и 1 содержатся в первом столбце массива Р.

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

В блоке 12 выполняется обращение к подпрограмме вычисления производных. Подпрограмме передается значение независимой переменной и первый столбец рабочего массива, содержащий значения зависимых переменных в задаваемой точке. Подпрограмма возвращает массив F значений производных.

В цикле 13 - 16 во второй столбец рабочего массива по вычисленным значениям производных записываются приращения, а в третьем столбце накапливаются суммы четырех приращений с весовыми коэффициентами 1/6, 1/3, 1/3, 1/6 . Константы 6, 3, 3, 6 для этого хранятся во втором столбце массива Р.

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

В блоке 23 вычисляются производные в конечной точке шага.


4.3Блок - схема алгоритма одного шага по методу Рунге - Кутта

Рисунок 2

4.4Подпрограмма одного шага по методу Рунге-Кутта.

SUBROUTINE SH(TN,H,XN,XK,F,PRAV,N,R)

DIMENSION XN(N),XK(N),F(N),P(4,2),R(N,3)

DATA P/0.,.5,.5,1.,6.,3.,3.,6./

DO 1 K=1,N

R(K,2)=0.

1 R(K,3)=0.

DO 4 J=1,4 ! Начало внешнего цикла определения 4-х приращений

T=TN+P(J,1)*H ! Задание независимой переменной.

DO 2 K=1,N ! Цикл задания массива значений зависимых переменных.

2 R(K,1)=XN(K)+P(J,1)*R(K,2)

CALL PRAV(T,R,F,N) ! Вычисление производных в заданной точке.

DO 3 K=1,N ! Цикл вычисления и накопления частичных приращений.

R(K,2)=H*F(K)

3 R(K,3)=R(K,3)+R(K,2)/P(J,2)

4 CONTINUE

DO 5 K=1,N

5 XK(K)=XN(K)+R(K,3) ! Вычисление переменных в конечной точке.

CALL PRAV(TN+H,XK,F,N) ! Вычисление производных в конечной точке.

RETURN

END


4.5Описание алгоритма метода Рунге - Кутта с автоматическим выбором шага

Блок -схема алгоритма приведена на Рисунке 3.

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

Таблица 5

Имя

Тип

Назначение

PRAV

Подпрограмма.

Подпрограмма, возвращающая значения производных.

OUT

Подпрограмма.

Подпрограмма, составляемая Пользователем для вывода результатов.

N

Целый.

Порядок решаемой системы.

X

Вещественный.

Массив размера (N,4).

R

Вещественный.

Рабочий массив размера (N,3).

F

Вещественный.

Массив размера (N,4).

TN

Вещественный.

Начальное на шаге значение независимой переменной.

TK

Вещественный.

Конец интервала интегрирования.

T

Вещественный.

Независимая переменная.

Вещественный.

Задаваемая величина максимального шага.

E

Вещественный.

Задаваемое значение абсолютной погрешности.

EH

Вещественный.

Погрешность, вычисленная на шаге.

IER

Целый.

Выходной код ошибки.

H

Вещественный.

Текущий шаг.

HB

Вещественный.

Удвоенный шаг.

T

Вещественный.

Текущее значение независимой переменной.

T1

Вещественный.

T1=T+H

T2

Вещественный.

T2=T+2H

KP

Целый.

Признак достижения конца интервала интегрирования.

KLP

Целый.

Признак вывода последовательно двух вычисленных точек.

K

Целый.

Индекс.


Второй столбец массива Х должен содержать весовые коэффициенты погрешности, на которые умножаются найденные погрешности каждой интегральной переменной, чтобы после сложения этих произведений получить общий критерий погрешности системы и сравнить его с заданной погрешностью. Во втором столбце они задаются с целью удобства ввода. Первый столбец массива Х заполняется начальными условиями, а затем , подряд, вводятся весовые коэффициенты. Алгоритм начинается с переписывания весовых коэффициентов в четвертый столбец массива F (блоки 2,3). Номера столбцов обозначены нижним индексом, а номера строк - верхним. После задания начальных значений параметров (4) вызывается подпрограмма вычисления производных (5) в начальной точке интервала интегрирования и начальная точка с производными в ней передается подпрограмме вывода (40). Затем начинается основной цикл выполнения шагов интегрирования. Задается шаг, равный максимальному (6), и выполняются шаги из точки Т в точку Т1 и из точки Т1 в точку Т2. Результаты записываются, соответственно, во второй и третий столбцы массивов X и F. Затем, для проверки точности выполняется удвоенный шаг из точки Т в точку Т2. Результаты этого шага записываются в четвертый столбец массива Х и в первый столбец массива F . В цикле (13, 14) накапливается критерий погрешности ЕН, как сумма взятых с весами погрешностей по каждому из уравнений. Погрешность каждой переменной вычисляется как 1/15 модуля разности между значениями этой переменной, вычисленными с разными шагами. Далее выполняется анализ критерия (15) и в зависимости от его значения шаг увеличивается, уменьшается или остается прежним. Если текущая погрешность ЕН не больше заданной Е , то результаты шага выводятся (25). При этом, если выполнялось два малых шага (КLР=1), то выводятся и результаты предыдущего шага (23). Так случается в начале интервала интегрирования и тогда, когда предыдущий шаг оказался неудачным и из-за большой погрешности величина шага уменьшена вдвое. После вывода двух шагов признак KLP сбрасывается в ноль (24). Выполненный шаг может быть последним на интервале (КР=1), тогда осуществляется выход из подпрограммы(26, 27). В блоке 28 выполняется проверка, может ли быть выполнен удвоенный шаг без выхода за пределы интервала? Если нет, то в (29) «взводится» признак конца интервала и устанавливается величина удвоенного шага равной оставшейся части интервала. В блоке 33 и цикле 34-35 последняя вычисленная точка делается начальной для выполнения двух малых шагов Н и контрольного удвоенного НВ. Соответственно, в 36 устанавливается признак двух шагов (KLP=1) и осуществляется возврат на блок 6 . Если «дошагивание» не нужно, то в 30 проверяется, является ли точность расчетов завышенной и в 31 можно ли удвоить малый шаг? При завышенной точности шаг можно удвоить, если он не превзойдет максимального НМ и удвоенный шаг не выведет за пределы интервала интегрирования. Если увеличение шага допустимо, то блок 32 это выполняет и далее все производится как при дошагивании, но без взвода признака конца. Если увеличение шага недопустимо, то в цикле 37, 38 выполняется подготовка к продолжению расчетов с прежним шагом. Из трех последних точек средняя делается начальной для выполнения контрольного шага удвоенной величины НВ, а последняя , - начальной для очередного малого шага Н.

4.6Блок - схема алгоритма метода Рунге - Кутта с автоматическим выбором шага

Рисунок 3


4.7Подпрограмма метода Рунге - Кутта с автоматическим выбором шага

Подпрограмма ARK позволяет решать произвольную систему N-го порядка с автоматическим выбором шага интегрирования. Эта подпрограмма обращается:

к подпрограмме одного шага- SH,

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

к подпрограмме вывода.

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

В главном модуле оператором EXTERNAL должны быть объявлены имена подпрограмм правых частей и вывода. Оператором DIMENSION должны быть объявлены массивы - фактические параметры подпрограммы ARK. Эти массивы, по желанию, могут объявляться как одномерные или как двухмерные. Размеры массивов (N,4),(N,3),(N,4), где N-порядок системы. Формальные имена этих массивов в подпрограмме ARK, соответственно, X,R,F. В главном модуле первые N элементов массива, соответствующего X, заполняются начальными условиями, а следующие N элементов заполняются весовыми коэффициентами погрешности. В подпрограммах правых частей и вывода в первых N элементах массива, соответствующего X, при входе содержатся текущие значения всех N переменных системы и не должны там переопределяться. Первые N элементов массива, соответствующего F, должны заполняться в подпрограмме правых частей вычисляемыми там значениями правых частей системы.

Формальными параметрами в подпрограмме правых частей должны быть параметры (T,X,F,N), где T-независимая переменная системы.

Формальными параметрами подпрограммы вывода должны быть параметры (T,X,F,N,IER), где IER- код ошибки, определяемый в подпрограмме ARK:

IER=0,- ошибки нет;

IER=1,- знак заданного начального шага не соответствует движению от начала интервала интегрирования к его концу;

IER=2,- начальный шаг или/и длина интервала интегрирования ошибочно заданы равными нулю;

IER=3,- шаг в процессе счёта стал более чем в 1000 раз меньше начального.

Массивы X и F в подпрограммах правых частей и вывода можно объявлять как одномерные, с регулируемым размером X(N),F(N).

В главном модуле для подпрограммы ARK должны задаваться максимальный (он же и начальный) шаг интегрирования HM, начало TN и конец TK интервала интегрирования, а также значение требуемой абсолютной погрешности решения E.

Подпрограмма ARK вычисляет решение системы и в каждой точке, удовлетворяющей условиям точности, обращается к подпрограмме вывода, передавая ей значения параметров T,X,F,IER. Пользователь может запрограммировать здесь печать необходимых переменных или накопление их в дополнительных массивах для последующей обработки. (В последнем случае дополнительные массивы следует передавать в главный модуль через общую область памяти с помощью оператора COMMON). После возврата из подпрограммы вывода, ARK продолжает вычисление следующей точки решения.


SUBROUTINE ARK(HM,TN,TK,X,R,F,N,E,PRAV,OUT,IER)

C Подпрограмма автоматического выбора шага.

C HM -Задаваемый максимальный шаг.

C TN,TK -Начало и конец отрезка интегрирования.

C N -Порядок системы.

C E -Задаваемое значение абсолютной погрешности.

EXTERNAL PRAV,OUT

C PRAV и OUT имена составляемых Пользователем подпрограмм правых частей и вывода.

C IER -Выходной код ошибки.


DIMENSION X(N,4),R(N,3),F(N,4)

C Первый столбец массива X должен при входе содержать начальные условия,

С на выходе в нем содержится решение.

C Второй столбец массива X должен при входе содержать весовые коэффициенты погрешности.

C Первый столбец массива F должен заполняться вычисляемыми

C в подпрограмме PRAV значениями правых частей системы уравнений.

C Остальные элементы массивов X,R,F -рабочие.

DO 3 K=1,N

3 F(K,4)=X(K,2)

T=TN

HB=2*HM

IER=0

KP=0

KLP=1

CALL PRAV(T,X,F,N)

C Вызов составленной Пользователем подпрограммы правых частей системы уравнений.

C T -Независимая переменная системы.

IF((TK-TN)*HM)4,5,60

4 IER=1

GO TO 60

5 IER=2

60 CALL OUT(T,X,F,N,IER)

C Вызов составленной Пользователем подпрограммы вывода результатов шага

IF(IER.NE.0)RETURN

6 H=HB/2

CALL SH(T,H,X,X(1,2),F(1,2),PRAV,N,R)

8 T1=T+H

CALL SH(T1,H,X(1,2),X(1,3),F(1,3),PRAV,N,R)

T2=T+HB

CALL SH(T,HB,X,X(1,4),F,PRAV,N,R)

EH=0

DO 14 K=1,N

14 EH=EH+ABS((X(K,3)-X(K,4))/15*F(K,4))

IF(EH-E)21,21,16

16 HB=HB/2

IF(HB.LT.HM/512)IER=3

IF(IER.EQ.3)RETURN

KP=0

GO TO 6

21 T=T1

IF(KLP.EQ.1)CALL OUT(T1,X(1,2),F(1,2),N,IER)

KLP=0

CALL OUT(T2,X(1,3),F(1,3),N,IER)

IF(KP.EQ.1)RETURN

IF(ABS(TK-T2)-ABS(HB))29,29,30

29 KP=1

HB=TK-T2

GO TO 33

30 IF(EH-E/50)31,37,37

31 IF(2*H.LE.-HM.AND.ABS(TK-T2).GE.ABS(2*HB))GO TO 32

37 DO 38 K=1,N

X(K,1)=X(K,2)

38 X(K,2)=X(K,3)

GO TO 8

32 HB=2*HB

33 T=T2

DO 35 K=1,N

35 X(K,1)=X(K,3)

KLP=1

GO TO 6

END


4.8Тестовая задача

Решим дифференциальное уравнение

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

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


SUBROUTINE PRAV(T,X,F,N)

DIMENSION X(N),F(N)

F(1)=X(2)

F(2)= -X(1)

RETURN

END


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


SUBROUTINE OUT(T,X,F,N,IER)

DIMENSION X(N),F(N),D(3,1000),C(300)

COMMON K,L,KP,D,C

IF(T.LT.31.4)THEN

K=K+1

D(1,K)=T

D(2,K)=X(1)

D(3,K)=X(2)

ENDIF

IF(X(1).LT.0.AND.KP.EQ.1)THEN

L=L+1

C(1)=X(1)

KP=0

ENDIF

IF(X(1).GT.C(L).AND.X(1).GT.0)THEN

C(L)=X(1)

KP=1

ENDIF

IF(T.EQ.270)PRINT*,’T=270’,’ X(270)=’,X(1)

RETURN

END


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


EXTERNAL PRAV,OUT

DIMENSION X(2,4),F(8),R(2,3),D(3,1000),C(300)

COMMON K,L,KP,D,C

READ *,N,TN,TK,HM,((X(K,J),K=1,N),J=1,2),E

K=0

L=1

C(1)=1

KP=1

CALL ARK(HM,TN,TK,X,R,F,N,E,PRAV,OUT,IER)

PRINT 1, (C(J),J=1,L)


Информация о работе «Исследование RC-генератора синусоидальных колебаний»
Раздел: Математика
Количество знаков с пробелами: 38479
Количество таблиц: 9
Количество изображений: 12

Похожие работы

Скачать
13670
2
2

... 7. В выводе сравните между собой вычисленное и измеренное значение силы тока и сделайте вывод о выполнении закона Ома. Отчет по лабораторной работе № 1 Исследование цепи переменного тока. выполненной учащим…… школы «Поиск» …………………………………………………………………………………… «…..»……….. 200….г Задание 1. Предварительные расчеты и измерения Емкость конденсатора: С =……… мкФ =………´ 10-6 Ф Индуктивность ...

Скачать
58511
3
0

вает разностный сигнал постоянного тока. получаемый вычитанием сигналов постоянного тока 1-го и П-го каналов радиолокатора; Эти сигналы подается на стрелочные приборы; - вырабатывает разностные импульсные сигналы, получаемые вычитанием видеосигналов 1-го и П-го каналов радиолокатора; эти разностные сигналы подавтся на индикаторы ИКО/ИДВ и на индикатор типа "и". В плате ...

Скачать
22648
0
12

... – объекты, в которых регулируется расход жидкости или газа. Методы графического определения времени разгона Та для многоемкостных ОР приведены на рис. 5 и 6. Импульсные характеристики объектов регулирования Длительное и значительное по величине воздействие, которое приходится наносить для получения разгонных характеристик объекта регулирования, вызывает длительные изменение режима его работы ...

Скачать
15316
5
3

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

0 комментариев


Наверх