[X,Y]=meshgrid(x,y)
luotavat matriisit X
ja
Y
edustavat tason pistehilaa, eli koordinaattipisteistöä
(xi,yj)
. Jos f on "vektoroidusti kirjoitettu"
funktio, ts. kaikki laskutomitukset ovat "pisteittäisiä" (ts. kerto- ja jakolaskua ja
potenssiinkorotusta edeltää piste (.)), niin f(X,Y) antaa arvojen f(xi,yj) muodostaman matriisin.
mesh, surf, quiver ym. toimivat suoraan tälle rakenteella. Esim. quiver(X,Y,U,V) sijoittaa U- ja V-matriiseissa olevat "nopeuskomponentit" X ja Y-matriisien antamiin hilapisteisiin.
Kun tämän periaatteen mieltää, saa käyttöönsä hyvin tehokkaan tavan tehdä "suuria asioita" muutamalla hassulla komennolla, kuten diffyhtälön suuntakentän.
a=-5; b=5; c=-3; d=3; h=0.5; y1=a:h:b; y2=c:h:d;Määritellään systeemi:
f1=inline('y2','y1','y2') f2=inline('-sin(y1)','y1','y2')Kyseessa on autonominen diffyhtälösysteemi y1'=f1(y1,y2), y2'=f2(y1,y2). (Mieti huvin vuoksi, mitä fysikaalista ilmiötä tämä systeemi edustaa.) Kirjoita sitten tehtävän systeemi.
[Y1,Y2]=meshgrid(y1,y2); dy1=f1(Y1,Y2); dy2=f2(Y1,Y2); % y1- ja y2-funktioiden derivaatat hilapisteissä normit=sqrt(dy1.^2+dy2.^2); % "Nopeusvektorien" normit (kaikissa hilapisteissä) clf quiver(Y1,Y2,0.7*h*dy1./normit,0.7*h*dy2./normit,0,'c') % Normeerattiin ja lyhennettiin hieman, etteivät nuolet ole ihan kiinni toisissaan.