Hva er Meshgrid i MATLAB?

MATLAB er et hendig matematisk programvarepakke for å utføre beregninger som spenner fra enkel aritmetikk og kalkulus til lineær algebra og signalbehandling. Det kan også plotte data i grafer. MATLAB tusenvis av innebygde funksjoner gir den sin makt, og en av de kraftige plotting verktøy er "meshgrid" -funksjonen. Funksjonen setter brukerdefinerte rutenettet i to-dimensjonale og tre-dimensjonale grafer.

MATLAB Plotting Defaults

Når du bruker noen av de 2-D plotting funksjoner i MATLAB på egenhånd uten ekstra undervisning, vil MATLAB ikke bruke rutenettlinjene. Hvis brukeren plotter en graf i 2-D plass, er bakgrunnsområdet på tomten blank og hvit. I 3-D plass, vil MATLAB bruke en generisk rutenett. Hvis rutenettet av noe slag må vise opp på en 2-D grafen for å gjøre sitt utseende klarere, må brukeren spesifisere at når du ringer tomten kommando eller fra figuren vinduet etter MATLAB genererer grafen.

Meshgrid Versus Grid

MATLAB er "grid" funksjonen er en enkel måte å slå på generiske rutenettet i 2-D når du ringer et plott. En forhåndsprogrammert algoritme i MATLAB bestemmer hvor mange rutenettlinjer for å bruke og hvor langt fra hverandre til plass dem. I motsetning til brukeren bestemmer helt den horisontale og vertikale rutenettlinjer som vises på en graf når du bruker "meshgrid" -funksjonen. I tillegg er antall rutenettet og avstanden mellom dem den samme for begge akser med "grid", men med "meshgrid" brukeren kan kreve, for eksempel tre rutenettlinjene horisontalt og 100 rutenettlinjer vertikalt.

3-D Eksempel

Her er et eksempel med "meshgrid" for et tredimensjonalt plott.

[X, Y] = meshgrid (-2: 0,2: 2, 1: 0,2: 1)
. Z = X * exp (-x ^ 2 - Y. ^ 2.);
surf (X, Y, Z)

Den første linjen i koden forteller MATLAB å bruke horisontale støttelinjer som spenner -2 til 2, med mellomrom på 0,2. Det krever også vertikale hjelpelinjer -1 til 1 i trinn på tideler. Den andre linjen forteller MATLAB hvordan å beregne "Z" verdi basert på "X" og "Y" verdier. Til slutt, tomter MATLAB er "surfe" -funksjonen en 3-D overflate suspendert i verdensrommet, med meshgrid dannet til overflaten.

Et annet 3-D Eksempel

Her er en annen måte å bruke "meshgrid" for et tredimensjonalt plott.

[X, Y] = meshgrid (-2: 0,2: 2)
. Z = X * exp (-x ^ 2 - Y. ^ 2.);
surf (X, Y, Z)

Den andre og tredje linjer er identisk med de foregående avsnitt, men i dette tilfelle av "meshgrid" -funksjonen tok bare en argument. MATLAB forstår at du mottar bare ett argument faktisk betyr at brukeren er å fortelle programmet til å bruke samme antall rutenettlinjer og avstander for "X" og "Y" verdier. Med denne koden, vil overflaten har 21 horisontale rutenettlinjer samt 21 vertikale rutenettlinjer, alle like avstander.