我有一个脚本,它将一些光学数据与洛伦兹振荡器的总和相匹配,然后用原始数据和拟合输出一个数字。我还想包含一个带有拟合参数表的文本注释,但无法弄清楚如何在我的文本框中获取行和列。
每个峰有 3 个参数,然后还有 3 个全局拟合参数。我的第一次尝试是这样做:
ParamTableLabels = {'\omega_p (cm^{-1})', '\omega_0 (cm^{-1})', '\Gamma (cm^{-1})'};
ParamTableVals = num2cell(Ef);
ParamTableLabels2 = {'d (\mu{m})','\epsilon_\infty','Scale'};
ParamTableVals2 = {ThickFit,EinfFit,ScaleFit};
ParamTable = vertcat(ParamTableLabels,ParamTableVals,ParamTableLabels2,ParamTableVals2);
其中 Ef 是我的 3xN 拟合参数矩阵。生成我的图形后,我尝试使用以下方法将表格放置在一组合适的坐标 X、Y 处:
text(X,Y,ParamTable)
结果是单列文本,没有行。我的第二次尝试,哪种作品是分解每一列:
text(X, Y,ParamTable(:,1));
text(X+dX, Y,ParamTable(:,2));
text(X+2*dX,Y,ParamTable(:,3));
这几乎可以工作,但是标签中的下标会影响最后几行的垂直对齐,并且需要大量的修补才能使间距正确。我花更多的时间试图让文本框看起来正确而不是进行实际建模。
如何以编程方式将包含标签和变量的文本块格式化为行和列,然后将其用作图形中的文本注释,而用户修改最少?