Print text on a graph with values, retaining superscripts?
显示 更早的评论
I have written code (nested for loops) to solve for the constants in the Gompertz Formula. This curve is fit to the data I had gathered. Once the iteration is complete I have values for A, B, and C (the constants in the equation). I want to graph the original data, the fitted curve, and then write the equation on the plot of the fitted curve. The following is the code I used to write the text:
text(Xt,Yt,['Y(t)=',num2str(A),'e^',num2str(B),'e^',num2str(C),'t'])
This works, however when it prints on the graph, the formatting is not ideal. Basically, both B and C are always negative numbers. Immediately following each e, the negative sign is superscript, but everything following it is normal. I found some text tutorials that indicated that placing curly brackets around the text that you want to be superscript should fix this, i.e.
text(Xt,Yt,['Y(t)=',num2str(A),'e^',{num2str(B),'e^',{num2str(C),'t'}}])
but when I run that code I get the error message
Error using text
Cell array of strings may only contain string and numeric matrices
Is there a way to insert the calculated constants in the equation AND retain the equation formatting? Any help would be greatly appreciated... Thanks!
采纳的回答
更多回答(1 个)
Azzi Abdelmalek
2013-11-14
text(Xt,Yt,['Y(t)=',num2str(A),'e^',num2str(B),'e^',num2str(C),'t'])
2 个评论
Matt
2013-11-14
Azzi Abdelmalek
2013-11-14
Look at this example
A=12;
B=23;
C=15;
plot(1:20);
Bt=num2str(B)
Bt=[repmat('^',1,numel(Bt));Bt]
Ct=num2str(C);
Ct=[repmat('^',1,numel(Ct));Ct]
text(5,5,['Y(t)=',num2str(A),'e',Bt(:)','e',Ct(:)','t'])
类别
在 帮助中心 和 File Exchange 中查找有关 Characters and Strings 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!