Plot a function of two variables

29 Ansichten (letzte 30 Tage)
SA
SA am 13 Mär. 2021
Kommentiert: SA am 13 Mär. 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))
  2 Kommentare
Cris LaPierre
Cris LaPierre am 13 Mär. 2021
Bearbeitet: Cris LaPierre am 13 Mär. 2021
What are you trying to do? Describe that, and then we can tell you if you are doing the right thing.
SA
SA am 13 Mär. 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.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Cris LaPierre
Cris LaPierre am 13 Mär. 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))

Weitere Antworten (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by