Regarding 3D plots with Matlab

Hi - im trying to do a 3D plot in Matlab
I have a user defined function of the form:
[Number,~,...] = myfunc(parameter,arg2,...)
The first output argument (Number) is a real number. Parameter is a vector in 2 dimensional space. Can someone tell me how to plot Number on the z - axis given a prespecified set to which parameter belongs.
Thanks

 Risposta accettata

Matt Tearle
Matt Tearle il 23 Mar 2011
So what kind of visualization do you want at the end? Do you want a surface? In which case you could do something like
x = 0:0.1:1;
y = -1:0.05:2;
[X,Y] = meshgrid(x,y);
params = [X(:),Y(:)];
n = size(params,1);
Z = zeros(n,1);
for k=1:n
Z(k) = myfunc(params(k,:),...);
end
Z = reshape(Z,size(X));
surf(X,Y,Z)

1 Commento

Thanks alot, that seems to be exactly what im looking for.

Accedi per commentare.

Più risposte (1)

Matt Tearle
Matt Tearle il 22 Mar 2011
I'm not sure I understand what you're after. It sounds a bit like
plot3(parameter(1),parameter(2),Number,'o')

1 Commento

I want to plot my function, f: R^2 -> R. My function f takes as input a parameter vector and some other stuff. I want to plot my function for
parameter1 = [ 0,1 ] and parameter2 = [0.5 , 1] say.
Thank you for helping out!

Accedi per commentare.

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by