画一条不连续的线

Drawing a discontinuous line

如何在 MATLAB 中获得此图?这是带有障碍 B=120、行使价 K=100 的落魄看涨期权的收益。我应该以某种方式将两张图组合在一张图片中吗?

您可以通过多种方式进行。这是其中两个:

选项 1:

function q54615569(B, K)
y = @(x)(x>=B).*(x-K);
x = 0:2*K;
figure(); plot(x, y(x));
xlabel('S(T)');

选项 2:

function q54615569(B, K)
y = @(x)x-K;
x = 0:2*K;
figure(); hL = plot( x(x<=B), 0.*x(x<=B), x(x>=B), y(x(x>=B)) );
set(hL, 'Color', lines(1), 'Linestyle', 'none', 'Marker','o','MarkerSize', 2,...
  'MarkerFaceColor', lines(1));
xlabel('S(T)');