Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

MATLAB function

  1. Apr 19, 2010 #1
    Hi, i need to pass a function in matlab a few parameters, one of the parameters is an equation such as :
    sin(x)-cos(y)
    and have it make the 3d graph, i have no problem setting up the meshgrid etc and getting it to work running strait from the m-file

    function graph = graph(f)
    n=20;
    x = (-n:1:n);
    y = (-n:1:n);
    [x,y] = meshgrid(x,y);

    z=f;

    surf(x,y,z);

    end

    example of running the function

    graph(sin(x)-cos(y))

    right now when i run it i get.

    ??? Error using ==> surf at 78
    Z must be a matrix, not a scalar or vector.

    Error in ==> graph at 7
    surf(x,y,z);


    Any advice would be great.
     
  2. jcsd
  3. Apr 19, 2010 #2
    Look up "help function pointer" and follow their examples.
     
  4. Apr 20, 2010 #3
    Two things,

    1) Change the line z = f to z = f(x,y)

    2) When you call the function, use graph(@(x,y) cos(x) - sin(y))
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook




Similar Discussions: MATLAB function
  1. Matlab function (Replies: 2)

  2. Matlab function (Replies: 1)

  3. Matlab functions (Replies: 0)

  4. Matlab functions (Replies: 0)

  5. MATLAB function (Replies: 1)

Loading...