?????????????? ?????? ? ????????? ?????????? ??????? ?????
?????????????? ?????? ? ????????? ?????????? ??????? ?????
?????????????? ?????? ? ????????? ?????????? ??????? ?????
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