我想在MATLAB中的两个单独的图上绘制(logε对logδt)和(logε对logδS).任何人都可以帮助我实现这个算法吗?ε是一个误差项,δS是股价的变化,δt是时间的变化.
假设:
err = rand(100,1);
dt = logspace(0,4,100);
ds = logspace(0,3,100);
Run Code Online (Sandbox Code Playgroud)
要在日志对数刻度上绘制这些值,只需使用该loglog命令即可
loglog(dt, err) %% Plots error vs dt
loglog(ds, err) %% Plots error vs. ds
Run Code Online (Sandbox Code Playgroud)
或者,如果您只想使用对数x轴semi-log scale:
semilogx(dt, err)
semilogx(ds, err)
Run Code Online (Sandbox Code Playgroud)
如果你想在两个不同的窗口中同时打开两个图,你可以使用figure,如下所示:
loglog(dt, err) %% Plots error vs dt
figure
loglog(ds, err) %% Plots error vs. ds
Run Code Online (Sandbox Code Playgroud)
如果你想在同一个窗口中有两个图,但是在两个不同的框架中,你可以这样使用subplot:
figure
subplot(1,2,1)
loglog(dt, err)
title('err / dt')
subplot(1,2,2)
loglog(ds, err)
title('err / ds')
Run Code Online (Sandbox Code Playgroud)

上图是使用以下代码创建的:
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')
Run Code Online (Sandbox Code Playgroud)