Si votre fonction myFunction
n'a pas été conçu pour gérer les entrées de la matrice, vous pouvez utiliser la fonction ARRAYFUN pour l'appliquer à toutes les entrées correspondantes de x
et y
:
[x,y] = meshgrid(0:0.5:3); %# Create a mesh of x and y points
z = arrayfun(@myFunction,x,y); %# Compute z (same size as x and y)
Ensuite, vous pouvez utiliser la fonction CONTOUR pour générer un tracé de contour pour les données ci-dessus. Étant donné que vos données z
ont seulement deux valeurs différentes, il serait probablement logique que vous ne traciez qu'un niveau de contour (qui serait à une valeur de 0,5, à mi-chemin entre vos deux valeurs). Vous pouvez également utiliser plutôt la fonction CONTOURF, qui produit des contours rempli de couleur qui montrent clairement où les zéros et les uns sont:
contourf(x,y,z,1); %# Plots 1 contour level, filling the area on either
%# side with different color
REMARQUE: Puisque vous complotez des données qui a seulement les et les zéros, le tracé des contours n'est peut-être pas la meilleure façon de le visualiser. Je plutôt utiliser quelque chose comme la fonction IMAGESC, comme ceci:
imagesc(x(1,:),y(:,1),z);
Gardez à l'esprit l'axe y dans cette parcelle sera inversée par rapport à l'intrigue générée par CONTOURF.
Remarque - vous devriez probablement utiliser une meilleure résolution de 0,5, à moins que la fonction est extrêmement lente. – Reinderien