Jak extrahovat nuly v Matlabu
Krok 1
Zkopírujte původní matici dat na jinou proměnnou přiřazením její hodnoty novému názvu proměnné. Pokud potřebujete použít matici tak, jak byla před odstraněním nul, můžete tuto novou proměnnou použít.
Pokud se matice nazývá M, přiřadí ji například nové proměnné Mzeros. Chcete-li to provést, zadejte "Mzeros = M" (bez uvozovek) v příkazovém řádku programu Matlab.
Krok 2
Uložte původní datovou matici do textového souboru, pokud ji budete potřebovat později, pomocí funkce "dlmwrite" v MATLABu. Pokud je proměnná MATLAB, která nechtěně uloží vaše data, odstraněna nebo přepsána, můžete původní data z tohoto textového souboru znovu načíst.
Například pokud je původní matice dat uložena v proměnné Mzeros, zadejte "dlmwrite ('Mzeros.dat', Mzeros) '(bez uvozovek) a zapište Mzeros do textového souboru s názvem Mzeros.dat.
Tento krok můžete přeskočit, pokud jsou data již uložena v textovém souboru.
Krok 3
Rozhodněte se, zda potřebujete mít matici dat stejné velikosti a tvaru. Udržujte velikost matice a tvar, pokud mají řádky matice a sloupce určitý význam (například každý řádek představuje jiný experimentální test a každý sloupec představuje jiné množství měření). Chcete-li zachovat stejnou velikost a tvar, vyměňte každou nulovou hodnotu za zástupný symbol NaN (což představuje "není číslo").
Chcete-li nahradit hodnoty nul s NaN v matici s názvem M, napište "M (M == 0) = NaN" bez uvozovek. Ujistěte se, že píšete M == 0 se dvěma znaky rovnosti. Tento příkaz říká MATLABu, že všechny elementy M se rovná nule a nahradí je pomocí NaN.
Všechno v matici zůstává ve stejné pozici (stejný řádek a sloupec), ale všechny nuly budou nyní NaN. Vzhledem k tomu, že většina funkcí MATLAB ignoruje hodnoty NaN, můžete graficky analyzovat a analyzovat data, jako kdyby tam nebyly NaN, a získávaly tak významné výsledky.
Krok 4
Nulové prvky můžete zcela odstranit (namísto jejich nahrazení zástupnými symboly), pokud je pole jednoduchým seznamem hodnot bez významných řádků a sloupců. Chcete-li odstranit nulové prvky v matici s názvem M, napište "M (M == 0) = []" (bez uvozovek). Ujistěte se, že píšete M == 0 se dvěma znaky rovnosti. Tento příkaz říká MATLABu, že najde všechny prvky M rovnající se nule a nahradí je []. [] znamená "prázdné". Nahrazení hodnoty pomocí [] odstraňuje tento prvek.
Pokud M byla dvourozměrná matice, bude to nyní sloupec vektoru, který obsahuje všechny nenulové prvky původního M, pořízen jako sloupec. Například pokud M bylo pole se dvěma řádky a čtyřmi sloupci:
[1 6 0 3 2 0 7 4]
nyní to bude [1 2 6 7 3 4].
Pokud M byl vektor (pouze jeden řádek nebo sloupec), bude nyní kratší vektor. Například pokud M byl [1 2 0 3], nyní to bude [1 2 3].
Při odstranění prvků nuly změní matice tvar a velikost. Ale vzhledem k tomu, že matice nemá hodnoty NaN zástupných znaků, můžete data analyzovat i pomocí funkcí MATLAB, které nezohledňují hodnoty NaN.