Vítejte na stránce ezsz.wbs.cz v sekci prikazy
Úpravu tohoto bloku zahájíte dvojklikem...
Příkaz |
Popis |
alfa_1 = (0:180) |
matice s prvky 0-180 => tzn. 181 prvků |
plot(x,y) |
vykreslí do grafu hodnoty x v závislosti na hodnotách y |
grid ('on') |
zapne mřížku |
grid on |
zapne mřížku |
alfa_2 = (-90:2:-90+360) |
matice s prvky v honotách od -90 do 270 s přírůstkem 2 => 181 prvků |
b = (a+1)*sin(pi/2) |
je to přiřazení, závorkování podle žádané priority operátorů |
/ |
obyčejné děleno |
sin(x) |
sinus čísla x |
pi |
konstanta pí |
* |
krát |
; |
zamezí vypsání výsledku, umožní napsat více příkazů na jeden řádek |
who |
vypíše všechny definované proměnné |
clear b |
zrušení proměnné b, jako kdyby nikdy neexistovala |
short |
nastavení výpisu proměných na 4 desetinná místa (proměnná v matlabu ale stejně zůstává uložená celá na x des. míst) |
long |
nastavení výpisu proměnných na 14 nebo 15 des. míst |
short e; long e; |
semilogaritmický tvar |
short eng; long eng; |
semilogaritmický tvar, exponent je násobkem 3 |
short g |
pevná desetinná čárka nebo semilog. tvar |
format |
nastavení k výchozimu stavu - defaultně je to formát short |
% |
matlab je case sensitive |
% |
proměnné povolené znaky: písmena, číslice, _ |
% |
délka proměnné omezena na 32 znaků |
% |
u proměnné musí být první znak písmeno |
% |
komentář |
x \ y |
dělení zleva - používí se třeba u matic |
x' |
komplexně združené číslo, pokud x je matice, tak je to transponovaná matice x, pokud jsme v komplexních číslech jsou čísla matice navíc nahrazeny komplexně zrduženými čísly, jinak je to obyčejná transpozice |
x ^ y |
umocnění - tzn. x na y-tou |
x < y |
menší => do ans se přiřadí buď 0 nebo 1 podle toho jestli to je pravda nebo nepravda |
x <= y |
menší nebo rovno |
x == y |
rovno |
x >= |
větší nebo rovno |
x > y |
větší |
x ~= y |
nerovno |
A & B |
logický součin - tzn. A a zároveň B |
A | B |
logický součet - tzn. A a nebo B |
~A |
negace A |
a = 2:10 |
vektor a obsahuje čísla od 2 do 10 s krokem 1 |
a = 2:2:10 |
vektor a obsahuje čísla od 2 do 10 s krokem 2 |
linespace(0, 10, 2) |
vektor a obsahuje čísla od 0 do 10 s krokem 2, linspace(od, do, kolik) |
x(2, :) |
vybere celý druhý řádek matice x |
plot(x,y, '-', x(3,:), y(3,:), '*') |
vykreslí závislost x na y normálně čarama a pak body na souřadnicích daných v další sadě proměnných ve tvaru * |
axis([-1.5, 2, -1, 2], 'square') |
osy v grafu mají mít rozsah: x bude od -1.5 do 2 a y od -1 do 2 a celé to bude zobrazené ve čtverci, takže osy budou mít každá jiné měřítko |
run ('c:\\scripts\\manip.m') |
spustí script na adrese |
x(:,2) |
vybere celý druhý sloupec matice x |
a=[1,2,3;4,5,6;7,8,9] |
naplní matici, jednotlivé řádky se oddělují ; a hodnoty ve sloupcích jen čárkou, ale ta být ani nemusí |
a(1,[1,2]) |
vybere první řádek matice a, první a druhý prvek |
a(1,[1:2]) |
vybere první řádek matice a, první až druhý prvek |
a(:) |
vybere všechny prvky matice a, vytvoří sloupcový vektor vzniklý spojením všech sloupců matice |
a(3) |
vybere třetí prvek, který je umístěn ve spojení vzniklém např. pomocí a(:) |
b = 7; b([1,1,1]) |
ans = 7 7 7 |
a(1,[1,2])= 0 |
vynulování prvního a druhého prvku na prvním řádku matice |
a(:,:) = 0 |
celá matice bude vynulována |
a(:) = 0 |
celá matice bude vynulována |
a=[1,2,3;4,5,6;7,8,9]; a = 5 |
pozor pokud nepoužijem indexování z celé matice se stane skalár |
a(2,:)=[] |
smaže druhý řádek matice jako kdyby nikdy nebyl |
zeros(3) |
nulová matice 3x3 |
zeros(2,4) |
nulová matice o rozměrech 2x4 |
ones(3) |
jednotková matice 3x3 |
eye(3) |
je stejné jako a=[1,0,0;0,1,0;0,0,1] - jedničky jsou jen na diagonále a matice má rozměry 3x3 |
eye(2,4) |
a = [1 0 0 0; 0 1 0 0] |
rand(3) |
matice 3x3 naplněná náhodnýma číslama z intervalu (0,1) |
v=[1,2,3,4]; diag(v) |
vytvoří nulovou čtvercovou matici, kde pouze na diagonále budou hodnoty vektoru v |
v=[1,2,3,4]; diag(v, 2) |
vytvoří nulovou čtvercovou matici, kde čísla z vektoru v budou na diagonále začínající na třetí pozici - slloupce a poslední dva řádky budou nulové |
diag(A) |
vypíše hodnoty, které se nacházejí na hlavní diagonále matice A |
A=[1,2,3;4,5,6;7,8,9]; diag(A,-1) |
vypíše ve sloupci hodnoty 4 a 8 - protože to vezme posunutou vedlejší diagonálu začínající na indexu -1, tzn o jednu posunutou dopředu oproti hlavní diagonále |
A+B |
Součet matic - počet řádků a sloupců musí být stejný u obou matic |
A-B |
Rozdíl matic - počet řádků a sloupců musí být stejný u obou matic |
A*B |
Maticové násobení, počet sloupců A se musí rovnat počtu řádků B |
A*b |
Maticové násobení, tady v tomhle případě je b skalár a všechny prvky v A se jím vynásobí |
A.*B |
Násobení prvek po prvku. Matice musí mít stejné rozměry. každý prvek v A se násobí odpovídajícím prvkem z B |
A/B |
Delení matice zprava - ekvivalentní výrazu inv(B') *A', kde A' je transponovaná matice. Nebo jinak A*inv(B) |
A./B |
dělení prvek po prvku - jeden u operandů může být skalár |
A\B |
dělení zleva = inv(A)*B - první operand může být skalár nebo odpovídající matice |
A.\B |
Dělení zleva prvek po prvku. |
A^B |
mocnina matice - alespoň jeden operand může být skalár |
A.^B |
umocnění prvek po prvků |
x.' |
transpozice |
det(a) |
determinant matice a |
inv(a) |
inverznÍ matice a |
rank(a) |
hodnost matice |
max(a) |
Maximum.Pro vektor vrací maximální prvek.Pro matici vrací řádkový vektor, jeho prvky jsou maxima sloupců matice. |
max(a,b) |
Maximum. a a b musí mít stejné rozměry nebo mohou být skaláry. Vrací pole stejných rozměrů jako jsou parametry, v každé pozici je větší z prvků z obou polí |
max(a,[],dim) |
Maximum z pole a v dimenzi dim. (za dim dosadit číslo!!!) |
min(a) |
Minimum. (zbytek platí stejně jako pro max() ) |
mean(a) |
Aritmetický průměr. Pro vektor vrací průměr prvků vektoru.Pro matici vrací řádkový vektor, jeho prvky jsou průměry sloupců matice. |
mean(a,dim) |
Aritmetický průměr podél dimenze dim. |
medián(a) |
Medián.Pro vektor vrací medián prvků vektoru.Pro matici vrací řádkový vektor, jeho prvky jsou mediány sloupců matice. |
median(a,dim) |
Medián podél dimenze dim. |
sort(a,'ascend') |
Pro vektor vrací vektor s vzestupně uspořádanými prvky.Pro matici vrací matici, jejíž sloupce jsou uspořádány vzestupně |
sort(a,'descend') |
řazení sestupně |
sort(a,dim) |
Třídění matice v rozměru dim vzestupně. |
sort(a) |
Pro vektor vrací vektor s vzestupně uspořádanými prvky.Pro matici vrací matici, jejíž sloupce jsou uspořádány vzestupně |
sum(a) |
součet.Pro vektor vrací součet prvků vektoru. Pro matici vrací řádkový vektor, jeho prvky jsou součty sloupců matice. |
sum(a,dim) |
Součty prvků matice podél dimenze dim. |
prod(a) |
součin. Pro vektor vrací součin prvků vektoru. Pro matici vrací řádkový vektor, jeho prvky jsou součiny sloupců matice. |
prod(a,dim) |
Součiny prvků matice podél dimenze dim. |
any(a) |
Zjištění, zda alespoň jeden prvek je různý od nuly. Pro vektor vrací 1 nebo 0. Pro matici vrací řádkový vektor hodnot 0 a 1, prvky určují, zda v příslušném sloupci matice je alespoň jeden nenulový prvek. |
any(a,dim) |
Test na existenci alespoň jednoho nenulového prvku v dimenzi dim. |
all(a) |
Zjištění, zda všechny prvky jsou různé od nuly. Pro vektor vrací 1 nebo 0. Pro matici vrací řádkový vektor hodnot 0 a 1, prvky určují, zda v příslušném sloupci matice jsou všechny prvky nenulové. |
all(a,dim) |
Test na nenulovost všech prvků v dimenzi dim. |
fliplr(a) |
Matice s převráceným pořadím v řádcích |
flipud(a) |
Matice s převráceným pořadím ve sloupcích |
rot90(a) |
Otočení o 90 stupňů. Proti směru hodinových ručiček. |
rot90(a,k) |
Otočení o k krát 90 stupňů. |
reshape(a,m,n) |
Přeformování matice do nových |
>> load 'c:\matice_a.txt' |
Import matice ze souboru |
c = [1,0,-2,-5]; |
reprezentace polynomu x^3 -2x -5 |
polyval(c,x) |
Zjištění hodnoty polynomu určeného koeficienty uloženými ve vektoru |
polyvalm(c,x) |
Výpočet hodnoty polynomu v maticovém smyslu, argumentem je |
subplot(2,1,1); |
Umožňuje nakreslit více grafů do jednoho obrázku. Grafy jsou pod sebou v jednom okně. |
roots( c) |
Výpočet kořenů polynomu |
poly(r) |
Zjištění koeficientu polynomu |
conv(a,b) |
násobení (konvoluce) polynomů určených vektory a a b. vrací vektor o délce length(a) + length(b) - 1 |
deconv(a,b) |
Dělení polynomů určených vektory a a b. |
[d,r]=deconv(a,b) |
Druhá varianta je dělení polynomů se zbytkem. Hledá d a r takové, že platí c = conv (a, d) + r. Vektor d obsahuje koeficienty podílu polynomů a r koeficienty zbytku. |
[r,p,k] = residue(a,b) |
Rozklad podílu polynomů a a b na parciální zlomky. |
[a,b] = residue(r,p,k) |
Počítá rekonstituovaný podíl polynomů a(x)/b(x) z rozkladu na |
polyder(a) |
Vrací koeficienty derivace polynomu určeného vektorem a. |
polyder(a,b) |
Vrací koeficienty derivace součinu polynomů určených vektory a a b. |
[q,r] = polyder(a,b) |
Vrací koeficienty derivace podílu polynomů a/b jako racionální |
polyint(a,c) |
Vrací koeficienty neurčitého integrálu polynomu určeného vektorem a. |
polyfit(x,y,n) |
Vrací koeficienty polynomu P(x) stupně n. Jde tedy o proložení zadaných dat metodou nejmenších čtverců. Zatíženo chybou. Koeficienty polynomu jsou vráceny jako řádkový vektor. |
plot(a) |
Pokud a je matice, tak sloupce matice a se chápou jako posloupnost y hodnot, na ose x |
plot(a) |
Pokud a je vektor, Prvky vektoru a se chápou jako posloupnost y hodnot, na ose x bude |
plot(a) |
a je vektor komplexních čísel. a=[1+2i,4-7i,5+8i,6-i]; Reálná část prvků vektoru a se chápe jako posloupnost x souřadnic, imaginární část jako posloupnost y souřadnic. Stejného výsledku lze dosáhnout i : plot(real(a), imag(a)) |
plot(a) |
Pokud a je matice komplexních prvků: Reálné části prvků sloupců matice a se chápou jako posloupnost x |
plot(x,y) |
Je-li jeden (kterýkoliv) z parametrů matice a druhý vektor, vykresluje |
plot(x,y) |
Jsou-li oba parametry matice, vykreslují se sloupce y oproti |
plot(x,y) |
Je-li jeden z parametrů skalár, druhý parametr může být skalár nebo |
plot(x1,y1,x2,y2,...) |
Chování i kombinace parametrů stejné jako při použití dvou |
grid on/grid off |
Aktivuje ('on') a nebo deaktivuje ('off') kreslení mřížky. |
title('název') |
Nastaví a zobrazí titulek aktuálního grafu (text nad grafem). |
hold on |
další grafy se budou přidávat do grafu stávajícího |
hold off |
další příkaz (příkazy) pro kreslení povedou k vytvoření |
xlabel('text') |
Nastaví a zobrazí popisky os. |
legend('graf1','graf2', ...) |
Nastaví a zobrazí legendu grafu. Názvy se uvádějí v pořadí, v jakém |
axis([xmin xmax ymin ymax]) |
Nastavení rozsahu na osách (jinak jsou počítány automaticky). cmin a |
axis ij |
Nastaví počátek do levého horního rohu. |
axis xy |
Nastaví počátek do levého dolního rohu (default). |
axis equal |
Na všech osách bude stejné měřítko. |
subplot(m,n,p) |
Umožňuje umístit do jednoho obrázku několik zcela samostatných |
polar(úhel,rádius) |
Kreslení 2-D grafu v kartézské rovině, body jsou zadávány v polárních |
plot3(X1,Y1,Z1, ...) |
Kreslení 3-D grafu podle zadaných souřadnic. Xn, Yn a Zn jsou |
mesh(X,Y,Z) |
Vykreslí drátěný model. X, Y i Z jsou matice, odpovídající prvky matic |
surf(X,Y,Z) |
Vykreslí povrch plochy. X, Y i Z jsou matice, odpovídající prvky matic |
[X,Y] = meshgrid(x,y) |
Pro kreslení prostorových ploch je zapotřebí mít k dispozici matice |
bar(x,y,width,style,color) |
Vykreslí sloupkový graf na základě dvou vektorů reprezentujících |
barh(x,y,width,style,color) |
jako bar() ale vodorovné sloupky |
n = hist(y) |
Vykreslí histogram četností výskytu hodnot ve vektoru y, hodnoty |
n = hist(y,x) |
Vykreslí histogram četností výskytu hodnot ve vektoru y, sloupky |
n = hist(y,bins) |
Vykreslí histogram četností výskytu hodnot ve vektoru y, počet |
y=randn(10000,1); |
Graf se nevykreslí. Ve vektoru n je četnost výskytu odpovídající jednotlivým sloupečkům grafu, ve vektoru xout jsou středy sloupečků. V tomto případě lze histogram vykreslit. |
pie(y,explode,{labels}) |
Koláčový graf. Velikosti výsečí dány procentním podílem velikosti prvků y v jejich součtu, |
stairs(x,y) |
Schodový graf. Argumenty vektory nebo matice. Pro jediný argument tento chápán jako vektor y-ových souřadnic, jako x-ové souřadnice se berou indexy prvků daného vektoru |
stem(x,y) |
Stonkový graf. argumenty vektory nebo matice. Pro jediný argument tento chápán jako vektor y-ových souřadnic, jako x-ové souřadnice se berou indexy prvků daného vektoru |
x=input('Zadej x:'); |
Funkce čeká na vstup z klávesnice zakončený klávesou Enter. Zadaná hodnota bude uložena do specifikované proměnné. |
k = menu('Nadpis','První','Druhá'); |
Funkce zobrazí seznam nabídek a počká na vstup uživatele. Výsledkem je pořadové číslo vybrané volby. |
pause |
Pozastavení vykonávání programu až do stisknutí libovolné klávesy. |
pause(n) |
Pozastavení vykonávání programu na n sekund, potom program |
keyboard |
Program je přerušen a uživatel může pracovat s klávesnicí běžným |
disp(x) |
Výstup hodnoty X na obrazovku. X může být konstanta, výraz nebo |
fprintf('%6.2f\n',a); |
Vytisknutí: % příznak začátku, 6 šířka(minimální počet vystupujících znaků), 2 přesnost (počet cifer za des. čárkou), f typ |
x=0:30:90; |
0: 0.000000 1.000000 |
pwd |
zjištění aktuálního adresáře |
dir |
výpis obsahu adresáře |
ls |
výpis obsahu adresáře |
cd |
změna aktuálního adresáře |
mkdir |
vytvoření nového adresáře |
rmdir |
zrušení specifikovaného adresáře |
fid = fopen(filename) |
Otevře existující soubor pro čtení. Návratovou hodnotu fid je třeba |
f = fopen('prvni.txt','wt'); |
fopen - otevření souboru. Parametr 'w' - otevření souboru pro zápis - pokud neexistuje vytvoří nový, pokud existuje stávající obsah se vymaže, 't' - používá se ve Woknech pro příznak textového souboru. Další parametry 'r' - otevře existující soubor pouze pro čtení, 'a' - pro zápis - pokud soubor neexistuje vytvoří nový a když existuje bude přidávat na konec, 'r+' - otevře existující pro čtení i zápis, 'w+' - pro čtení a zápis - pokud soubor existuje, je stávající obsah ztracen, 'a+' - otevře soubor pro čtení a zápis - bude se přidávat na konec |
status = fclose(fid) |
Zavření specifikovaného souboru nebo všech otevřených souborů. Při |
f = fopen('prvni.txt','wt'); |
Zápis do souboru f |
position = ftell(fid) |
vrací pozici ukazatele jako počet bytů od začátku souboru |
fseek(fid, offset, origin) |
nastavení pozice ukazatele v souboru: offset - pozice v bytech |
hodnota = fread(fid) |
Binární čtení a zápis |
txt = fgets(fid) |
čtení řádku z textového souboru |
txt = fgetl(fid) |
čtení řádku z textového souboru |
A = fscanf(fid,format) |
formátovaný vstup ze souboru |
save |
Uloží všechny proměnné do specifikovaného souboru resp. do |
save filename content, save(filename,content,...), >>save 'soubor.mat' a b x y z |
Uloží specifikované proměnné do souboru. |
save filename content options, >> save 'soubor.mat' a b x -ascii |
Uloží specifikované proměnné do souboru ve specifikovaném formátu. -append přidá data k existujícímu souboru |
load |
Načte všechny proměnné ze specifikovaného souboru resp. ze |
load filename content |
Načte specifikované proměnné ze souboru. |
hold on; |
Zařídí, aby se každým dalším voláním funkce plot nevytvořil nový obrázek. Všechna další kreslení se budou přidávat do stávajícího existujícího obrázku. |
for i = 1:n |
Proměnná i bude postupně nabývat hodnoty z daného rozsahu, pro každou hodnotu i se provedou příkazy mezi for a end. |
if i = 1 |
i = 1 je pomínka - vnitřní příkazy se provedou jen v případě, pokud je podmínka splněna |
factorial(5) |
Faktoriál |
floor(N/2) |
funkce pro zaokrouhlení směrem dolů (nejbližší nižší celé číslo) |
if podmínka1 |
Může se vyskytnout libovolný počet klauzulí elseif. Podmínky jsou testovány |
switch výraz |
Často je potřeba provádět různé akce v závislosti na hodnotě jedné |
while LV |
Cyklus, který se bude provádět dokud je splněna podmínka LV. |
for var = výraz |
Cyklus. Pokud je třeba opakovat činnost pro všechny prvky nějaké datové struktury. kde tělo je příkaz nebo seznam příkazů, výraz je libovolný platný výraz a |
break |
provádí výskok zevnitř cyklu for nebo while. Výpočet pak pokračuje prvým příkazem následujícím po cyklu. Tento příkaz může být použit pouze uvnitř těla cyklu. |
continue |
pouze uvnitř cyklů fornebo while. Na rozdíl od příkazu break, který vyskočí z cyklu, příkaz continue přeskočí zbytek těla cyklu a způsobí, že okamžitě začne další opakování těla cyklu (je-li splněna podmínka cyklu, ta se napřed znovu vyhodnotí). |
function ahoj |
Uživatelem definová funkce |
>> ahoj |
volání funkce |
function jmeno(arg_list) |
arg_list je seznam (formálních) parametrů funkce |
>> jmeno(parametry); |
Parametry - seznam skutečných parametrů funkce |
function ret_var = jmeno(arg_list) |
jméno lokální proměnné, do které bude uložena návratová hodnota |
return |
Slouží k okamžitému návratu z funkce |
isscalar(a) |
1 pro skalár, 0 pro vektor a matici |
isvector(a) |
1 pro skalár a vektor, 0 pro matici |
ismatrix(a) |
1 pro skalár, vektor i matici |
size(a) |
vrací dvouprvkový vektor, první prvek je počet řádků, druhý počet sloupců; pro skalár jsou obě hodnoty 1 |
length(a) |
1 pro jednoduchou proměnnou, počet prvků vektoru, větší z dimenzí matice |
ndims(a) |
počet rozměrů pole, vždy minimálně 2 (skalár je matice 1 x 1) |
numel(a) |
počet prvkůpole (počet hodnot v proměnné) |
rows(a) |
počet řádků pole |
columns(a) |
počet sloupců pole |
nargin() |
vestavěná funkce, při volání uvnitř funkce slouží ke zjištění počtu parametrů, se kterými byla funkce volaná (mimo funkci lze použít volání nargin(' fmax') ke zjištění maximálního počtu parametrů, které funkce akceptuje) |
function ret_var = jmeno(varargin) |
Tato funkce může být volána |
function x = test(varargin) |
varargin{i} - Prvek buňkového pole se vybírá mechanismem podobným indexování, "index" se uvádí ve složených závorkách. For i = 1 : nargin je to samé jako for i = 1 : length(varargin) . >> test |
function [ret_list] = jmeno(arg_list) |
Více návratových hodnot. Čárkou oddělený seznam jmen proměnných, ve kterých budou vraceny hodnoty (formálně lze chápat jako vektor návratových hodnot) |
function [x,y] = sedm_osm |
ans = |
nargout() |
vestavěná funkce, při volání bez parametru (uvnitř funkce) slouží ke zjištění počtu návratových hodnot požadovaných při aktuálním volání této funkce. |
function [varargout] = licha |
>> a = licha |
inline |
umožňuje vytvořit funkci na základě textového řetězce obsahujícího funkční předpis. funkční předpis inline funkce může obsahovat volání dalších funkcí (běžných i inline). |
jmeno = inline(předpis); |
>> ff=inline('2*x^2-5'); |
function nula |
>> global a; |
function x = blabla |
>> blabla |
Poznámky: |
viditelnost může být: |
Webová stránka byla vytvořena pomocí on-line webgenerátoru WebSnadno.cz