plot 2 variables of different length

x = 100:400 ;
y = 600:1500 ;
Z = 3*x+2*y ;
I want to plot z (along z axis) as a function of x (along x axis) and y (along y axis).

 Risposta accettata

Try meshgrid():
x = 100:400 ;
y = 600:1500 ;
[X, Y] = meshgrid(x, y);
Z = 3 * X + 2 * Y;
surf(X, Y, Z, 'EdgeColor', 'none');
fontSize = 15;
xlabel('X', 'FontSize', fontSize);
ylabel('Y', 'FontSize', fontSize);
zlabel('Z', 'FontSize', fontSize);
title('Z = 3 * X + 2 * Y', 'FontSize', fontSize);
colormap(jet(256));
colorbar;

7 Commenti

thank you
For the above case, if i need to plot a function,
P=X/Z;
what should be the command?
x = 100:400 ;
y = 600:1500 ;
[X, Y] = meshgrid(x, y);
Z = 3 * X + 2 * Y;
subplot(1, 2, 1);
surf(X, Y, Z, 'EdgeColor', 'none');
fontSize = 15;
xlabel('X', 'FontSize', fontSize);
ylabel('Y', 'FontSize', fontSize);
zlabel('Z', 'FontSize', fontSize);
title('Z = 3 * X + 2 * Y', 'FontSize', fontSize);
colormap(jet(256));
colorbar;
P = X ./ Z;
subplot(1, 2, 2);
imshow(P, [], 'XData', x, 'YData', y);
xlabel('X', 'FontSize', fontSize);
ylabel('Y', 'FontSize', fontSize);
zlabel('Z', 'FontSize', fontSize);
axis('on', 'xy');
title('P = X ./ Z', 'FontSize', fontSize);
colorbar;
impixelinfo;
g = gcf;
g.WindowState = 'maximized'
In this figure, how can i plot the minimum value of Z on the X axis, for every value of Y?
minYValues = min(Z, [], 2);
minXValues = min(Z, [], 1);
How to plot minYValues on the surface plot?
I show you the image on the right. Can you show me exactly what you'd expect your surface plot to look like if I did what you are asking?

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su 2-D and 3-D Plots in Centro assistenza e File Exchange

Prodotti

Release

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by