使用' patch'时出错matlab中的函数

时间:2015-04-22 10:16:42

标签: matlab plot patch

我正在尝试绘制一个3d对象的表面网格的四边形补丁。我有x,y,z 4Xn其中4是四边形的每个顶点,n是四边形的数量,c,这是一个3Xn RGB矩阵。何时使用patch( x, y, z,c);
我收到了错误

`Error using patch`
`Size of C must match sizes of X Y [Z]`

但这适用于x,y,z3Xn表示三角形补丁,c表示3Xn RGB矢量。请纠正我出错的地方。

1 个答案:

答案 0 :(得分:0)

不是为每个patch提供单个RGB值,而是需要为要绘制的每个顶点提供patch值(由于数据的格式)。< / p>

所以使用您的数据和这一行:

cQuad=permute(repmat(cQuad,[1 1 4]),[3 2 1]);

patch(vertQuad.x,vertQuad.y,vertQuad.z,cQuad)

工作正常。我所做的是使用repmat重复颜色4次,然后使用patch

permute格式订购尺寸