Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MATLAB:如何绘制具有可变边/顶点颜色的网格?_Matlab_Plot_Mesh - Fatal编程技术网

MATLAB:如何绘制具有可变边/顶点颜色的网格?

MATLAB:如何绘制具有可变边/顶点颜色的网格?,matlab,plot,mesh,Matlab,Plot,Mesh,背景:我正在使用二维FD方法求解麦克斯韦方程组。在这些方法中,最好定义单元格边缘上的E字段和单元格中心上的H字段 现在,假设我有一个4x4网格,有16个单元,20个垂直边和20个水平边 我有16个H值存储在一个矩阵中。这可以用pcolor打印,没有问题 但是,我还有20个值用于存储在4x5矩阵中的垂直边上的E字段,以及20个值用于存储在5x4矩阵中的水平边上的E字段 问题:我想绘制一个图形,显示网格,其中网格线根据E字段值着色 我可以通过计算节点位置和线距离并在for循环中绘制每条线来拼凑出一种

背景:我正在使用二维FD方法求解麦克斯韦方程组。在这些方法中,最好定义单元格边缘上的E字段和单元格中心上的H字段

现在,假设我有一个4x4网格,有16个单元,20个垂直边和20个水平边

我有16个H值存储在一个矩阵中。这可以用pcolor打印,没有问题

但是,我还有20个值用于存储在4x5矩阵中的垂直边上的E字段,以及20个值用于存储在5x4矩阵中的水平边上的E字段

问题:我想绘制一个图形,显示网格,其中网格线根据E字段值着色

我可以通过计算节点位置和线距离并在for循环中绘制每条线来拼凑出一种方法,但我想知道是否有更好的方法

最小示例:有人要求提供一个最小示例,所以在这里,但实际上并不多:

Ev = randi([0 1], 5,4); %vertical edges
Eh = randi([0 1], 4,5); %horizontal edges
如何在网格上绘制垂直边(Ev)和水平边(Eh)(假设每条线的长度为单位长度)?我想给每条线段上色,使其在0时为黑色,在1时为白色


干杯

最简单的例子等…最简单的例子等。。。。