how do i plot the following in 3D

1 view (last 30 days)
i have x and y which are matrices
i perform operations to get U which is a coulmn vector how do i plot it agaisnt x,y which are matices. the erro i get is that z must be a matrix not scalor or vector
x=-(ngrid/2:ngrid/2-1)*0.2
[X,Y] = meshgrid(x,x)
u%outputs coulmn vectors
my output U from my workspace is a coulu vector of 1x2001
  7 Comments
Walter Roberson
Walter Roberson on 28 May 2021
U = exp(-0.5.*x.^2-0.5.*y.^2-0.5.*t.^2);
You need to rewrite U in terms of X and Y instead of x and y . But X and Y are 2D and probably not the same size as t, so you would need to reshape t into the third dimension, or
[X, Y, T] = meshgrid(x, x, t);
U = exp(-0.5.*X.^2-0.5.*Y.^2-0.5.*T.^2);
But now U will be 3D and you need to summarize it down to 2D in order to use a surface plot.
k1 = fU( z(i) , U(i) ); % first slope
That whole section would need to be rewritten in terms of U being 3D.
Tlotlo Oepeng
Tlotlo Oepeng on 29 May 2021
thank you ill try to di that
how do i accept answer?

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 29 May 2021
[Copied from comment]
U = exp(-0.5.*x.^2-0.5.*y.^2-0.5.*t.^2);
You need to rewrite U in terms of X and Y instead of x and y . But X and Y are 2D and probably not the same size as t, so you would need to reshape t into the third dimension, or
[X, Y, T] = meshgrid(x, x, t);
U = exp(-0.5.*X.^2-0.5.*Y.^2-0.5.*T.^2);
But now U will be 3D and you need to summarize it down to 2D in order to use a surface plot.
k1 = fU( z(i) , U(i) ); % first slope
That whole section would need to be rewritten in terms of U being 3D.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!