本文介绍了如何在 MATLAB 中绘制 4D 等高线 (XYZ-V)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有 XYZ 的数据集作为坐标,V 作为每个点的值(100x4 矩阵).

I have dataset of XYZ as the coordinates and V as the value at each point (100x4 matrix).

我使用补丁绘制了 3D 表面.(通过面和顶点)

I plot the 3D surface using patch. (by faces & vertices)

如何在 3D 表面上绘制 V(非 Z)的等高线!?

How can I plot the contour lines of V (NOT Z) over the 3D surface !?

(Contour3 函数绘制 Z 的 3D 轮廓线;但我需要 V 的轮廓线.)

( The Contour3 function plots 3D contour lines of Z ; But I need contour lines of V. )

实际上我想要像 this这个.

Actually I want something like this or this.

感谢十亿人的帮助.

其实我发现 isosurface 命令正是我想要的.

Well actually I found out that the isosurface command is exactly what I want.

但是,此命令要求 V 数据为 3D 矩阵.但我的 V 是一个向量.并且其中的数据是完全不均匀和不规则的.现在出现了一个新问题:

However, this command requires the V data to be a 3D matrix. But my V is a vector. And the data in it is completely non-uniform and irregular. Now here rises a new question :

如何将这个非均匀向量转换为 3D 矩阵,以便它可以与等值面命令一起使用!!?

请帮我解决这个问题.

推荐答案

来自 MathWorks FileExchange 的 >cont3d 并不是您正在寻找的内容,但它可能会给您一些想法.

cont3d from MathWorks FileExchange is not exactly what you're looking for, but it may give you some ideas.

这篇关于如何在 MATLAB 中绘制 4D 等高线 (XYZ-V)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-05 00:14