Jak bych dělal graf?

Dne: 19. 2. 2008

Tagy:  škola   skripty   octave 

Přečteno: 345/713

Ve 4L se mě v měření kluci ptali, jak bych udělal do protokolu graf časových průběhů, kde je operační zesilovač zachycen v saturaci. Chvilku jsem přemýšlel a pak jsem řekl, že nejspíš v Octave, protože v tabulkovém procesoru by se mi asi nechtělo hrát si právě s tou saturací. I když taková hrůza by to jistě nebyla.

Jeden z přítomných poznamenal, že Octave a Matlab jsou jistě super, ale naučit se v tom dělat nění jednoduché.

Já osobně si myslím, že tak těžké to zase není. Navíc už asi dva roky existují suprové české stránky zabívající se právě Octave www.octave.cz.

Daná úloha by se dala řešit následovně:

  close all;
  
  % frekvence 1kHz
  f1=1000;
  % vzorkovací frekvence
  fvz=100000;
  % efektivni hodnota 3V
  D=3*sqrt(2);
  
  T1=1/f1;
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
  t=[0:1/fvz:2.5*T1];
  t=t(1:length(t)-1);
  
  vstup=D * sin(2*pi*f1*t);
  
  % střední hodnota 2V
  vstup=vstup+2;
  % zesílení invertujícího zesilovače 10dB
  vystup= -3 * vstup;
  % pod 13.2V je zesilovač v saturaci
  vystup(vystup<-13.2) = -13.2;
  
  
  %%%%%%%%%%%%%%%%%%%%%%%%%  kresba v časové oblasti
  figure
      hold on;
  	plot(t,vstup);
  	plot(t,vystup);
  	grid on; 
  	xlabel('t [s]'); ylabel('u(t) [V]')
      axis ([0 t(length(t)) -15 15])
      hold off;
  

A výsledek?

S grafickým výstupem toho jde samozřejmě dělat mnohem více.

| menu |

Valid XHTML 1.1 Valid CSS! Powered by Debian GNU/Linux Powered by Apache Powered by Perl Creative Commons License  Marek Nožka