Mi az a Meshgrid a MATLAB-ban?
A MATLAB egy praktikus matematikai szoftvercsomag az egyszerű aritmetikától és a számításoktól a lineáris algebráig és a jelfeldolgozásig terjedő számítások elvégzésére. Az adatokat grafikonokon is ábrázolhatja. A MATLAB több ezer beépített függvénye adja az erejét, és egyik hatékony ábrázolóeszköze a "meshgrid" funkció. A függvény a felhasználó által definiált rácsvonalakat kétdimenziós és háromdimenziós grafikonokba helyezi.
MATLAB ábrázolási alapértékek
Ha a MATLAB bármely 2D-s ábrázolási funkcióját önállóan, további utasítások nélkül használja, a MATLAB nem használ rácsvonalakat. Ha a felhasználó egy grafikont 2-D térben ábrázol, akkor a diagram háttérterülete üres és fehér. A 3D térben a MATLAB általános rácsot fog használni. Ha bármilyen rácsvonalnak meg kell jelennie egy 2D grafikonon, hogy a megjelenése világosabb legyen, a felhasználónak meg kell adnia, hogy a plot parancs meghívásakor vagy az ábraablakból, miután a MATLAB létrehozta a grafikont.
Meshgrid versus rács
A MATLAB "rács" funkciója egy egyszerű módja annak, hogy az általános rácsvonalakat 2D-ben kapcsolja be egy plot hívásakor. A MATLAB előre programozott algoritmusa meghatározza, hogy hány rácsvonalat használjon, és milyen távolságra helyezze el egymástól. Ezzel szemben a felhasználó teljesen meghatározza a grafikonon megjelenő vízszintes és függőleges rácsvonalakat a "hálóháló" funkció használatakor. Ezen túlmenően a rácsvonalak száma és a távolságuk mindkét tengelyen azonos a "rács" esetén, de a "hálóháló" esetén a felhasználónak szüksége lehet például három rácsvonalra vízszintesen és 100 rácsvonalra függőlegesen.
3D-s példa
Íme egy példa a "meshgrid" használatára háromdimenziós diagramhoz.
[X,Y] =hálóháló(-2:.2:2, -1:0.2:1) Z =X .* exp(-X.^2 - Y.^2); surf(X,Y,Z)
A kód első sora azt mondja a MATLAB-nak, hogy -2 és 2 közötti vízszintes rácsvonalakat használjon, 0,2-es térközökkel. Függőleges rácsvonalakat is igényel -1 és 1 között tizedes lépésekben. A második sor megmondja a MATLAB-nak, hogyan kell kiszámítani a "Z" értéket az "X" és "Y" értékek alapján. Végül a MATLAB „surf” függvénye egy térben felfüggesztett 3D-s felületet ábrázol, a hálóhálóval a felülethez igazítva.
Egy másik 3D-s példa
Íme egy másik módja a "hálóháló" használatának háromdimenziós ábrázoláshoz.
[X,Y] =hálóháló (-2:.2:2) Z =X .* exp(-X.^2 - Y.^2); surf(X,Y,Z)
A második és a harmadik sor megegyezik az előző szakaszéval, de ebben az esetben a "meshgrid" függvény csak egy argumentumot vett igénybe. A MATLAB megérti, hogy csak egy argumentum fogadása valójában azt jelenti, hogy a felhasználó azt mondja a programnak, hogy ugyanannyi rácssort és térközt használjon az "X" és "Y" értékekhez. Ezzel a kóddal a felületen 21 vízszintes rácsvonal és 21 függőleges rácsvonal lesz, mindegyik egyenlő távolságban.