变量作为字符串中的指数(八度)

Variable as an exponent in a string (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^1、x^2 等,而不是 x^1、x^2、x³...。但是,在最后一个情节中,我的标题以 x¹0 而不是 x¹⁰ 结尾。关于如何解决该问题的任何想法?我尝试摆弄大括号,但要么出现语法错误,要么应该是我的指数的数字被转移到标题中的第二行。

您需要将数字放在花括号中。

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

documentation中有说明:

If the '^' or '_' is followed by a { character, then all of the block surrounded by the { } pair is superscripted or subscripted. Without the { } pair, only the character immediately following the '^' or '_' is changed.