Я новичок в этом поле Matlab.
Ситуация, когда я ввожу только одну входную переменную, программа запускается без ошибок. Но когда я использую случайный или массив, программа работает только тогда, когда все значения массива Per больше или меньше D, за исключением того, что моя программа не отображает результаты в окне команд.
Независимо от больше или меньше, чем у меня есть все сообщения о текущей ситуации. Я также хочу знать, как можно также распечатать результаты Per, D, S и Ps c на одном графике в зависимости от времени (часа) независимо от максимального значения или размера переменных случайного числа / массива.
Спасибо за вашу помощь.
clear all
clc
%t=1:24;
Ppv=2*rand(1,5); %[10 0 40 50 5 1 2 3 1 1 1 1];
Pwt=rand(1,5); %[10 0 40 5 5 1 2 3 3 4 55 5];
LPac=rand(1,5); %[10 20 40 50 5 1 2 3 5 6 7 9];
LSac=rand(1,5); %[1 2 40 5 51 2 3 33 9 0 3 2];
LPdc=rand(1,5); %[1 20 4 50 51 24 3 3 4 6 7 8];
LSdc=rand(1,5); %[10 0 4 0 51 2 324 3 8 5 3 2];
for i=1:1:1
Dac=LPac+LSac;
Ddc=LPdc+LSdc;
Per=Ppv+Pwt;
D=Dac+Ddc;
Lp=LPac+LPdc;
Ls=LSac+LSdc;
if Per>D
if Sac)>0 && Sdc>0
fprintf(' S de %d .\n',S)
fprintf(' Sac de %d .\n',Sac)
fprintf(' Sdc de %d .\n',Sdc)
fprintf(' St de %d .\n',St)
end
if Ppv>Ddc & Pwt<=Dac
SDC=Sdc-abs(Sac);
SAC=0;
fprintf(' S de %d .\n',S)
fprintf(' DC Sdc de %d .\n',SDC)
printf(' St de %d .\n',St)
elseif any(Sac )>0 & any(Sdc)<=0
SAC=Sac-abs(Sdc);
SDC=0;
fprintf(' S de %d .\n',S)
fprintf(' Sac de %d .\n',SAC)
fprintf(' St de %d .\n',St)
end
if Per < D
Lp=LPac+LPdc;
Ls=LSac+LSdc;
DDdc=Ppv-LPdc;
Ddeldc=LSdc-abs(DDdc);
DDac=Pwt-LPac;
Ddelac=LSac-abs(DDac);
DD=DDac+DDdc;
Ddel=Ddeldc+Ddelac ;
if Per>=Lp
fprintf(' Ddel de %d .\n',Ddel)
if Ppv>=LPdc || Pwt>=LPac
fprintf(' Ddeldc de %d .\n',Ddeldc)
fprintf('Ddelac de %d .\n',Ddelac)
end
else
Dextdc=Ppv-LPdc;
Dextac=Pwt-LPac;
Dext=Dextdc+Dextac;
Psc=abs(Dext);
if Ppv<LPdc && Pwt>LPac
Pscac=0;
Pscdc=abs(Dextdc+Dextac);
elseif Ppv>LPdc && Pwt<LPac
Pscac=abs(Dextac+Dextdc);
Pscdc=0;
else Ppv<LPdc && Pwt<LPac
Pscac=abs(Dextac);
Pscdc=abs(Dextdc);
end
fprintf('Ddel %d .\n',Ls)
fprintf('Pscdc %d .\n',Pscdc)
fprintf('Pscac %d .\n',Pscac)
fprintf('Psc %d . \n',Psc)
end
end
if Per==D
disp(" tout est bien ")
end
end