how do i plot the following in 3D
1 view (last 30 days)
Show older comments
Tlotlo Oepeng
on 28 May 2021
Answered: Walter Roberson
on 29 May 2021
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
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.
Accepted Answer
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.
0 Comments
More Answers (0)
See Also
Categories
Find more on Surface and Mesh Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!