Matlab:在图中添加符号

时间:2010-05-13 08:53:48

标签: graphics matlab figure

以下是我为模拟LDPC编码和解码而创建的用户界面alt text http://img225.imageshack.us/img225/7775/ldpcgui.jpg

通过连接在左右节点之间传递值,迭代地解码代码序列。

为了改善可视化而添加的第一件事是在传递值的方向上向连接添加箭头。另一种方法是在显示方向的连接顶部绘制一个更大的箭头。

我想做的另一件事是在连接下面显示当前的数学运算(在这个例子中是c * H')。我不知道怎么做的是在图中显示特殊字符和数学符号以及其他类型的文本,如下标和上标(例如,总和符号和下标“T”而不是sign =“'”表示转置矩阵)。

如果有人能够针对上述问题指出任何有用的资源或展示解决方案,我将非常感激。

谢谢。

3 个答案:

答案 0 :(得分:3)

要添加箭头,您可以使用内置的QUIVER,或者,对于更多选项,可以使用文件交换中的ARROW。这两个都必须绘制成轴,所以如果你想在顶部有一个大箭头,你必须在主轴上方创建一组额外的轴。

据我所知,您不能在text uicontrols中使用TeX或LaTeX符号。但是,您可以在轴标签中使用它们。因此,我建议您在轴上添加XLabel,例如

xlabel('\sigma c*H_T')

或(注意LaTeX所需的$ -signs)

xlabel('$\sum c*H_T$','interpreter','latex')

修改

我没有提到使用text(由@gnovice@YYC建议),因为我认为无法在轴外放置文字。事实证明我错了。 text(0.5,-0.2,'\Sigma etc.')也可以正常工作。我想使用'xlabel'的唯一好处是你可以在GUI创建过程中轻松添加和定位轴标签。

答案 1 :(得分:0)

关于第一个问题,注释(http://www.mathworks.com/access/helpdesk/help/techdoc/ref/annotation.html)可能是另一种解决方案。

关于第二个问题,请在Matlab帮助中尝试text property

搜索特殊字符的“字符序列”;搜索“为下标和上标指定下标和上标字符”。

答案 2 :(得分:0)

为了绘制箭头,我会在arrow.m上通过Erik Johnson向Jonas提出建议MathWorks File Exchange。这是我发现用数字创建箭头的最简单方法。

要创建带符号的文本,您可以使用函数TEXT。它允许您在轴的给​​定点放置文本,并且可以使用'Interpreter' property'tex'(默认)或'latex'选项来访问不同的符号。例如,这会使用'latex'作为解释器将您想要的文本放在点(0,0):

hText = text(0,0,'$\sum c*H_T$','Interpreter','latex');

变量hText是创建的文本对象的句柄,然后您可以使用SET命令更改对象的属性(字符串,位置等)。