0

我使用大小为 50 x 2 的 rand 生成了一些随机种群,维度为 2。评估该种群,为种群中的每个个体提供一些称为适应度的值。现在我想绘制人口中的所有个体及其适应度值,这样你就会有一个个体作为交叉体,旁边有它的适应度值。我知道如何使用散点图绘制个体,并且个体在 matlab 图上显示为十字,但我现在不知道如何在它们旁边显示它们的适应度值。

例子:

individuals(Pop)     fitness values
  x      y
  3      5                 7
  4      6                 4
  1      3                 0
  3      0                10
.....
and on up the the 50th

现在我想在 matlab 图上绘制它们旁边显示的适应度值对于如果具有坐标 (3, 5) 的个体被绘制并在图上显示为“x”,我希望适应度值 7 的大小,像这样:x(7) 或 x7 或 7x 或任何形式,但我只想知道这个特定的个体 (3, 5) 在 matlab 图上的适应度为 7。适应度也被绘制为等高线,但我想要图上显示的值。

我在这里和谷歌搜索过,我得到了一些建议,比如使用 num2str 和使用文本进行绘图,我尝试过但对我不起作用。有人知道我该怎么做吗?执行此操作的 Matlab 代码将受到欢迎。

4

1 回答 1

0

我已经解决了这个问题。我使用 num2str 并将其应用于文本命令并且它已经工作了。

这就是我所做的

fv is the fitness values in my example
strValues = strtrim(cellstr(num2str([fv],'(%d)')));
text(co(:,1), co(:,2),strValues,'VerticalAlignment','top');

在我的例子中,co 是个人(Pop)的观点。

于 2013-07-14T21:44:45.060 回答