Есть ли решение напечатать и вывести на экран результат теста кода массива или случайного ввода в Matlab? - PullRequest
1 голос
/ 22 января 2020

Я новичок в этом поле 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

1 Ответ

1 голос
/ 22 января 2020

У меня небольшие проблемы с пониманием первой части вашего вопроса, но легко построить несколько переменных на одном и том же рисунке:

figure; hold on
plot(Per); plot(D); plot(S); plot(Psc);
hold off
...