
matlab画图的问题
LZ你要的这个功能在Matlab里是没有现成的函数可以实现的,只能自己做。给你个思路,不知道你matlab学的怎么样。
1.首先是连接图字母分布形状的问题。如果像你给出的连接图那样ace在同一条直线上的话,那当a到e有连接的时候(你给的矩阵里a到e之间没有连接,所以你给的连接图没体现出这样的问题来),这条连接线岂不是跟a到c和c到e这两条连接线重合了?为了防止这种情况发生,应该让abcde均匀的分布在一个半径为R的圆上,如下图所示,这样的话,不管abcde之间的连接关系是怎样的,都不会导致有连线重叠的情况。
在matlab程序里,给定了圆心坐标和半径,abcde这5个点的坐标是很容易求出来的,matlab里有在指定坐标位置打印字符的函数。
2.然后就到连线的问题了。画连线应该设计一个函数来实现Line(x1,y1,x2,y2),函数的入口参数是要连接的两个点的坐标,画两点的之间的线段用plot语句应该会吧?举个例子,比如说画a到b的连线,那就是Line(ax,ay,bx,by),在线头末端用一个符号来表示方向(比如说我给的图示中用的是小圆圈)。应该注意的是实际画线的时候不能直接使用a坐标到b坐标来连线,应该适当的离开a坐标和b坐标一些距离来,不然小圆圈就跟字母重叠了。
大概思路就是这样,具体实现的时候也不是很难,自己尝试一下,别什么东西都指望别人给你现成的。

2024-08-07 广告