関数myFunction
が行列入力を処理するように設計されていない場合は、関数ARRAYFUNx
を使用して、およびの対応するすべてのエントリに適用できます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)
次に、関数CONTOURを使用して、上記のデータの等高線図を生成できます。データには2つの異なる値しかないため、z
1つの等高線レベル(2つの値の中間の0.5の値)のみをプロットすることはおそらく理にかなっています。代わりに、関数CONTOURFを使用することもできます。この関数は、1と0がどこにあるかを明確に示す色で塗りつぶされた輪郭を生成します。
contourf(x,y,z,1); %# Plots 1 contour level, filling the area on either
%# side with different color
注: 1と0しかないデータをプロットしているため、等高線をプロットすることは、それを視覚化するための最良の方法ではない場合があります。代わりに、次のように、関数IMAGESCのようなものを使用します。
imagesc(x(1,:),y(:,1),z);
このプロットのy軸は、CONTOURFによって生成されたプロットに対して反転することに注意してください。