如何用matlab将二维图转换为三维图?

Wp=1;%介质放置位置处的光斑半径No=1.5%介质的线性折射率lamda=5145e-7;%入射光波的波长Ko=2*pi/lamda;%入射光波的波数R=2000;%... Wp=1; % 介质放置位置处的光斑半径
No=1.5 % 介质的线性折射率
lamda=5145e-7; % 入射光波的波长
Ko=2*pi/lamda; % 入射光波的波数
R=2000; % 介质入射面处的激光束的曲率半径
Q=3;
D=2.28e3; % 介质出射面到远场观察面之间的距离
sata=-6e-3:0.1e-3:6e-3; % sata为远场衍射角
u1=zeros(size(sata));
detafai=input('detafai=') % 输入峰值附加相移值
n=1;
for sata=-6*0.001:0.1*0.001:6*0.001;
F=inline(strcat('r.*besselj(0,r.*',num2str(sata*Ko),').*exp(-r.^2/1^2-i*(',num2str(Ko*No/(2*R)),'*r.^2-',num2str(detafai),'.*exp(-2*r.^2/(1^2))))'));
t3=abs(quad(F,0,Q*Wp)).^2;
u1(n)=t3;
n=n+1;
end
sata=-6*0.001:0.1*0.001:6*0.001;
x=sata.*D;
x1=max(u1);
plot(x,u1/x1,'LineWidth',2); % 画远场光强度分布图
xlabel('\fontsize{19}\bf\rho/mm'); % 横坐标轴名
ylabel('\fontsize{19}\bfNormalizedIntensity');%纵坐标轴名

输入一个detafai得到一个二维图,detafai可以任意取,计算公式都没有问题。
求教如何将它沿z轴旋转成为一个三维图?
最好附上程序,谢谢
是沿x=0的轴线旋转
展开
 我来答
恩惠妮阿加西
推荐于2017-09-11 · TA获得超过1.7万个赞
知道大有可为答主
回答量:2506
采纳率:86%
帮助的人:175万
展开全部
用matlab将二维图转换为三维图方法如下:

首先利用meshgrid()函数产生网格,代码如下:
r0 = 0:deltar:R;
z0 = 0:deltaz:Z;
[r0,z0] = meshgrid(r0,z0);
plot3函数可以绘制三维曲线:
plot3(x1, y1, z1, 's1', x2, y2, z2, 's2'…)
三维网格图
mesh函数为数据点绘制网格线:
mesh(z) —— z为n×m的矩阵,x与y坐标为元素的下标位置;
mesh(x, y, z) —— x, y, z分别为三维空间的坐标位置。

三维曲面的绘图是由surf函数完成的,用法和mesh类似。
tianxiawulang
2015-05-26 · TA获得超过2.7万个赞
知道大有可为答主
回答量:4732
采纳率:89%
帮助的人:2313万
展开全部

在代码后面加几句:

t=linspace(0,2*pi,50)';
Z=repmat(u1/x1,50,1);
Y=sin(t)*x;
X=cos(t)*x;
mesh(X,Y,Z)
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式