How to generate 3D surface from 2D graph

Hi everyone, I am trying to generate a 3D surface from a 2D graph, but haven't succeeded yet. Please help me if there is any possible way to do it. I have attached the code, the equation, corresponding 2D graph, and possible shape which i want to generate. Thank you in advance.
<<
<<
<<
<<
>>
>>
>>
>>
code:
a=0:0.1:2.4
c=sqrt(a.^2+4)
p=23e-7./(c.^6)
plot(a,p)
xlabel('Distance')
ylabel('power')

1 件のコメント

Researcher
Researcher 2022 年 5 月 10 日
Try using the cylinder() function, though that only works if you are rotating about the x-axis to generate your 3D surface.

サインインしてコメントする。

回答 (1 件)

Chunru
Chunru 2022 年 5 月 11 日
編集済み: Chunru 2022 年 5 月 11 日

0 投票

a = (0:0.1:2.4)';
theta = 0:360;
c= sqrt(a.^2+4);
p = 23e-7./(c.^6);
pp = repmat(p', [length(theta) 1]);
[aa, tt] = meshgrid(a, theta);
xx = aa.*cosd(tt);
yy = aa.*sind(tt);
figure
plot(a,p)
xlabel('Distance')
ylabel('power')
% whos
figure
surf(xx, yy, pp, 'EdgeColor', 'none')
% Alternatively
a = (-2.4:0.1:2.4)';
x = a; y = a;
[xx, yy] = meshgrid(x, y);
pp = 23e-7./(xx.^2+yy.^2+4).^3;
figure
surf(xx, yy, pp, 'EdgeColor', 'none')

カテゴリ

ヘルプ センター および File Exchange2-D and 3-D Plots についてさらに検索

質問済み:

2018 年 2 月 22 日

編集済み:

2022 年 5 月 11 日

Community Treasure Hunt

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

Start Hunting!

Translated by