在MATLAB中使用LaTeX更新绘图标题

时间:2016-12-22 17:24:10

标签: matlab plot printf latex

我尝试使用MATLAB中的以下代码更新绘图标题,

[X,Y]=meshgrid(-1:.05:1);
n=400;
for j=1:n
d=j/200;
Z=abs((X-1i*Y).^(d));
surf(X,Y,Z);
t=sprintf('$$f(z)=z^{%%d}$$', d, 'interpreter','latex');
title(t);
xlabel('Re(z)');
ylabel('Im(z)');
zlabel('|f(z)|');
zlim([0 1]);
pause(.001);
end

但最终结果并不是那么好。我该如何解决?

1 个答案:

答案 0 :(得分:1)

sprintf不会将字符串解释为乳胶输入。但是title确实如此。

您需要为title指定解释器。

这是一个简短的例子:

[X,Y]=meshgrid(-1:.05:1);
n=10;
for j=1:n
  d=j/200;
  Z=abs((X-1i*Y).^(d));
  surf(X,Y,Z);
  t=sprintf('$$f(z)=z^{%f}$$', d); % move interpreter specification to title
  title(t,  'interpreter','latex');
  xlabel('Re(z)');
  ylabel('Im(z)');
  zlabel('|f(z)|');
  zlim([0 1]);
  pause(.001);
end