主题:土问:如何画三维模型的色温图
我的数据文件如附件,最顶上的数是我数据的个数总数,第一列为数据编号,第二列维模型的x坐标,第三列为模型的y坐标,第四列为模型的z坐标,第五列维相应(x,y,z)坐标点处的函数值。我的程序如下:
fid=fopen('E:\emhybrid\program\FEM\Result\temperature.res','r');
number=fscanf(fid,'%4d',1);
x = zeros(number,1);
y = zeros(number,1);
z = zeros(number,1);
value = zeros(number,1);
for n=1:number
num(n)=fscanf(fid,'%4d',1);
x(n)=fscanf(fid,'%25e',1);
y(n)=fscanf(fid,'%25e',1);
z(n)=fscanf(fid,'%25e',1);
value(n)=fscanf(fid,'%25e',1);
end
surf(x',y',z',value);
colormap hsv
但是走到surf就出错了,即使换成mesh也是出错。
[b]以下为更新:[/b]
[b]temperature.res文件里的数据格式如下:[/b]
%总共的节点个数
1453
%数据的节点编号 x坐标 y坐标 z坐标 空间(x,y,x)点处的函数值,如温度
1 2.5000E-01 5.0000E+00 2.2000E+00 4.9907E+02
2 0.0000E+00 2.5000E+00 2.2000E+00 4.9182E+02
[b]注:[/b]
其实我就是要算一个三维空间物体模型的热传导,将三维物体模型离散化成节点,按照节点编号,将其的坐标给出,最后计算出各个空间节点出的温度分布,依然按照空间节点顺序依次给出如temperature.res文件所示。用商业软件画出的色温结果图形如附件图右所示,我算出的结果就是temperature.res文件,用matlab画出来如附件图左所示。我就是需要用temperature.res文件里的数据画出图左的东西。
[b]我遇到的问题如下:[/b]
1. 前人用fortran计算的temperature.res文件数据结果,然后 通过fortran调用的matlab引擎。我有它这段程序,可是不能程序运行到调用matlab引擎时就失败,以致后面的画图程序没有办法运行。
2. 我想前人也是通过matlab引擎来画的这种三维的色温图,那么也可以直接用matlab画出来它,所以寻求在得到计算结果的时候,直接用matlab来画这种图。
所以我要是可以解决以上其中任何一个问题就行,以我目前的matlab水平,同时身边没有人做这个东西,也么有人搞matlab,让我觉得这个比较难,我翻了不少书还有去清华和浙大的bbs求救了,可惜还是没有什么太大的帮助。
fid=fopen('E:\emhybrid\program\FEM\Result\temperature.res','r');
number=fscanf(fid,'%4d',1);
x = zeros(number,1);
y = zeros(number,1);
z = zeros(number,1);
value = zeros(number,1);
for n=1:number
num(n)=fscanf(fid,'%4d',1);
x(n)=fscanf(fid,'%25e',1);
y(n)=fscanf(fid,'%25e',1);
z(n)=fscanf(fid,'%25e',1);
value(n)=fscanf(fid,'%25e',1);
end
surf(x',y',z',value);
colormap hsv
但是走到surf就出错了,即使换成mesh也是出错。
[b]以下为更新:[/b]
[b]temperature.res文件里的数据格式如下:[/b]
%总共的节点个数
1453
%数据的节点编号 x坐标 y坐标 z坐标 空间(x,y,x)点处的函数值,如温度
1 2.5000E-01 5.0000E+00 2.2000E+00 4.9907E+02
2 0.0000E+00 2.5000E+00 2.2000E+00 4.9182E+02
[b]注:[/b]
其实我就是要算一个三维空间物体模型的热传导,将三维物体模型离散化成节点,按照节点编号,将其的坐标给出,最后计算出各个空间节点出的温度分布,依然按照空间节点顺序依次给出如temperature.res文件所示。用商业软件画出的色温结果图形如附件图右所示,我算出的结果就是temperature.res文件,用matlab画出来如附件图左所示。我就是需要用temperature.res文件里的数据画出图左的东西。
[b]我遇到的问题如下:[/b]
1. 前人用fortran计算的temperature.res文件数据结果,然后 通过fortran调用的matlab引擎。我有它这段程序,可是不能程序运行到调用matlab引擎时就失败,以致后面的画图程序没有办法运行。
2. 我想前人也是通过matlab引擎来画的这种三维的色温图,那么也可以直接用matlab画出来它,所以寻求在得到计算结果的时候,直接用matlab来画这种图。
所以我要是可以解决以上其中任何一个问题就行,以我目前的matlab水平,同时身边没有人做这个东西,也么有人搞matlab,让我觉得这个比较难,我翻了不少书还有去清华和浙大的bbs求救了,可惜还是没有什么太大的帮助。