在Matlab标题中使用平方根
我的代码将演示我在标题中使用latex编码时遇到的困难在Matlab标题中使用平方根,matlab,Matlab,我的代码将演示我在标题中使用latex编码时遇到的困难 theta=linspace(0,2*pi,40); phi=linspace(0,pi/4,40); [theta,phi]=meshgrid(theta,phi); rho=3; x=rho*sin(phi).*cos(theta); y=rho*sin(phi).*sin(theta); z=rho*cos(phi); mesh(x,y,z) hold on r=linspace(0,3*sin(pi/4),40);
theta=linspace(0,2*pi,40);
phi=linspace(0,pi/4,40);
[theta,phi]=meshgrid(theta,phi);
rho=3;
x=rho*sin(phi).*cos(theta);
y=rho*sin(phi).*sin(theta); z=rho*cos(phi);
mesh(x,y,z)
hold on
r=linspace(0,3*sin(pi/4),40);
theta=linspace(0,2*pi,40);
[r,theta]=meshgrid(r,theta);
x=r.*cos(theta);
y=r.*sin(theta);
z=r;
mesh(x,y,z)
xlabel('x-axis')
ylabel('y-axis')
zlabel('z-axis')
h=title('Graph of $x^2 + y^2 + z^2 = 9$ and $z = \sqrt{x^2+y^2}$',...
'interpreter','latex',...
'FontSize',14)
view(130,20)
我的形象:
正如你所看到的,标题是不可读的。我在MacBookPro上使用的是R2013a版本,使用的是最新版本的Mavericks
如何使我的标题可读?这是一个关于发布的棘手问题。首先,Matlab使用大多数属性为默认值的图形,包括
渲染器
属性
好消息
可以通过在命令窗口中运行以下行来更改当前会话的设置
set(0,'DefaultFigureRenderer','painters')
也可以通过“发布”菜单将其添加到发布选项中
然后在运行代码之前将该行添加到“Matlab表达式”框中
坏消息 然而,这只能实现发布不允许pdf文件使用矢量图像格式的效果。
根据经验,来自Matlab的光栅图像中的文本方程仅在不调整大小的情况下显示良好(幸运的是,自动执行non) “发布帮助”中没有不支持它们的事实。下面publish.m中的代码片段显示pdf输出仅支持bmp、jpeg或无图像
if strcmp(options.format,'pdf') && ...
~isempty(options.imageFormat) && ...
~(strcmp(options.imageFormat,'bmp') || strcmp(options.imageFormat,'jpeg'))
error(pm('InvalidPDFImageFormat'));
end
知道PDF可以支持向量图像,我们可以忽略这一点吗?
不仅如此,pdf缺少矢量支持似乎是因为Matlab使用底层java创建pdf文件
由于强制Matlab发布带有矢量图像的pdf文件而导致的错误
Reason: org.apache.xmlgraphics.image.loader.ImageException:
Cannot load image (no suitable loader/converter combination available)
注意:设置默认值的另一种方法是在设置属性等后,通过捕捉图形句柄或使用
gcf
添加行
集合(gcf,'renderer','painters')
将matlab图形导出到*.eps或*.png(或您喜欢的格式)文件后,效果会更好吗?在Windows7上使用2013a,屏幕截图看起来不错!这似乎是一个特定于平台的字体问题。尝试使用默认字体大小查看是否有帮助。更改图形的'Renderer'
属性是否有帮助?第一条注释的答案是“是”,当导出到PDF文件时效果会更好。然而,当我们在课堂上做这些时,这是一个问题,学生们无法阅读标题。当我将figures renderer属性更改为“Painters”时,情况要好得多。然而,在做作业时,我的学生使用手机模式,然后“发布”他们的最终作品。在点击“发布”按钮并在那里打印之前,如何设置渲染器?这是一个非常激动人心的回答。我可以探索很多选择。谢谢