Witam, mam następujący problem.
Matlab rysuje pięknie wykresy, jednak gdy zmieniam wartość Tmax (max czas analizy) na wiekszą od 1, albo zaczynam za bardzo kombinować z przedziałem czasu analizy, to otrzymuję głupoty, wykres przestaje być sinusoidą i wyrzuca mi w zasadzie linie prostą z dwoma punktami. Przy podanych wartośćiach Tmax i przedziale T wykresy są w porządku, a w pliku tekstowym również otrzymuje sensowne wyniki.
Załączam kod programu, może ktoś potrafi mi pomóc?
global U f psi R X
load 'dane.txt' -ascii
A=dane(1);
B=dane(2);
U=220;
f=100;
psi=30;
R=A;
X=B;
Um = sqrt(2)U; % amplituda nap. zasilajacego
Z = sqrt(R2+X2); % impedancja pozorna obwodu
fi = atan(X/R); % kat impedancji
psi=psi/180pi; % przeliczenie kata poczatkowego napiecia na radiany
w = 2pif; % czestosc napiecia
L = X/w; % indukcyjnosc obwodu
tau = L/R; % stala zanikania
disp('Parametry obwodu:');
disp(' R= '),disp(R);
disp(' X= '),disp(X);
disp(' Z= '),disp(Z);
disp(' tau='),disp(tau);
disp(' U= '),disp(U);
disp(' psiE= '),disp(psi);
disp(' fi = '),disp(fi);
% WYZNACZANIE PRZEBIEGU PARAMETRÓW
Tmax = 0.1 ; % max czas analizy
T = 0:0.0001:Tmax; % przedzial czasu analizy od 0 do Tmax sekundy
nT=length(T); % liczba punktow
p0 = zeros(1,nT); % oś zerowa
Im = Um/Z; % amplituda pradu
iAC = Um/Z * sin(w.T + psi - fi); % skladowa okresowa
iDC = - Um/Zexp(-T./tau)*sin(psi-fi); % skladowa nieokresowa
iRL = iAC + iDC; % całkowite natężenie płynące przez obwód
E = Um * sin(w.T + psi); % napięcie zasilania
UL = E-RiRL; % napięcie na cewce z prawa Ohma
% skalowanie wykresu
% axis (xmin, xmax, ymin, ymax);
Imax = 1.1Im; % skala osi rzednych dla prądu
Umax = 1.1U;
subplot(2,1,1),plot(T,UL,'-k', T,p0,'-r' ),
title(' Napięcie na cewce ');
xlabel('t[s]');
ylabel('U[V]');
axis([0 Tmax -Umax Umax]);
grid on;
subplot(2,1,2),plot(T,iRL,'-b',T,iAC,'-k',T,iDC,'--g', T,p0,'-r');
xlabel('t[s]');
ylabel('I[A]');
title(' Przebiegi prądów w stanie przejściowym, ustalonym');
axis([0 Tmax -Imax Imax]);
grid on;
fid=fopen('wyniki.txt','w+');
fprintf(fid,'wartosc napiecia\twartosc pradu \r\n');
for i=1:length(T)
fprintf(fid,'%.3f\t\t\t%.3f \r\n',UL(i),iRL(i));
end
fclose(fid);
disp('KONIEC wyprowadzania prądu i napięcia w obwodzie RL na cewce');
disp('Dalej? Enter'); pause; close;
return