Автор: Пользователь скрыл имя, 24 Декабря 2012 в 14:27, контрольная работа
Выходные параметры модели — это показатели, характеризующие функциональные, эксплуатационные, конструкторско-технологические, экономические и другие характеристики проектируемого объекта. К таким показателям могут относиться коэффициенты передачи, масса и габариты проектируемого объекта, надежность, стоимость и т.п. Понятия внутренних и выходных параметров инвариантны, при моделировании на более сложном уровне выходные параметры могут стать внутренними и наоборот. Например, сопротивление резистора является внутренним параметром при моделировании усилительного устройства, компонентом которого он является, но это же сопротивление будет выходным параметром при моделировании самого резистора, что требуется при пленочном его исполнении. Вектор выходных параметров модели будем обозначать
Для описания взвешенного графа VG удобно использовать матрицу смежностей Q, строки и столбцы которой соответствуют вершинам графа, т. е. множеству установочных позиций в МКП, а элементы gij равны весу ветви, инцидентной i -й и j -й вершинам графа. Элементы, лежащие на главной диагонали матрицы смежностей Q, принимаются равными нулю. Так, для МКП, показанного на рис.3а, модель в виде взвешенного графа при ортогональной матрице смежности Q имеет вид как на рис.1.4. Для решения задач размещения применяются и другие графовые модели.
Большими возможностями
для формализации процесса трассировки
обладают комбинированные дискретно-
Симметрический граф G(S, V) с множеством вершин S и множеством ветвей V может быть описан в ЭВМ матрицей инциденций А, элемент которой ai,j = 1, если вершина Si инцидентна ветви ui,j, и ai,j = 0 — в противном случае. Для графа, показанного на рис.5а при допущении трассировки по восьми направлениям матрица инциденций имеет вид (рис. 1.5).
Модель МКПЗ очень широко распространена и позволяет при трассировке получить все множество кратчайших путей в отличие от МКП1, в которой обычно получают лишь один из возможных путей из этого множества. Кроме того, вводя вес для вершин и ветвей графа, можно регулировать скорость распространения числовой волны по определенным направлениям в волновых алгоритмах трассировки засчет введения соответствующих задержек.
Рис. 1.4. Графовые модели МКП для решения
задачи размещения
Аналогична МКПЗ и графовая модель пространства МКП4, также используемая для решения задач трассировки. Модель МКП4 представляет симметрический граф G(S,V), вершины которого Si соответствуют узлам координатной сетки, нанесенной на плоское МКП, а ветви графа ui,j — отрезкам координатной сетки, соединяющим две соседние точки (рис.1.5б). Особенностью модели МКП4 по сравнению с МКПЗ является интерпретация ветви графа G(S, V) как элементарного отрезка проводника, который может быть проложен в этом месте МКП. По своим возможностям модель МКП4 эквивалентна МКПЗ.
Для моделирования коммутационного пространства при решении задач трассировки можно использовать модели в виде мультиграфа, т. е. симметрического графа, у которого существует хотя бы одна пара вершин, соединенных несколькими ветвями. Ветви, соединяющие одну и ту же пару вершин, называют кратными, а их максимальное число — мультичислом графа.
Одна из таких моделей МКП5 представляет мультиграф MG(S, V), в котором множество вершин графа S соответствует множеству установочных позиций в коммутационном пространстве для модулей низшего уровня. Множество ветвей V соответствует множеству взаимно независимых непосредственных переходов между установочными позициями, т. е. множеству областей, допускающих трассировку соединений между этими позициями без пересечений. Мультиграф MG(S, V) может быть описан с помощью матрицы смежности Q, в которой, как и для взвешенного графа, элементы gi,j, лежащие на главной диагонали, принимаются равными нулю, а в недиагональные элементы gi,j равны числу кратных ветвей, инцидентных i -й и j -й вершинам графа. Для примера на рис1.5 показаны фрагмент коммутационного пространства с установочными позициями и его модель в виде мультиграфа при допущении трассировки без пересечений трех проводников между соседними позициями.
Еще более общей моделью
МКП в виде мультиграфа, используемой
для решения задач трассировки,
является модель МКП6, в которой вершины
графа соответствуют
Рис. 1.5. Графовые модели МКП для решения
задачи трассировки
Расстояние определяется
как количество макродискретов, пройденных
проводником при трассировке. Пример
фрагмента МКП с
Рис. 1.6. Модели МКП в виде мультиграфа
u12 |
u13 |
u14 |
u23 |
u24 |
u34 | ||
A= |
S1 |
1 |
1 |
1 |
0 |
0 |
0 |
S2 |
1 |
0 |
0 |
1 |
1 |
0 | |
S3 |
0 |
1 |
0 |
1 |
0 |
1 | |
S4 |
0 |
0 |
1 |
0 |
1 |
1 |
Матрица смежности такого мультиграфа имеет вид
S1 |
S2 |
S3 |
S4 | ||
Q= |
S1 |
0 |
3 |
3 |
0 |
S2 |
3 |
0 |
0 |
3 | |
S3 |
3 |
0 |
0 |
0 | |
S4 |
0 |
3 |
3 |
0 |
Модель МКП6 предполагает
проведение трассировки проводников
в два этапа: на первом определяется
путь с точностью до вершины мультиграфа
(макродискрета), на втором — путь конкретизируется
с точностью до ветви. Это позволяет
на первом этапе выбрать наилучшее
взаимное расположение трасс, а на втором
провести собственно трассировку, что
уменьшает зависимость
ПРАКТИЧЕСКОЕ ЗАДАНИЕ
Выберем для расчета схему источника питания с мостовой схемой выпрямления (рис.2.1)
Рис.2.1 Схема источника питания с мостовой схемой выпрямления
Исходные данные:
VD1…VD4 –КД202Д (параметры диодов для расчёта: Nпосл=1, Uпр.ср=1В, Iпр.ср. = 0,325)
R1 – 20кОм±5%
С1, С2 – 10 мкФ+30%-10%
С3 – 10000 мкФ+80%-30%
fс – 50 Гц±2%
Uвых = 24В
Iон = 0,65А
ΔUф/Uвых = 10%
Решение:
Электрический расчет выпрямителя:
где KrC = 3.5 (постоянная для однофазной мостовой схемы)
B = 1,5 Тл, S = 1, I0 = I0н.
Коэффициент пульсаций выходного напряжения зависит от емкости С3 и частоты сети. Описать его можно формулой
где Н=24000,
(2.4)
.
Составим таблицу:
Параметры |
1 |
2 |
3 |
4 |
5 | |
ΔC3 |
% |
+10 |
-20 |
+50 |
-30 |
+80 |
мкФ |
11000 |
8000 |
15000 |
7000 |
18000 | |
Δfc |
% |
-2 |
+1 |
-1 |
+2 |
-1 |
Гц |
49 |
51 |
50,5 |
51 |
50,5 |
(2.6)
Рассчитаем относительную погрешность:
где Kn – рассчитывается с использованием номинальных значений; Kp – используя разыгранные значения.
= 0,05;
=0,047; =0,069;
=0,062; =0,23;
=0,033; =0,337;
=0,07; =0,406;
=0,028; =0,448;
Точность моделирования будет равна:
(0,069+0,23+0,337+0,406+0,448)
Произведем расчет, используя программу моделирования, написанную на языке программирования С++:
# include <stdafx.h>
# include <conio.h>
# include <iostream.h>
# include <math.h>
# include <stdlib.h>
float eta;
float rnd() {
const double A = 168070,
M = 2147483647,
Q = 12773,
R = 2836;
double t = 0;
t = A*fmod (eta, Q)-R*(eta/Q);
if (t<0) t+=M;
eta = t;
t/=M;
return(t);
}
void main (){
const int q = 20,
N = 50;
int i, j, k;
float NomP[2] = {0,0}, //номинальное значение параметра;
devP[2] = {0,0}, //предел допуска его отклонения;
ReP[2] = {0,0}, //разыгранное значение параметра;
rtr =0;
a[2] = {0,0},
b[2] = {0,0},
ksy = 0,
K = 0,
ReK = 0;
double Epsylon [N],
SumEpsylon = 0,
MEpsylon = 0,
SumSigmaEpsylon = 0,
SigmaEpsylon = 0,
clrscr (),
randomize ();
eta = rand();
for (i=0; i<2; i++) { //ввод исходных данных;
cout<<"Vvedite nominalnoe znachenie "<<i+1<<"-go parametra:";
cin>>NomP[i];
cout<<"Vvedite predel dopuska ego otklonenija:";
cin>>devP[i];
} //расчет теоретического к.п.;
rtr=(3.5*(26.4/(0.65* Nom[1]*1,5))*(pow((Nom[1]/(26.
r0=((2*2.04))+rtr);
Kp =((24000*100)/(r0*NomP[0]*Nom[
//вычисление параметров a и b;
for (i=0; i<2; i++) {
a[i] = NomP[i]/q-(devP[i]*NomP[i])/q;
b[i] = NomP[i]/q+(devP[i]*NomP[i])/q;
}
for (i=0; i<N; i++) { //цикл по числу реализаций;
for (j=0; j<2; j++) { //цикл по числу параметров;
ReP[j] = 0;
//разыгрывание номинала j-го параметра;
for (k=0; k<q; k++) {
ksy = a[j]+rnd()*(b[j]-a[j]);
ReP[j]+=ksy;
} //конец цикла разыгрывания номинала j-го параметра;
cout<<"ReP="<<ReP[j]<<endl;
} //конец цикла по числу параметров;
ReKp = ((24000*100)/(r0*ReP[0]*ReP[1]
Epsylon[i] = (ReKp-Kp)/Kp; //расчет относительной погрешности к.п.;
SumEpsylon+=Epsylon[i];
} //конец цикла по числу реализаций;
MEpsylon = SumEpsylon/N; //расчет мат. ожидания отн. погрешности;
cout<<"ReKp="<<ReKp<<endl; /
cout<<"Epsylon="<<Epsylon[i]<<
for (i=0; i<N; i++) { //расчет СКО отн. погрешности;
SumSigmaEpsylon+=pow((Epsylon[
}
SigmaEpsylon = sqrt(SumSigmaEpsylon/(N-1)); /
//вывод полученных значений на экран;
cout<<"Matogidanie otn. pogreshnosti K ravno:" <<MEpsylon<<"\n"<<endl;
cout<<"SKO otnositelnoy pogreshnosti K
ravno:"<<SigmaEpsylon<<"\n"<<
cout<<"Kp="<<Kp<<"\n"<<endl;
cout<<"Press any key for exit"<<endl;
getch(); //задержка экрана в состоянии отображения результата расчета.
}
Информация о работе Контрольная работа по "Моделированию и компьютерному анализу"