1

我试图在同一个图上绘制函数 f 的演化,参数 x 在 ]0,1] 中。我想在同一个图中用一个 x 轴看到 f 远离 0 和接近 0 的演变。

现在我只有两个不同的数字,一个使用带有 x=[0.1 ... 1] 的 plot,另一个使用带有x=[1e-9 1e-7 1e-5...0.1] 的semilogx 。我希望两个图都在同一个图上,x 轴在开始时是对数的,然后在某个 x0 之后是线性的(假设 x0=0.1)。

我不想要使用plotxx 的东西,因为我只想要一个 x 轴。

你知道这是否可能吗?

感谢您的时间和帮助。

4

1 回答 1

3

只需在y不指定向量的情况下绘制x向量,这将为您提供均匀间隔的绘图,然后使用XTickandXTickLabel使其工作。例如,

x1=logspace(-10,-1,10);
x2=linspace(1,10,10);
y1=x1.^0.25;
y2=1./x2;

plot([y1 y2],'-x') 
xlabels=num2cell([x1 x2]);
set(gca,'XTick',1:numel(x1)+numel(x2),'XTickLabel',xlabels)

在此处输入图像描述

如果你想使用 Latex 来格式化刻度标签,你需要从 Matlab File Exchange 下载一个函数

于 2013-01-19T01:45:24.410 回答