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)));
我有一个带有 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)));