I have two functions "f" and "g" and both are dependent on three variables being x,y and z. Both the functions and boundaries of x, y and z are provided as follows:
x = 150:5:250;
y = 0.2:0.05:0.3;
z = 1:0.1:2;
f = 20./(x.^0.2) .* (y.^0.3) .* (z.^0.01);
g = x .* y .* z
How can both the functions be plotted in one graph itself. Please help.

Réponses (1)

Hugo
Hugo le 21 Juin 2015
Modifié(e) : Walter Roberson le 21 Juin 2015

0 votes

You can use scatter3. To that end, you can create a matrix containing in each row the coordinates of each point and the value of f or g. Suppose the matrix is called M and the columns are the x, y, z values and the function. Then write:
scatter3(M(:,1),M(:,2),M(:,3),5,'o',M(:,4))
and you will get each point with a different colour representing the value of f or g. Write:
scatter3(M(:,1),M(:,2),M(:,3),M(:,4),'o')
and you will get each point with a different size representing the value of f or g. Write
scatter3(M(:,1),M(:,2),M(:,3),M(:,4),'o',M(:,5))
and you will get the points with different sizes and different colours representing both f and g.
Whether it represents f and/or g depends on what you put in the columns 4 and 5.
Just in case, check the usage of scatter3 in the Matlab help. I might have messed up the order of the last inputs.
Hope this helps.

Catégories

En savoir plus sur Discrete Data Plots dans Centre d'aide et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by