lzth.net
当前位置:首页 >> mAtlAB画三维雪花图 >>

mAtlAB画三维雪花图

用surf函数:t=linspace(0,pi,25); p=linspace(0,2*pi,25); [theta,phi]=meshgrid(t,p); x=sin(theta).*sin(phi); y=sin(theta).*cos(phi); z=cos(theta); surf(x,y,z); axis equal;

matlab好像只能画曲线和曲面,不能画三维实体,你试试这个样子的图你能不能接收吧.for i=linspace(-pi/6,pi/6,20) for j=linspace(-pi/6,pi/6,10) for k=linspace(-pi/6,pi/6,10) x=cos(i)*cos(j)*cos(k)-cos(i)*sin(j)*sin(k)+cos(i)*cos(j)+cos(i); y=sin(i)*cos(j

function plotkoch(k) %显示迭代k次后的Koch曲线图p=[0,0;10,0]; %存放结点坐标,每行一个点,初始值为两结点的坐标n=1; %存放线段的数量,初始值为1A=[cos(pi/3),-sin(pi/3);sin(pi/3),cos(pi/3)]; %用于计算新的结点for s=1:k %实现迭代过

关于颜色能不能具体一点,三维图像是很好画,用plot3(A(:,1),A(:,2),A(:,3)) 但是一个数字是无法代表一种颜色的啊

x=[1 2 3 4 5 6 7];y=[7 8 2 9 0 6 5];z=[11 2 9 4 7 6 5];plot3(x,y,z)按上面语句可画出空间折线图,画不出曲面,因为画曲面的条件是:x是行矢量,y是列矢量,z是二维矩阵,现在,z只给出一个矢量,无法生成曲面.加上你所说的节点,z也不能成为二维矩阵

mesh函数是用来画三维网格图的,但是要用meshgrid来产生格网矩阵!有时我们要在图上用标点来显示某些数值的重要性,就要用到mesh和plot3两个函数. >> [X,Y]=meshgrid(-3:0.2:3); >> Z=81.4881+1.2877*X+2.9766*Y; >> mesh(X,Y,Z) >> hold on >> plot3(X,Y,Z,'x','MarkerSize',3);%

3D plot在Matlab里面有很多种.最简单的是3D line plot:在上面的例子里 如果变量x y z都是一一对应的(x的data长度和y z都相同)那么可以直接用plot3(x,y,z)来plot 如果只想有点还可以scatter3(x,y,z) 当然如果需要的三维图是带有surface或者patch类元素的 可以使用surf 或是其他patch类函数.

surf 或 mesh 命令,也可以用CONTOUR, 不过不是三维的是梯度图,具体语法参考帮助.

%四个平面单独画c = [0, 0.3, 0.6, 0.9]; %颜色x = [-200, -200, 200, 200];y = [-200, -200, -200, -200];z = [0, 500, 500, 0];%第一个面fill3(x,y,z,c);hold on;%第二个面y = -y;fill3(x,y,z,c);%第三个面t = x;%先交换x和yx = y;y = t;fill3(x,y,z,c);%第四个面x = -x;fill3(x,y,z,c);hold off;axis equal;grid on;

程序如下:1 x=0:pi/10:2*pi; 2 y=2*sin(x); 3 subplot(2,2,1);bar(x,y,'g'); %subplot最后一个1表示正在绘制第一个图像 4 title('bar(x,y,''g'')');axis([0,7,-2,2]); 5 subplot(2,2,2);stairs(x,y,'b'); 6 title('stairs(x,y,''b'')');axis([0,7,-2,2]); 7 subplot(2,2,3);stem(x,y,'k'); 8

3859.net | beabigtree.com | dfkt.net | qimiaodingzhi.net | hbqpy.net | 网站首页 | 网站地图
All rights reserved Powered by www.lzth.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com