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

 Accepted Answer

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 Comment

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

Sign in to comment.

More Answers (1)

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

1 Comment

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!

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!