plot surface using different x,y vector increment and got different graph

1 visualización (últimos 30 días)
Hi, I using follow code to generate a surface, got fig 1
=========================================================
clear;
x=0:0.01:1;
y=0:0.01:1;
[x1,y1]=meshgrid(x,y);
z1=-1.448-0.477*x1-0.4757*y1+0.1473*x1.^2-0.1952*x1*y1+0.1334*y1.^2;
surf(x1,y1,z1,'FaceColor','red','LineStyle','none');
hold on;
=========================================================
fig 1
and I change x and y vector step from 0.01 to 0.1, got fig 2
=========================================================
clear;
x=0:0.1:1;
y=0:0.1:1;
[x1,y1]=meshgrid(x,y);
z1=-1.448-0.477*x1-0.4757*y1+0.1473*x1.^2-0.1952*x1*y1+0.1334*y1.^2;
surf(x1,y1,z1,'FaceColor','red','LineStyle','none');
hold on;
=========================================================
fig 2
My question is why Z-index is not same range. fig1 Z-index range is [-9,-8] and fig 2 Z-index range is [-3,-2]
which plot is correct ? and what causes this problem? How do I modify the code to produce the same plot?
Thanks....

Respuesta aceptada

Théophane Dimier
Théophane Dimier el 26 de Nov. de 2020
Hi
In your formula, there is an operation that is not element wise:
z1=-1.448-0.477*x1-0.4757*y1+0.1473*x1.^2-0.1952*x1*y1+0.1334*y1.^2;
If you correct it to
z1=-1.448-0.477*x1-0.4757*y1+0.1473*x1.^2-0.1952*x1.*y1+0.1334*y1.^2;
The two codes give the same results
  1 comentario
MacGyver Pan
MacGyver Pan el 27 de Nov. de 2020
it's work.
I read many similar examples, not to point this operation problem.
Thanks very much.

Iniciar sesión para comentar.

Más respuestas (1)

Stephan
Stephan el 26 de Nov. de 2020
Editada: Stephan el 26 de Nov. de 2020
You did not multiply elementwise, also you can shorten your code a little bit:
fun = @(x,y) -1.448-0.477*x-0.4757*y+0.1473*x.^2-0.1952*x.*y+0.1334*y.^2;
xl=0:0.1:1;
yl=0:0.1:1;
[x1,y1]=meshgrid(xl,yl);
z1=fun(x1,y1);
figure
surf(xl,yl,z1,'FaceColor','red','LineStyle','none');
xs=0:0.01:1;
ys=0:0.01:1;
[x2,y2]=meshgrid(xs,ys);
z2=fun(x2,y2);
figure
surf(xs,ys,z2,'FaceColor','red','LineStyle','none');

Categorías

Más información sobre Surface and Mesh Plots en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by