代码之家  ›  专栏  ›  技术社区  ›  Omar

如何绘制自定义函数的轮廓图?

  •  3
  • Omar  · 技术社区  · 14 年前

    我有一个自定义函数,它返回 0 1 取决于两个给定的输入:

    function val = myFunction(val1, val2)
    
      % logic to determine if val=1 or val=0
    
    end
    

    如何在 x,y 由以下网格生成的坐标?

    meshgrid(0:.5:3, 0:.5:3);
    

    此图只显示函数的位置。 在等高线图上。

    2 回复  |  直到 7 年前
        1
  •  5
  •   gnovice    14 年前

    myFunction ARRAYFUN x 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 z CONTOURF

    contourf(x,y,z,1);  %# Plots 1 contour level, filling the area on either
                        %#   side with different color
    


    IMAGESC

    imagesc(x(1,:),y(:,1),z);
    

        2
  •  2
  •   Reinderien    14 年前

    function bincontour
        clear; clc;
    
        xrange = 0:.5:3;
        yrange = 1:.5:5;
        [xmesh, ymesh] = meshgrid(xrange, yrange);
        z = arrayfun(@myFunction, xmesh, ymesh);
    
        contourf(xrange, yrange, z, 5)
    end
    
    function val = myFunction(val1, val2)
        val = rand() > 0.5;
    end