Matlab - 连续图和Semilogx在同一图上

时间:2013-01-19 01:26:31

标签: matlab plot

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

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

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

你知道这是否可能吗?

感谢您的时间和帮助。

1 个答案:

答案 0 :(得分:3)

只需绘制y向量,而不指定x向量,这样可以得到均匀间隔的图,然后使用XTickXTickLabel使其正常工作。例如,

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)

enter image description here

如果您想使用Latex格式化刻度标签,则需要download a function from the Matlab File Exchange

相关问题