在单独的图中绘制对数值

时间:2014-10-06 07:55:48

标签: matlab plot

我想在MATLAB中的两个单独的图上绘制(logε对logδt)和(logε对logδS)。任何人都可以帮助我实现这个算法吗? ε是一个误差项,δS是股价的变化,δt是时间的变化。

1 个答案:

答案 0 :(得分:6)

假设:

err = rand(100,1);
dt = logspace(0,4,100);
ds = logspace(0,3,100);

要在对数对数刻度上绘制这些值,只需使用loglog命令

loglog(dt, err) %% Plots error vs dt
loglog(ds, err) %% Plots error vs. ds

或者,如果您只想使用对数x轴,请使用semi-log scale

semilogx(dt, err)
semilogx(ds, err)

如果您想在两个不同的窗口中同时打开两个图表,可以使用figure,如下所示:

loglog(dt, err) %% Plots error vs dt
figure
loglog(ds, err) %% Plots error vs. ds   

如果你想在同一个窗口中有两个图,但是在两个不同的框架中,你可以这样使用subplot

figure
subplot(1,2,1)
loglog(dt, err)
title('err / dt')

subplot(1,2,2)
loglog(ds, err)
title('err / ds')

enter image description here

上图是使用代码创建的:

err = exp(0.005.*(1:100)).*rand(100,1)';
dt = logspace(0,4,100);
ds = logspace(0,4,100);

figure
subplot(1,2,1)
loglog(dt, err)
title(['\epsilon / \delta' 't'])
xlabel(['\delta' 't'])
ylabel('\epsilon')

subplot(1,2,2)
loglog(ds, err)
title(['\epsilon / \delta' 's'])
xlabel(['\delta' 's'])
ylabel('\epsilon')