当前位置:首页>开发>正文

在Matlab中如何将三维数组绘制成三维曲面 matlab如何用3组数据绘制三维曲面

2023-04-28 05:35:38 互联网 未知 开发

 在Matlab中如何将三维数组绘制成三维曲面 matlab如何用3组数据绘制三维曲面

在Matlab中如何将三维数组绘制成三维曲面

编写mymesh()函数:
function mymesh()
temdat=load(D: est.txt)
if temdat== -1
(Error opening the file)
end
figure
h=plot3(temdat(:,1),temdat(:,2),temdat(:,3))
set(h,linestyle,none)
hold on
grid on
[x,y]=meshgrid(linspace(-150,150,500),linspace(-150,150,500))
z = griddata(temdat(:,1),temdat(:,2),temdat(:,4),x,y)
meshc(x,y,z)
axis([0,180,0,180])

坐标放在D: est.txt里(你也可以改成其他的),格式如下:
45 32 578 45 246 79 546 75 214 69 7……

matlab如何用3组数据绘制三维曲面

3组数据就是曲面的x,y,z坐标,程序根据要求不同而异,程序可这样写:
[x,y,z]=meshgrid(linspace(-5,5))
val=(x.^2 (9/4)*y.^2 z.^2 - 1).^3 - x.^2.*z.^3 - (1/9)*y.^2.*z.^3%isosurface(x,y,z,val,0)
p = patch(isosurface(x,y,z,val,0))
isonormals(x,y,z,val,p)
set(p,FaceColor,red,EdgeColor,none)
axis equal
grid on
view(-10,24)
%colormap(hot)
%axis off
camlight
rotate3d on
colormap(jet)
colorbar(location,EastOutside)
%colorbar(East)
ylabel(colorbar,Emission intensity (a.u.),fontsize,18)
set(gca,fontsize,14,linewidth,2)

matlab已知(x,y,z)怎么画三维曲面图?

如果不是网格点数据,那么请用griddata函数插值到网格点数据,然后再surf

如:
data=[
1 1 5.1 1 2 9.5 1 3 8.6 2 1 12.5 2 2 10.5 2 3 2. 3 1 22.0 3 2 22.9 3 3 32.9 4 2 55.5 4 3 24.5] %第一列为x,第二列为y,第三列为z

[xx,yy]=meshgrid(1:4,1:3) %生成网格点
zz=griddata(data(:,1),data(:,2),data(:,3),xx,yy,v4)%你的数据得插值成网格型数据。
surf(xx,yy,zz)
shading interp

matlab三维曲面的绘制

clc
clear all
x=1:1:1000
y=0.25:0.001:2
[X,Y]=meshgrid(x,y)
Z=0.002*(X.^2)./Y
surf(X,Y,Z)
title(Z=0.002*(X^2)/Y)xlabel(x)ylabel(y)
我自己写的代码,看看行不行!有问题再交流!

MATLAB中等值线、三维曲面图怎么画

如果xyz都是一维数组,那么只能用plot3画出三维曲线图,如果想画出曲面图,z变量得是x*y大小的矩阵,或者知道xyz之间的函数关系。具体可以求助matlab中帮助。
可以参考这个http://jingyan.baidu.com/article/2f9b480db303ec41cb6cc20c.html

最新文章