Hide menu

Matlabexempel 

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.5t)*sin(3t)*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.5t)*sin(3t)*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) = j2w / (5–w^2 + j2w)).

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+2j och s = –1–2j 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

Last updated: 2020-04-17