For 循环值显示在 Matlab 图上

For loop value displaying on the Matlab figure

我有一个带有 c=1.00016161:0.00000001:1.0001617 的 for 循环。在每次迭代中,我都会绘制一个图形,并且我希望每次迭代中的 c 值都显示在标题上。我不介意它显示在 x 轴还是 y 轴上。我只想让那个特定的 c 值显示在绘图的某处。

但是 Matlab 对这些值进行了四舍五入,因此我在图中得到的所有值都是相同的。

例如,如果我使用代码 title(num2str(c(k))) MATLAB 将其四舍五入并显示为 1.0002。我包括了 format long 但它并没有解决问题。

如何在不四舍五入的情况下在绘图上显示完整值。

title(sprintf('%.8f',c(k)));  %8 digits to the right of the decimal point

看看'Format of output fields' in the documentation of sprintf

如果我没理解错的话,你想看'number'是什么情节,只有后5位重要。因此我建议如下:

title(num2str(c(end-5:end)));