变量作为字符串(Octave)的指数



作为练习,我必须创建一个函数x^i的动画图,从i=1到i=10的八度。图必须有一个动态的标题,曲线的颜色必须改变。目前我的代码如下:

function exercicequatorze
x=linspace(0,1,100);
for i=1:10
plot(x,x.^i,'color',[i/10,0,1-i/10])
a=num2str(i);
title(["Le graphe de la fonction x^",a] )
pause(1)
endfor
endfunction

,它的性能与预期相当,我甚至惊讶地得到x¹,x²,x³,…而不是x^1 x^2等等。然而,在最后一个情节中,我的标题以x¹0而不是x¹⁰结束。有什么办法解决这个问题吗?我试着摆弄大括号,但我要么得到一个语法错误,要么应该作为指数的数字被移到了标题的第二行。

你需要把数字用大括号括起来。

title(["Le graphe de la fonction x^{" a "}"])

documentation中有解释:

如果'^''_'后面跟着一个{字符,那么被{ }对包围的所有块都是上标或下标。如果没有{ }对,只改变紧跟在'^''_'后面的字符。

最新更新