MATLAB figur handles

(Difference between revisions)
Jump to: navigation, search
(Created page with "I MATLAB styres mange ting i baggrunden med såkaldte ''handles''. Disse handles er strukturer der indeholder information om det objekt som de peger på, f.eks. en figur. Hvis...")
 
Line 5: Line 5:
 
En typisk simpel figur kan laves med koden
 
En typisk simpel figur kan laves med koden
  
x = 0:0.01:2*pi;
+
:<code>x = 0:0.01:2*pi;</code>
y = sin(x);  
+
:<code>y = sin(x); </code>
+
:<code>figure</code>
figure
+
:<code>plot(x,y)</code>
plot(x,y)
+
:<code>axis([0 2*pi -1 1])</code>
axis([0 2*pi -1 1])
+
:<code>xlabel('x-value','FontSize',14)            %standard FontSize er 10</code>
xlabel('x-value','FontSize',14)            %standard FontSize er 10
+
:<code>ylabel('y-value','FontName','Times')        %standard FontName er Helvetica</code>
ylabel('y-value','FontName','Times')        %standard FontName er Helvetica
+
:<code>title('This is a plot!','FontWeight','b')</code>
title('This is a plot!','FontWeight','b')
+
  
 
Dette laver figuren vist til højre. Her er akserne blevet manuelt sat, og diverse formateringer, så som skriftstørrelser og fonte, er blevet valgt. Men hvad hvis man gerne vil formatere figuren mere, og ikke har kommandoer der kan gøre det sammen med funktioner som <code>xlabel</code>, <code>title</code> osv.?  
 
Dette laver figuren vist til højre. Her er akserne blevet manuelt sat, og diverse formateringer, så som skriftstørrelser og fonte, er blevet valgt. Men hvad hvis man gerne vil formatere figuren mere, og ikke har kommandoer der kan gøre det sammen med funktioner som <code>xlabel</code>, <code>title</code> osv.?  
Line 19: Line 18:
 
Man finder i stedet figurens handle, og bruger denne til at lave sine formateringer. Lad os sige at figuren der lige er blevet lavet hedder figur 1 i MATLAB. For at fortælle programmet at det er denne figur der skal arbejdes med, køres kommandoen
 
Man finder i stedet figurens handle, og bruger denne til at lave sine formateringer. Lad os sige at figuren der lige er blevet lavet hedder figur 1 i MATLAB. For at fortælle programmet at det er denne figur der skal arbejdes med, køres kommandoen
  
figure(1)
+
:<code>figure(1)</code>
  
 
Herefter kan man finde sine handles med <code>gcf</code> og <code>gca</code> funktionerne, der giver links til hhv. figur 1's figur-handle og akse-handle.  
 
Herefter kan man finde sine handles med <code>gcf</code> og <code>gca</code> funktionerne, der giver links til hhv. figur 1's figur-handle og akse-handle.  
  
hf = gcf;
+
:<code>hf = gcf;</code>
ha = gca;
+
:<code>ha = gca;</code>
  
 
For at få et overblik over hvilke egenskaber disse handles indeholder, kan man bruge <code>get()</code> funktionen, der udskriver de forskellige værdier der ligger i handle-strukturerne.
 
For at få et overblik over hvilke egenskaber disse handles indeholder, kan man bruge <code>get()</code> funktionen, der udskriver de forskellige værdier der ligger i handle-strukturerne.
  
get(hf)
+
:<code>get(hf)</code>
get(ha)
+
:<code>get(ha)</code>
  
 
Med disse kan man f.eks. se at akse-handlen indeholder  
 
Med disse kan man f.eks. se at akse-handlen indeholder  
 
   
 
   
XScale = linear
+
:<code>XScale = linear</code>
  
 
så $x$-aksen er lineær.
 
så $x$-aksen er lineær.

Revision as of 15:06, 20 March 2012

I MATLAB styres mange ting i baggrunden med såkaldte handles. Disse handles er strukturer der indeholder information om det objekt som de peger på, f.eks. en figur. Hvis man gerne vil ændre fontstørrelsen i labelteksterne, punktstørrelsen i et datasæt, eller tykkelsen af gridlines - så er det her man skal ind og ændre ting.

Sådan får du fat handle

Et plot af sinus, med forskellige formateringer.

En typisk simpel figur kan laves med koden

x = 0:0.01:2*pi;
y = sin(x);
figure
plot(x,y)
axis([0 2*pi -1 1])
xlabel('x-value','FontSize',14)  %standard FontSize er 10
ylabel('y-value','FontName','Times')  %standard FontName er Helvetica
title('This is a plot!','FontWeight','b')

Dette laver figuren vist til højre. Her er akserne blevet manuelt sat, og diverse formateringer, så som skriftstørrelser og fonte, er blevet valgt. Men hvad hvis man gerne vil formatere figuren mere, og ikke har kommandoer der kan gøre det sammen med funktioner som xlabel, title osv.?

Man finder i stedet figurens handle, og bruger denne til at lave sine formateringer. Lad os sige at figuren der lige er blevet lavet hedder figur 1 i MATLAB. For at fortælle programmet at det er denne figur der skal arbejdes med, køres kommandoen

figure(1)

Herefter kan man finde sine handles med gcf og gca funktionerne, der giver links til hhv. figur 1's figur-handle og akse-handle.

hf = gcf;
ha = gca;

For at få et overblik over hvilke egenskaber disse handles indeholder, kan man bruge get() funktionen, der udskriver de forskellige værdier der ligger i handle-strukturerne.

get(hf)
get(ha)

Med disse kan man f.eks. se at akse-handlen indeholder

XScale = linear

så $x$-aksen er lineær.



Personal tools
Namespaces
Variants
Actions
Navigation
Opgaver
Andet
Toolbox
Commercial