Nedan visas några exempel på hur man genererar grafer i
Matlab. Ni ser även hur man definierar linjetjocklek och
fontstorlek m.m. Experimentera själva och anpassa koden
till ert behov!
Läs matlabfunktionernas hjälptexter för mer
information om hur de fungerar och om deras olika
anropsvarianter. Skriv help fkn eller
helpwin fkn för att få hjälp med matlabfunktionen
fkn!
Kopiera och klistra in nedanstående i Matlab, så ser
du vad det blir för resultat!
Det som står efter ett "%"-tecken i en rad (grönfärgad text nedan) tolkas av
Matlab som kommentarstext.
Skapa först egen heavisidefunktion, dvs. enhetssteget
u(t), och spara i arbetsmappen. Den funktionen
har du stor nytta av:
function y=heavi(x)
% u(t)=0 för t<0, u(t)=1 för t>=0
y=(x>=0);
Exempel 1: Rita/plotta
h(
t) =
e ^(–0.5
t)*sin(3
t)*
u(
t)
mellan
t=–2 och
t=10.
t=-2:0.05:10; %
Välj sampelperioden (här 0.05) tillräckligt liten, så inte
kurvan blir hackig!
h = exp(-0.5*t).*sin(3*t).*heavi(t); % Notera den elementvisa multiplikationen
".*"
plot(t,h)
grid
Exempel 2: Rita/plotta
x(
t) =
u(
t) –
u(
t–3)
och
h (
t) =
e^(–0.5
t)*sin(3
t)*
u(
t)
mellan
t =–2 och
t=10.
Funktionerna ritas i samma figurfönster, på
varandra.
t=-2:0.05:10; %
Välj sampelperioden (här 0.05) tillräckligt liten, så inte
kurvan blir hackig!
x = sqrt(t/2).*heavi(t);
h = 3*exp(-0.5*t).*sin(3*t).*heavi(t); % Notera den elementvisa multiplikationen
".*"
plot(t,x,'r--',t,h,'b') % x(t) är rödsträckad och h(t) är blå
heldragen
legend('Insignalen x(t)', 'Impulssvaret h(t)')
% Förklaring av ritade grafer
(kan sedan manuellt flyttas runt på skärmen)
xlabel('Tid [sek]')
grid
Exempel 3: Rita/plotta
amplitudkaraktäristik och faskaraktäristik då
H(
w)
=
j2
w / (5–
w^2 +
j2
w)).
Funktionerna ritas i samma figurfönster, som
separata grafer.
w=0:0.01:16;
H=j*2*w./(5-w.^2+j*2*w); % Se till att du inte ändrar j till något
annat än den imaginära enheten
subplot(2,1,1) % En övre delgraf görs
aktuell, amplitudkaraktäristiken skall ritas
plot(w,abs(H),'linewidth',1.5)
axis([0 16 0 1.1])
grid
title('|H(\omega)|','fontsize',14)
subplot(2,1,2) % En undre delgraf görs
aktuell, faskaraktäristiken skall ritas
plot(w,angle(H),'linewidth',1.5)
grid
title('arg H(\omega)','fontsize',14)
xlabel('Vinkelfrekvens [rad/s]','fontsize',14)
Exempel 4: Rita
pol-nollställediagram till
H(
s), som har poler
i
s = –1+2
j och
s = –1–2
j
samt ett nollställe i origo.
line([-3 2],[0 0],'color','black')
% Rita reella axeln
% Håll kvar grafen/linjen så den
visas tillsammans med nästa ritade graf:
hold on
line([0 0],[-4 4],'color','black')
% Rita imaginära axeln
plot(-1+2*j,'x','markersize',16,'linewidth',2) % Rita ena pol
plot(-1-2*j,'x','markersize',16,'linewidth',2)
% Rita andra polen
plot(0,0,'o','markersize',16,'linewidth',2)
% Rita nollstället
axis([-3 2 -3 3])
set(gca,'fontsize',18)
% Ändra
fontstorlek på axlelgraderingarna
axis('square')
hold off