Stacking on a multi-variable function
9 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
So, I am trying to build a plot from a multi-variable function. I plan to hold 2 variables constant while indexing the 3rd variable, but then for each index of the 3rd variable, i hold that 3rd variable constant and index the 2nd, so on and so forth for the first variable.
For example,
f(x,y,z) = x + y + z
f = x(1) + y(1) + z(1:10)
then, for each z index...
f = x(1) + y(1:10) + z(1)
and then...
f = x(1:10) + y(1) + z(1)
so essentially for this example, I would have 1000 data points. My idea was to do nested for loops, however I don't think this is the right approach.
2 Commenti
the cyclist
il 3 Lug 2019
I'm not quite sure what the inputs and outputs should be.
Is the input only the function itself? But you say you "have 1000 data points".
What is the output? A single plot? Three plots, one for each variable? Or do you need a plot for
f = x(1:10) + y(1) + z(1)
and
f = x(1:10) + y(2) + z(1)
and so on such that you have a thousand plots in total?
I, for one, need a lot of clarification before I could provide any help.
Risposte (1)
Walter Roberson
il 3 Lug 2019
[X, Y, Z] = ndgrid(x, y, z);
F = X + Y + Z;
F will now be numel(x) by numel(y) by numel(z) . You can extract parts of it such as
squeeze(F(7,:,2))
You might also want to look at slice() or isosurface()
5 Commenti
Walter Roberson
il 3 Lug 2019
You can extract parts of it such as
squeeze(F(2,:,7))
You might also want to look at slice() or isosurface()
Vedere anche
Categorie
Scopri di più su Surface and Mesh Plots in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!