13.08.2013 Views

?????????????? ?????? ? ????????? ?????????? ??????? ?????

?????????????? ?????? ? ????????? ?????????? ??????? ?????

?????????????? ?????? ? ????????? ?????????? ??????? ?????

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

формируется массив номеров ветвей, соответствующих емкостным и<br />

индуктивным ветвям.<br />

В третьем блоке выполняется формирование топологических матриц.<br />

Для этой цели используется функция formc, написанная на SciLab<br />

и приведенная далее за основным алгоритмом. Особенность функции<br />

состоит в том, что она может сформировать топологические матрицы<br />

для несвязных схем, то есть схем, в состав которых входят топологически<br />

изолированные подсхемы.<br />

В четвертом блоке выполняется вычисление матриц сопротивлений в<br />

координатах схемы, то есть в контурном и узловом базисах. Поскольку<br />

расчет схемы соответствует методу контурных сопротивлений, то в этом<br />

блоке вычисляется матрица контурных проводимостей.<br />

В пятом блоке формируется цикл расчета переходного процесса. Так<br />

как схема линейная, то этот цикл организуется после вычисления матриц<br />

сопротивлений, проводимостей и топологических матриц. При формировании<br />

цикла производится проверка на условия окончания цикла.<br />

Если параметры цикла заданы неверно, например, число расчетных точек<br />

оказалось меньше или равно начальному значению переменной цикла,<br />

то цикл выполнятся не будет.<br />

В шестом, седьмом и восьмом блоках, выполняется расчет схемы по<br />

соотношениям, приведенным в разделе 2.3.3. В восьмом блоке для инерционных<br />

ветвей выполняется перерасчет источников тока и напряжения<br />

в соответствии с методом Эйлера 1-го порядка.<br />

clear ();<br />

//Ввод расчетного шага dt и времени расчета T<br />

dt=0.000001;T=0.0002;<br />

//Вычиcление числа расчетных точек NN<br />

NN=round (T/dt); //вычисляет наименьшее целое от деления<br />

//задание массива времени<br />

t=[0:dt:T]'; //одинарная кавычка означает транспонирование<br />

/ /Ввод списка соединений<br />

// имя нач. кон. парам. e J<br />

newshema=list ( ' r1', [2 3], 2, 1, 0,...<br />

'c1', [3 2], 10.0e-6, -0.5, 0.,...<br />

'r3', [1 2], 4, 0, 0,...<br />

'L1', [3 4], 0.10e-3, -0.00, -1.0,...<br />

'r5', [4 1], 6, 0, 0,...<br />

'r6', [4 2], 7, 0, 0);<br />

//определение числа ветвей-arc, объявл массива сопротивлений Z<br />

arc=size(newshema)/5; Z=zeros(arc,arc);<br />

/ / Извлечение информации из списка соединений<br />

k=2; kc=0; kL=0;<br />

for i=1:arc<br />

ta(i)=newshema(k)(1); he(i)=newshema(k)(2);<br />

sim(i)= convstr (newshema(k-1),'u');<br />

a=stripblanks (sim(i)); //удаление пробелов<br />

a=part ([a],[1]); //определение 1-го символа в имени ветви<br />

select a<br />

80

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!