Какво е Meshgrid в MATLAB?

MATLAB е удобен математически софтуерен пакет за извършване на изчисления, вариращи от проста аритметика и смятане до линейна алгебра и обработка на сигнали. Може също да начертава данни в графики. Хилядите вградени функции на MATLAB му дават неговата мощ, а един от мощните му инструменти за начертаване е функцията "meshgrid". Функцията поставя дефинирани от потребителя линии на мрежата в двуизмерни и триизмерни графики.

MATLAB Графика по подразбиране

Когато използвате някоя от функциите за двуизмерно изобразяване в MATLAB самостоятелно без допълнителни инструкции, MATLAB няма да използва линии на мрежата. Ако потребителят начертае графика в 2-D пространство, фоновата област на графиката е празна и бяла. В 3-D пространство MATLAB ще използва обща мрежа. Ако линиите на мрежата от всякакъв вид трябва да се покажат на 2-D графика, за да направят външния й вид по-ясен, потребителят трябва да посочи, че при извикване на командата plot или от прозореца на фигурата, след като MATLAB генерира графика.

Видео на деня

Meshgrid срещу Grid

Функцията "мрежа" на MATLAB е прост начин за включване на общи линии на мрежа в 2-D при извикване на графика. Предварително програмиран алгоритъм в MATLAB определя колко линии на мрежата да се използват и колко далеч една от друга да ги разпределите. За разлика от това, потребителят напълно определя хоризонталните и вертикалните линии на мрежата, които се появяват на графиката, когато използва функцията "meshgrid". Освен това, броят на линиите на мрежата и разстоянието между тях са еднакви и за двете оси с "решетка", но с "meshgrid" потребителят може да изисква, например, три линии на мрежа хоризонтално и 100 линии на мрежа вертикално.

3-D пример

Ето пример за използване на "meshgrid" за триизмерен график.

[X, Y] = мрежа (-2:.2:2, -1:0.2:1) Z = X .* exp(-X.^2 - Y.^2); сърфиране (X, Y, Z)

Първият ред код казва на MATLAB да използва хоризонтални линии на мрежата, вариращи от -2 до 2, с интервали от 0,2. Той също така изисква вертикални линии на мрежата от -1 до 1 на стъпки от десети. Вторият ред казва на MATLAB как да изчисли стойността "Z" въз основа на стойностите "X" и "Y". И накрая, функцията "surf" на MATLAB начертава 3-D повърхност, окачена в пространството, като мрежата е съобразена с повърхността.

Друг 3-D пример

Ето още един начин да използвате "meshgrid" за триизмерен сюжет.

[X, Y] = мрежа (-2:.2:2) Z = X .* exp(-X.^2 - Y.^2); сърфиране (X, Y, Z)

Вторият и третият ред са идентични с предишния раздел, но в този случай функцията "meshgrid" приема само един аргумент. MATLAB разбира, че получаването само на един аргумент всъщност означава, че потребителят казва на програмата да използва същия брой линии на мрежата и интервали за стойностите "X" и "Y". С този код повърхността ще има 21 хоризонтални линии на мрежата, както и 21 вертикални линии на мрежата, всички на еднакво разстояние.