# Plot a function of two variables

211 views (last 30 days)
SA on 13 Mar 2021
Commented: SA on 13 Mar 2021
I want to plot the function sin(4*pi*x)*sin(4*pi*y).
I tried the following but I am not sure if I am doing the right thing. Any help will be appreciated. Thanks
h = 2/11;
x = -1+h:h:1-h;
y = x;
[X,Y] = meshgrid(x,y);
z = @(x,y) sin(4*pi*x).* sin(4*pi*y); % Create Function
plot(x, z(X,Y))
Cris LaPierre on 13 Mar 2021
Edited: Cris LaPierre on 13 Mar 2021
What are you trying to do? Describe that, and then we can tell you if you are doing the right thing.
SA on 13 Mar 2021
The function sin(4*pi*x)*sin(4*pi*y) is the exact solution to a Poisson equation and I want to plot the exact solution given the domain -1<=x<=1 and -1<=y<=1 and a dimension of 11 in both directions.

Cris LaPierre on 13 Mar 2021
I think you want to plot a surface rather than a line plot. Use surf with inputs X, Y and z. This will allow you to see the response over the full X-Y parameter space. Since the number of points will affect the resolution of this surface, I use linspace instead of the colon operator.
h = 2/11;
x = linspace(-1+h,1-h,50);
y = x;
[X,Y] = meshgrid(x,y);
z = @(x,y) sin(4*pi*x).* sin(4*pi*y); % Create Function
surf(X,Y,z(X,Y))
SA on 13 Mar 2021
Thank you