| 所在主题: | |
| 文件名: nodetemp.txt | |
| 资料下载链接地址: https://bbs.pinggu.org/a-1641229.html | |
| 附件大小: | |
|
matlab如何画四维图像。
〈本帖收录于〉——〖素质文库〗 (三大专题:〖Only one〗、〖On Spss〗、〖On Matlab〗)
法一 这个问题相当于有限元里面后处理的例子。一个数组一共四列,前三列为坐标xyz,第四列为温度。
读入的txt文件:
[hide][/hide] 结果图形: 法二: 这样的方法没代表性吧。 说白了,就是把这些node练成多边形,然后根据结点的温度填上结点的颜色。因为软件填色的本身设定,整个多边形就填上色。Matlab 可以做,Mathematica也可以做。因为你把那些结点关系省略了,我就用Interpolation来补充一下了。 data = Import["C/nodetemp.txt", "Table"] data1 = Transpose[{data[[All, 1 ;; 3]], data[[All, 4]]}]; b = Max@data[[All, 4]]; a = Min@data[[All, 4]]; ff = Interpolation[data1, InterpolationOrder -> 1] tt = RegionPlot3D[ 0 <= x <= 0.2 && 0 <= y <= 0.3 && 0 <= z <= 0.2, {x, 0, 0.2}, {y, 0, 0.3}, {z, 0, 0.2}, Mesh -> {8, 5, 6}, PlotPoints -> {10, 7, 8}, MaxRecursion -> 0]; cls = Map[(ColorData["TemperatureMap"][(ff @@ # - a)/(b - a)]) &, tt[[1, 1]]]; Row[{Graphics3D[{GraphicsComplex[ tt[[1, 1]], {Opacity[0.8], EdgeForm[], Cases[tt[[1]], Polygon[__], {0, Infinity}]}, VertexColors -> cls]}, Axes -> True, AxesLabel -> {"x", "y", "z"}, Boxed -> False, BoxRatios -> 1, ViewPoint -> {-2, -2, 1}, ImageSize -> 350], Graphics[DensityPlot[(y - a)/(b - a), {x, 0, 0.5}, {y, 22, 25}, ColorFunction -> (ColorData["TemperatureMap"][#1] &)][[1]], Ticks -> {None, Range[22, 25, 0.5]}, Frame -> False, Axes -> True, AspectRatio -> 10, ImageSize -> 45]}, Spacer[5]]
|
|
熟悉论坛请点击新手指南
|
|
| 下载说明 | |
|
1、论坛支持迅雷和网际快车等p2p多线程软件下载,请在上面选择下载通道单击右健下载即可。 2、论坛会定期自动批量更新下载地址,所以请不要浪费时间盗链论坛资源,盗链地址会很快失效。 3、本站为非盈利性质的学术交流网站,鼓励和保护原创作品,拒绝未经版权人许可的上传行为。本站如接到版权人发出的合格侵权通知,将积极的采取必要措施;同时,本站也将在技术手段和能力范围内,履行版权保护的注意义务。 (如有侵权,欢迎举报) |
|
京ICP备16021002号-2 京B2-20170662号
京公网安备 11010802022788号
论坛法律顾问:王进律师
知识产权保护声明
免责及隐私声明