Matlab:在文本框中应用科学记数法

Posted

技术标签:

【中文标题】Matlab:在文本框中应用科学记数法【英文标题】:Matlab: apply scientific notation in textbox 【发布时间】:2017-09-28 06:45:28 【问题描述】:

我想将一个文本框添加到以科学计数法显示数字的绘图中。 这是我的代码:

fano = 74585849.3443; figure; plot(x,y) annotation('String',['fano =',num2str(fano)],'FitBoxToText','on'); 这里 fano 显示为十进制数。如何将格式更改为科学计数法?

【问题讨论】:

【参考方案1】:

您可以使用函数 sprintf 创建所需的字符串。以下是三个打印的小数位数不同的示例。当使用 %M.Nd 格式化文本时,M 指定字段宽度,N 指定精度(小数位数),d 表示小数(有符号)。下面是三个不同的示例,分别有 2、5 和 8 位小数。 dim 是一个数组,其中文本框的位置和大小以相对于图形大小的标准化单位表示,格式为 [x_location y_location width height]。在您的情况下,宽度和高度无关紧要,因为您使用的是“FitBoxToText”属性。

fano = 74585849.3443;
figure;
x = 0:0.01:10;
y = sin(2*pi*1*x);
plot(x,y);
dim = [.5 .85 .0 .0];
str = sprintf('fano = %0.2d',fano);
annotation('textbox',dim,...
    'String',str,...
    'FitBoxToText','on',...
    'BackgroundColor','white');
dim = [.5 .65 .0 .0];
str = sprintf('fano = %0.5d',fano);
annotation('textbox',dim,...
    'String',str,...
    'FitBoxToText','on',...
    'BackgroundColor','white');
dim = [.5 .45 .0 .0];
str = sprintf('fano = %0.8d',fano);
annotation('textbox',dim,...
    'String',str,...
    'FitBoxToText','on',...
    'BackgroundColor','white');

这是输出:

【讨论】:

以上是关于Matlab:在文本框中应用科学记数法的主要内容,如果未能解决你的问题,请参考以下文章

EXCEL VBA:用户表单文本框中的科学记数法

为啥 python 在数据框中计算时返回科学计数法?

matlab实现<现代科学运算>课程作业

matlab中怎么设置非科学计数法?

将 CSV 导入 MATLAB 的正确科学记数法

MATLAB经典,统计入门+数据挖掘+金融应用!