【问题标题】:Drawing a discontinuous line画一条不连续的线
【发布时间】:2019-07-04 01:30:10
【问题描述】:

如何在 MATLAB 中获取此图?这是带有障碍B=120,罢工K=100 的下行看涨期权的回报。我应该以某种方式将两个图表组合在一张图片中吗?

【问题讨论】:

  • 具体来说,您的问题是什么?如何找到这些线的方程?如何评价它们?如何在 MATLAB 中创建绘图?如何让你的情节变蓝?如何为轴添加标签?

标签: matlab plot line visualization matlab-figure


【解决方案1】:

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

选项 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)');

【讨论】:

  • 还有另一种选择:在间隙需要的地方添加一个 NaN 值。
  • @CrisLuengo 是的。我不包含它的原因是因为我想坚持使用匿名函数,并且让它们为特定输入输出 NaN,这会不必要地使表达式复杂化并损害其他简单解决方案的可读性。
猜你喜欢
  • 1970-01-01
  • 2014-02-12
  • 1970-01-01
  • 2020-04-15
  • 1970-01-01
  • 2011-06-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多