Pole je jedním ze základních prvků při programování na MATLABu. Představuje uspořádanou sbírku prvků, které lze použít k ukládání a zpracování dat. Vyplňování pole je důležitým úkolem při vývoji algoritmů a programů na MATLABu. V této příručce se podíváme na různé způsoby vyplnění pole a pro každý z nich poskytneme příklady a vysvětlení.
MATLAB má několik způsobů, jak vyplnit pole. Jedním z nejjednodušších způsobů je vytvoření pole s výchozími hodnotami. K tomu je třeba uvést velikost pole a typ dat jeho prvků. MATLAB automaticky vyplní pole výchozími hodnotami v závislosti na typu dat: nulami pro číselná pole, prázdnými řádky pro pole znaků, prázdnými proměnnými pro pole buněk atd. Tato metoda je velmi pohodlná, pokud nepotřebujete inicializovat pole určitými hodnotami.
Složitější úkoly, jako je vyplnění pole čísly podle určitého pravidla nebo vyplnění pole hodnotami z externího zdroje dat, však vyžadují jiné způsoby vyplnění pole. MATLAB má mnoho funkcí, které vám umožňují vyplnit pole požadovanými hodnotami. Například funkce zeros() vytvoří pole naplněné nulami, funkce ones() - pole plné jednotek a funkce rand() - pole náhodných čísel v rozmezí od 0 do 1.
V této příručce se podíváme na několik způsobů, jak vyplnit pole v Matlabu, včetně použití funkcí zeros (), ones() a rand (), stejně jako ruční úloha pole pomocí příkazu přiřazení. Uvedeme také příklady, abychom ukázali, jak lze tyto způsoby použít k vytvoření a inicializaci pole s danými hodnotami.
Vytvoření prázdného pole v Matlabu
Vytvoření prázdného pole v Matlabu lze provést několika způsoby:
| Způsob | Příklad |
|---|---|
| Použití prázdných hranatých závorek | [] |
| Použití funkce zeros | zeros(0) |
| Použití funkce ones | ones(0) |
| Použití funkce NaN | NaN(0) |
Vytvořené prázdné pole lze použít k ukládání dat, která budou přidána později, nebo k provádění operací s jinými poli.
Je důležité si uvědomit, že při práci s prázdnými poli musíte být opatrní a před provedením operací zkontrolovat jejich velikost, abyste se vyhnuli chybám.
Vyplnění pole pomocí čísel v určitém rozsahu
K vyplnění pole v Matlabu čísly v určitém rozsahu lze použít funkci linspace . Tato funkce vytváří rovnoměrně rozložené hodnoty v uvedeném rozsahu.
Syntaxe funkce linspace je následující:
| linspace(x1, x2, n) |
|---|
| x1 - počáteční hodnota rozsahu |
| x2 - konečná hodnota rozsahu |
| n-počet prvků v poli |
Příklad použití funkce linspace :
start_value = 1;end_value = 10;num_elements = 5;array = linspace(start_value, end_value, num_elements);disp(array);
V tomto příkladu se vytvoří pole 5 prvků, počínaje číslem 1 a konče číslem 10. Funkce linspace distribuuje rovnoměrný počet hodnot v uvedeném rozsahu a vrací pole. Výsledek vyplnění pole bude vypadat následovně:
1 3.2500 5.5000 7.7500 10
Pomocí funkce linspace je tedy možné pole snadno vyplnit čísly v určitém rozsahu.
Vyplnění pole pomocí náhodných čísel
V Matlabu lze pole vyplnit náhodnými čísly pomocí funkce rand . Tato funkce generuje náhodné číslo od 0 do 1.
Chcete-li vyplnit pole náhodnými čísly určité velikosti, musíte tuto velikost uvést jako argument funkce rand . Chcete-li například vyplnit jednorozměrné pole 10 položek, můžete použít následující kód:
arr = rand(1, 10);
Funkce rand může pracovat nejen s jednorozměrnými poli, ale také s dvourozměrnými nebo vícerozměrnými poli. Chcete-li například vyplnit dvourozměrné pole o velikosti 3x3, musíte použít následující kód:
arr = rand(3, 3);
Tímto způsobem získáme pole složené ze 3 řádků a 3 sloupců vyplněné náhodnými čísly.
Pokud potřebujeme, aby náhodná čísla byla v určitém rozsahu, můžeme použít funkci rand spolu s dalšími matematickými operacemi. K vyplnění pole náhodnými čísly od 1 do 10 lze například použít následující kód:
arr = rand(1, 10) * 9 + 1;
V tomto příkladu generujeme náhodná čísla od 0 do 9 pomocí funkce rand , poté výsledné číslo vynásobíme 9 tak, aby rozsah čísel byl od 0 do 9, a nakonec k výsledku přidáme 1, aby čísla byla od 1 do 10.
Funkce rand tak umožňuje generovat náhodná čísla a vyplňovat jimi pole.
Vyplnění pole pomocí generátoru číselné sekvence
V Matlabu lze k vyplnění polí použít generátory číselné sekvence. Tato metoda umožňuje vytvořit pole obsahující uspořádaná čísla v určitých intervalech nebo krocích.
Pro generování číselné sekvence v Matlabu použijte funkci linspace . Tato funkce má tři parametry: počáteční hodnota sekvence, konečná hodnota a počet prvků, které je třeba vygenerovat.
Zde je příklad, který ilustruje použití funkce linspace k vytvoření pole s čísly od 1 do 10:
array = linspace(1, 10, 10);
V tomto příkladu nastavíme počáteční hodnotu na 1, konečnou hodnotu na 10 a počet prvků na 10. Výsledkem provedení tohoto kódu bude pole array, které obsahuje číselnou sekvenci od 1 do 10.
Funkci lze také použít k vytvoření číselné sekvence. V tomto případě uvedete počáteční hodnotu, krok a konečnou hodnotu sekvence.
Chcete-li například vytvořit pole s čísly 1 až 10 v krocích po 2, můžete použít následující kód:
array = 1:2:10;
Výsledkem provádění tohoto kódu bude také pole array, které obsahuje číselnou sekvenci od 1 do 10 v krocích po 2.
Použití generátorů číselné sekvence usnadňuje vyplňování polí v Matlabu s určitými hodnotami, aniž byste museli ručně zadávat každou položku.
Vyplnění pole pomocí jiného pole nebo matice
V Matlabu je možné vyplnit nové pole nebo matici pomocí již existujícího pole nebo matice. K tomu je třeba přiřadit nové pole hodnoty stávající proměnné.
Příklad 1:
V důsledku provádění těchto řádků kódu bude pole q vyplněno hodnotami z pole p.
Příklad 2:
V důsledku provádění těchto řádků kódu bude matice B vyplněna hodnotami z matice a.
V Matlabu je tedy možné snadno vytvářet nová pole a matice pomocí již existujících hodnot.
Vyplnění pole pomocí specifických hodnot nebo vzorců
Kromě možnosti vyplňovat pole sériovými čísly poskytuje MATLAB také funkce pro vyplnění pole specifickými hodnotami nebo vzory.
Jednou z nejběžnějších funkcí pro vyplnění pole se specifickou hodnotou je funkce ones . Vytváří pole dané velikosti vyplněné jednotkami.
array = ones(3, 5); % создает массив размером 3x5, заполненный единицами
Funkci zeros lze také použít k vytvoření pole naplněného nulami:
array = zeros(4, 2); % создает массив размером 4x2, заполненный нулями
Pokud chcete pole vyplnit určitou hodnotou, můžete použít funkci repmat . Vytvoří pole dané velikosti vyplněné uvedenou hodnotou:
value = 7;array = repmat(value, 2, 3); % создает массив размером 2x3, заполненный значением 7
Tyto funkce mohou být užitečné při vytváření a inicializaci polí pro další zpracování v Matlabu. Pomocí těchto funkcí můžete snadno vyplnit pole s danými hodnotami nebo vzory a zjednodušit proces vytváření a práce s poli v Matlabu.