How to plot a 3D plot from three linear vectors?

8 Ansichten (letzte 30 Tage)
Sadiq Akbar
Sadiq Akbar am 21 Feb. 2022
Kommentiert: Matt J am 21 Feb. 2022
I have three vectors x ,y and z. The size of all of them are same.But all of them are 1D arrays. I want to draw a 3D plot from them. Let me give it in code form as below:
x=linspace(0,180,100);% 1st vector
y=x;% 2nd vector
z=rand(1,100)*1e-7;% 3rd vector
I tried to convert both x and y to 2D vectors as below:
[x,y]=meshgrid(x,y);
But when I use the surface command or mesh command, it gives me error as:
Z must be a matrix, not a scalar or vector.
What to do?

Akzeptierte Antwort

Matt J
Matt J am 21 Feb. 2022
Bearbeitet: Matt J am 21 Feb. 2022
x=linspace(0,180,100);% 1st vector
y=x;% 2nd vector
z=rand(1,100)*1e-7;% 3rd vector
line(x,y,z); view(3)
  2 Kommentare
Sadiq Akbar
Sadiq Akbar am 21 Feb. 2022
Thank you very much dear Matt J. The 2nd problem is a little bit different from above. This time both x and y vectors are of same length but I want to plot peaks on intersection of the points of x and y axes i.e., I want to draw one peak on each i.e.,
(x1,y1)=(50,50)
(x2,y2)=(70,120)
(x3,y3)=(30,65)
Matt J
Matt J am 21 Feb. 2022
The 2nd problem is a little bit different from above.
If your first problem has been solved, please Accept-click the answer. If you have a new problem, please post it in a separate thread.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by