【问题标题】:How to plot curves (the number may be varied) for different colors in matlab?如何在matlab中绘制不同颜色的曲线(数量可能不同)?
【发布时间】:2016-10-16 01:07:53
【问题描述】:

希望有人能帮我解决以下编码问题。

当我进行优化时,即最小二乘最小化:Sum(y(modeled)-y(True))^2,我想在进行优化时在每次迭代后绘制图形。对于图表,我想在一个图中绘制如下:

  1. TRUE y(蓝线)
  2. MODELED y 在每次迭代中计算。每次迭代得到的MODELED y应该是不同颜色的,不要使用相同的颜色

但是有一个困难是我不知道程序可以执行多少次迭代,可能是简单函数的几次迭代,也可能是复杂函数的大量迭代。

matlab中如何编写相应的代码?

我已经搜索到可以使用PlotFcn 来帮助我绘制图表。但我认为没有帮助,因为图表默认不会绘制我想要的图表,这迫使我自己编写代码。我改用OutputFcn。如果可以使用PlotFcn 执行相同的任务,请告诉我。感谢您的帮助。

【问题讨论】:

  • 如果您只想在同一个图形上绘制多条曲线,只需使用hold on。你也可以持有多个人物。 figure(1), plot(...), hold on; 然后是第二个数字figure(2), plot(...), hold on;。然后您可以使用第一个命令再次绘制图 1。颜色将在持有的人物上自动旋转。

标签: matlab


【解决方案1】:

你可以这样做:

plot(trueY,'b');
hold on;
while(~finished)
   %....generate a modeledY
    plot(modeledY, 'Color', random(1,3));
   %....determine if finished 
end

这不会让您控制您将拥有的颜色,但它可以让您随心所欲地做任何事情。如果要控制颜色,请查看this

【讨论】:

  • 我不需要控制颜色,我想要的是当我绘制不同的曲线时颜色不同而不重复。
猜你喜欢
  • 1970-01-01
  • 2011-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多