2014-10-06 28 views
-5

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

+0

请不要以这样的方式编辑问题,使其成为完全不同的问题。这使得任何现有的答案都无效。如果您有新问题,请提出一个新问题。如有必要,链接到这一个。应该使用编辑来使问题更清楚,或者改善帖子。我解开了你的编辑,因为它违背了Stack Overflow的策略。 – 2014-10-06 14:11:35

回答

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) 

如果你想在两个不同的胜利同时打开两个地块DOWS,你可以使用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') 
相关问题