155GIT1 / 7. cvičení: Porovnání verzí

Z GeoWikiCZ
mBez shrnutí editace
Řádek 1: Řádek 1:
{{Geoinformatika}}
{{Geoinformatika}}
{{Cvičení|155GIT1|7|Grafy funkcí, uživatelské funkce}}
{{Cvičení|155GIT1|7|Uživatelské funkce}}


== Náplň cvičení ==
== Náplň cvičení ==


# grafické okno <code>figure</code>
# grafy funkcí <code>plot(), subplot(), axis()</code>
# uživatelské funkce
# uživatelské funkce


== Ukázky ==
== Ukázky ==
=== Grafické okno ===
<source lang=octave>
figure
</source>
=== Grafy funkcí ===
* <code>plot()</code> {{bullet}} [http://geo.fsv.cvut.cz/user/gin/git1/matlab/matlab.pdf#86 argumenty]
<source lang=octave>
x = [0:pi/50:2*pi];
y = sin(x);
plot(x, y)
%
% nové okno
h = figure
plot(x, y 'r+')
%
% více grafů najednou
z = cos(x);
plot(x, y, 'r+', x, z, 'b*')
</source>
{{fig|octave-graf-1|<code>plot(x, y, 'r+', x, z, 'b*')</code>}}
* <code>subplot()</code>
<source lang=octave>
x = 1:100;
figure
% první
subplot(2, 2, 1)
plot(x, x)
% druhý
subplot(2, 2, 2)
plot(x, sqrt(x))
% třetí
subplot(2, 2, 3)
plot(x, log(x))
% čtvrtý
subplot(2, 2, 4)
plot(x, x.^2)
</source>
{{fig|octave-graf-2|<code>subplot()</code>}}
* <code>axis()</code> - omezení oblasti grafu
<source lang=octave>
x = 0:0.1:5;
y = exp(x);
% celý graf
subplot(2, 1, 1)
plot(x, y)
% výsek x <1, 2>; y <0, 10>
subplot(2, 1, 2)
plot(x, y)
axis([1,2,0,10])
</source>
{{fig|octave-graf-3|<code>axis()</code>}}
* popisky
<source lang=octave>
x = [0:pi/100:pi];
figure
plot(x, sin(x))
title('Funkce sinus')
xlabel('hodnota v rad')
ylabel('sin(x)')
legend('prubeh funkce sinus')
</source>
{{fig|octave-graf-4|Graf s popisky}}


=== Uživatelské funkce ===
=== Uživatelské funkce ===

Verze z 24. 3. 2016, 09:44

Uživatelské funkce

Náplň cvičení

  1. uživatelské funkce

Ukázky

Uživatelské funkce

Syntax:

function [vystup] = nazev(vstup)
end

Každá funkce musí být uložena ve vlastním souboru s příponou .m. Název souboru musí odpovídat názvu funkce!

function [min_x, max_x, mean_x] = stat (x)
    min_x = min(x);
    max_x = max(x);
    mean_x = mean(x);
end

Příklad volaní:

[mi, ma, mn] = stat(rand(1, 100))
fprintf('min  = %.3f\nmax  = %.3f\nmean = %.3f\n', [mi, ma, mn])

Úlohy