MATLAB Answers

0

Generating a 3D plot

Asked by Matlab2010 on 21 Apr 2015
Latest activity Answered by Michael Haderlein on 21 Apr 2015
I have two 1D functions
  • Z1 =f(y)
  • Z2 =g(x)
Where Z1, Z2, x and y are Nx1 vectors.
I wish to combine these and plot the resulting 2D function as a 3D plot. Combination is by a weighting function W = [w1 w2], where w1+w2=1.0.
  • Z = h(x, y) = w1.*f(y) + w2. g(x)
Please can someone give me some example code to generate h() and plot it in a 3D graph.
Thank you

  2 Comments

Titus Edelhofer on 21 Apr 2015
Hi,
there is an important piece of information missing: what is the relation between Z1, Z2 and h? Is e.g.
h(x,y) = f(y) * g(x)
or
h(x,y) = f(y) + g(x)
or ... ?
Titus
Matlab2010 on 21 Apr 2015
apologies. updated.

Sign in to comment.

Tags

1 Answer

Answer by Michael Haderlein on 21 Apr 2015

I guess with "3D-plot" you mean a surface plot? So it would be like
x=linspace(0,1,50); %I just choose random values here
y=linspace(-1,1,80);
f=y.^2; %also here, I just do something random
g=exp(-x);
W=rand(2,1);
[F,G]=meshgrid(f,g);
Z=W(1)*F+W(2)*G;
surf(F,G,Z) %or
surf(f,g,Z) %or
surf(y,x,Z)

  0 Comments

Sign in to comment.