mdsk.net
当前位置:首页 >> mAtlAB三维图转二维 >>

mAtlAB三维图转二维

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

画等高线图就可以转化

三维曲线图 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分别为三维空间的坐标位置 三维曲

用subplot函数 subplot(2 2 1)(两行 两列 第一个格)之后写程序就能添加多个函数

我自己造个数就, 你按照我的格式自己把数据填进去就好了x = 1:100;y = 1:50;[X Y] = meshgrid(x,y);Z = X.^2+Y.^2;surf(X, Y, Z); view([0 0 1]); shading interp; colorbar

举个例子,你看看就明白了A = rand(81,81,81);n = 20;A1 = A(:,:,n); % 81*81 二维A2 = A(:,n,:); % 81*1*81 三维A3 = A(n,:,:); % 1*81*81 三维% 将三维转为 81*81 二维A22 = reshape(A2,81,81);A32 = reshape(A3,81,81);

从文件读入的数据是1401个元素,你想把它reshape成11*11的数组,这是121个元素,当然是不可行的.reshape不能改变数组的元素数量.另外,X、Y是101*101的数组,分别有10201个元素,上一步即使可以reshape,下面的画图也是行不通的.

A= zeros(24,281,41);B = zeros(281,41);B(:,:) = A(1,:,:);

设原来三维自数组为知a,用道permute(a(:,1,:),[1 3 2]):>> a=rand(2,3,4)a(:,:,1) = 0.3046 0.1934 0.3028 0.1897 0.6822 0.5417a(:,:,2) = 0.1509 0.3784 0.8537 0.6979 0.8600 0.5936a(:,:,3) = 0.4966 0.8216 0.8180 0.8998 0.6449 0.6602a(:,:,4) = 0.

im2bw函数.

lyhk.net | mqpf.net | hyqd.net | sichuansong.com | artgba.com | 网站首页 | 网站地图
All rights reserved Powered by www.mdsk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com