Rozwiązywanie równań różniczkowych z elementami nieliniowymi 187
Lmi b . ~ ( - 1) * (x ( 4 ) + eb) ;
Lmic ./'(-l)*{x(4) +ec) ; -1/3/C0*(x(l)+x(2)+x(3))]; return
function apf(k);
% Analiza przepiec ferrorezonansowych
% Czas symulacji w sekundach zadany jest jako tmax
% Okres próbkowania określono jako dt
% Warunki początkowe zadane sa jako: iaO,ibO,icO,uNO
% Dane w pliku apfdat.m
% Wyniki w pliku apfout.m
%
% Pojemność sieci zmieniana suwakiem
global Lr Ln CO E psi ea eb ec Cspu C vslider vedit rys
%
fd=fopen{'apfout.m','wt’);
% Czytanie parametrów w jedn. względnych [param]=feval(’apfdat1);
Lmpu=param{1); Lrpu=param(2); if k==1
Cspu=param(3);
set(rys, 'Enable' , 1 on') ;
elseif k==2
C=get(vslider,'value');
set (vedi t, 'string' , ['Cspu=',num2str(C)]) ;
Cspu=C; end
if k==3
Ln=Lmpu; C0=Cspu; Lr=Lrpu;
% Ustalenie maksymalnego czasu trwania symulacji w s tmax=0.4;
% Ustalenie okresu próbkowania dla analizy harmonicznych w s dt=0.005; tspan=[0:dt:tmax];
% prędkość kątową wirowania wektorów w=100*pi w=100*pi;
% Ustalenie warunków początkowych: 0 - zerowe, 1 - zwarcie 1-fazowe ia0=0;
E=1.0; psi = 90*pi/180; Em=sqrt(2); uN0 = -Em;
Xsym=włLn;
ib0 = l.5 *Em/Xsym; ic0 = -1.5*Em/Xsym; x0=[ia0 ibO icO uNO];
% rozwiązanie rownan różniczkowych [T,X]=ode4 5('apfdx',0,tmax,x0); uN=X(:,4 ) ;
% interpolacja dla potrzeb analizy harmonicznych uh=interpl(T,uN,tspan,'cubic'); fp=l/dt; N= fp; xh=uh;
nxh = length(xh); % liczba danych w sygnale xh if nxh < N
% Brakujące dane zostana uzupełnione zerami xh(nxh+l:N)=01); xh(nxh+l:N)=0;