how to write numbers with 10^ format in matlab?
34 次查看(过去 30 天)
显示 更早的评论
How to print 123456 as 1.2x10^5 in a matlab figure?
str5 = ['CC = ' num2str(123456) ];
str = sprintf('%s',str5);
annotation('textbox',[0.1 0.1 0.1 0.1],'String',str,'FitBoxToText','on');
Any help will be greatly appriciated.
0 个评论
采纳的回答
Stephen23
2022-8-10
编辑:Stephen23
2022-8-10
str = strrep(sprintf('CC = %.1e',123456),'e','x10^')
str = regexprep(sprintf('CC = %.1e',123456),'e(\D)0*(\d+)$','x10^$1$2')
4 个评论
Stephen23
2022-8-10
编辑:Stephen23
2022-8-10
"Why does that appear like this"
This is due to how the graphics engine interprets text. You need to either:
- set the text interpreter to "none" (rather than using the default "tex"), or
- create valid tex/latex markup for the caret character (and any other special characters): https://tex.stackexchange.com/questions/77646/how-to-typeset-the-symbol-caret-circumflex-hat
str = strrep(sprintf('CC = %.1e',123456),'e','x10^')
plot(0:1,0:1)
annotation('textbox',[0.5,0.5,0.1,0.1],'String',str,'interpreter','none')
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Interactive Control and Callbacks 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!