Matlab - risanje

Matlab - risanje

Avtor: Matija Lokar

Plot

  • Osnovna oblika

    • plot(x, y)
    • Odsekoma linearna funkcija s točkami {x(1),y(1)}, {x(2),y(2)}, {x(3),y(3)}, … {x(n),y(n)}.
  • x = [1, 10, 10, 1]
  • y = [1, 1, 10, 1]
  • plot(x, y)
  • Kaj dobimo?

    • Pravokotni trikotnik
  • plot(t)

    • Enako kot

      • x = [1:max(size(t))]
      • plot(x, t)

        (slika_matlab41.png)

"Dodatki"

  • plot(x, y, 'opis črte', 'Ime lastnosti', VrednostLastnosti)
  • plot([1988:1:1994],
         [8,12,20,22,18,24,27],
       '—r*', 'LineWidth', 2,
       'MarkerSize', 12)
    (slika_matlab42.png)

Graf funcije

  • Graf funkcije
  • "Goljufamo"
  • x = [-2:0.01:4]; %vektor z domeno funkcije, dovolj "gost"
  • Zakaj ; ?
  • Izračunamo ustrezne funkcijske vrednosti
  • y = 3.5^(-0.5*x) * cos(6*x);

    • Ni ok!

    • Po komponentah!
  • y = 3.5 .^ (-0.5 * x) .* cos(6*x);

Graf funkcije

  • plot(x, y)
(slika_matlab43.png)
  • x = [-2:0.3:4];
  • y = 3.5 .^ (-0.5 * x) .* cos(6*x);
  • plot(x,y)
(slika_matlab44.png)

"Bolj prav"

  • Plot je dejansko namenjen risanju "diskretnih" vrednosti
  • fplot('funkcija', interval)
  • fplot('funkcija', interval, 'lastnosti črte')
  • fplot('3.5^(-0.5*x) * cos(6*x)',[-2,4]) Prikaz
  • fplot('3.5^(-0.5*x) * cos(6*x)',[-2,4],'ro') Prikaz
  • Kaže da MATLAB sam ustvari primerno gost x in izračuna y, ter uporabi plot
(slika_matlab45.png)
(slika_matlab46.png)

Več grafov

  • Narišimo funkcijo 3x3 -26x + 10, skupaj s prvim in drugim odvodom
  • fplot (in plot) vedno začneta "svežo" sliko
  • hold on
  • hold off
  • >> fplot('3*x^3 -26*x + 10', [-2,4])
  • >> hold on
  • >> fplot('9*x*x - 26',[-2,4],'r')
  • >> fplot('18*x',[-2,4],'g')
(slika_matlab47.png)

Več grafov – drug način

  • x = [-2:0.003:4];
  • y=3*x.^3-26*x+6;
  • odvod=9*x.^2-26;
  • drugiOdvod = 18*x;
  • plot(x,y,'-b',x,odvod,'--r',x,drugiOdvod,':k')
  • Oglejte si še

    • figure
    • subplot
(slika_matlab48.png)

Nekaj ukazov

  • line

    • V bistvu hold on; plot …; hold off
  • xlabel, ylabel, title
  • text(x, y, 'Napis')
  • text(x, y, 'Napis', imeLastnosti, vrednost)
  • axis([xmin, xmax, ymin, ymax])
  • axis([-1.5, 2.5,-50, 50])
  • title('\bf 3*x^3 -26*x + 10 \newline ter prvi in drugi odvod', 'FontSize', 14)
(slika_matlab49.png)

Še nekaj drugačnih grafov

  • x = [1988:1994];
  • vx = [8 12 20 22 18 24 27];
  • bar(x, vx)
(slika_matlab50.png)

Še nekaj drugačnih grafov

  • x = [1988:1994];
  • vx = [8 12 20 22 18 24 27];
  • barh(x, vx)
(slika_matlab51.png)

Še nekaj drugačnih grafov

  • x = [1988:1994];
  • vx = [8 12 20 22 18 24 27];
  • stairs(x, vx)
  • stairs(x, vx,'-*r','LineWidth', 3)
(slika_matlab52.png)

Še nekaj drugačnih grafov

  • x = [1988:1994];
  • vx = [8 12 20 22 18 24 27];
  • stem(x, vx)
  • stem(x, vx,'m:','MarkerSize', 14)
(slika_matlab53.png)

Še nekaj drugačnih grafov

  • x = [1988:1994];
  • vx = [8 12 20 22 18 24 27];
  • pie(vx)
(slika_matlab54.png)

In še

  • errorbar(x,y,e)
  • semilogx(x,y)
  • semilogy(x,y)
  • loglog(x,y)
  • Poskusite z

    • x = linspace(0.1, 60, 1000);
    • y = 2.^(-0.2*x+10)

Histogram

  • ocene = [9,5,5,10,10,8,8,6,6,7,8,8,8,8];
  • x=[5:10];
  • hist(ocene,x)
  • ylabel('Število ocen','FontSize', 14)
(slika_matlab55.png)
0%
0%