www.sghz.net > mAtlAB二维旋转成三维

mAtlAB二维旋转成三维

clc;clear all;syms v x ;v1=zeros();x=zeros();w=50;r2=1;e=0.6;i=1;r3=0.7;for k=0:(e+r2)/100:(e+r2) x(i)=k;if k>r2-e v1(i)=acos((k*k+e*e-r2*r2)/(2*k*e))-acos((k*k+e*e-r3*r3)/(2*k*e));else v1(i)=pi;endi=i+1;endN=length(x);f=max(v1);v=v1./f;q=max(x);y=x./q

t = 0:pi/10:2*pi;[X,Y,Z] = cylinder(2+t.^2);surf(X,Y,Z)axis square

reshape函数可以帮你,比如 B=reshape(A,2,4,2); B就是你所求的新矩阵.

用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类似.

不明白,是要曲线图还是柱状图,还有你纵坐标的值想怎么设?都给你取成1了 clear all clc Z0=0:0.5:30; Z1=30:-0.5:0; Z=(Z0+Z1)./30; R=0:0.5:30; for k=1:length(R) RR=R(k); ZZ=Z(k); if RR<=17 z=(0.00183*RR.^2)./(2.*sqrt(1.013*(0.534-0.00183*RR.^2))); T=erfc(real(z))*109+45; else T=45; end TT(k)=T; end plot3(R,TT,Z);

方法1:采用reshape处理.方法2:采用:squeeze 处理.方法3:在定义的时候,抽取元素形式为a=b(:,:,i).1.matlab中三维数组顺序是:行、列、页.二维数组只有行、列.如果两只之间赋值,有一个维数缩减问题需要注意.前者可以缩减为

本人记得只要选择软件对头,绘画完毕三个视图会自动生成三维图像.每条曲线代表曲面视野的分割界限.

如果没有理解错的话,应该是以题中函数自变量x正方向为轴进行旋转.这样得到的曲面如下图所示:只需要在原来代码后面加入如下片段即可:figure[X,Y,Z] = cylinder(y);surf(X,Y,Z)axis square

长方形处于什么样的位置?旋转所绕的边与坐标轴重合或平行吗?形成的三维轨迹其实应该是一个曲面(柱面的一部分),是要画出那个柱面吗?建议你把条件明确一下(给个具体的长方形顶点坐标,指定绕哪个轴转,转多大角度),然后帮你做个例子.

plot(q(:),p(:),'.');得到对应点如果想得到连续的图形还是必须得推出q,p的转换方程

网站地图

All rights reserved Powered by www.sghz.net

copyright ©right 2010-2021。
www.sghz.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com