突出显示ezplot上的间隔

时间:2014-03-16 14:35:41

标签: matlab function plot

我有一个脚本可以给出mi函数图:

y=1;
z= pi;
funkcja = @(x)x/10 + cos(x) + sin(y) + z

[xValue, fValue] = fminbnd(funkcja, -5,0)
figure(1)
hold on
ezplot(funkcja,[-15,15])
plot(xValue, fValue,'o')

如何突出显示此图表上的间隔,例如-5到5,如下所示?

我尝试添加另一个ezplot,如下所示:

ezplot(funkcja,[-5,0])

但它不起作用。

1 个答案:

答案 0 :(得分:1)

据我了解,您想要更改第二个ezplot的颜色和厚度。 虽然ezplot应该是“简单”,但有时候比plot更复杂。在你的情况下有两个原因:

  1. 更改ezplot的颜色需要类似

    h = ezplot(funkcja, [-5 0])

    set(h, 'Color', [0 0 0], 'LineWidth', 2)

  2. 每个新图调整轴边界以适合所需范围。对于你的情况,我没有看到一个简单的方法,因为第二个图(黑色高亮间隔)应该高于第一个(蓝色),但有一个更窄的域。 (如果这真的是你想要的,请告诉我,我会更新我的答案。)

  3. 但如果我们假设你只是想得到你所展示的结果,我会用好的plot做到如下

    %// ... unchanged ...
    figure(1)
    hold on
    t_full = linspace(-15, 15, 100);
    t_highlight = linspace(-5, 0, 100);
    plot(t_full, funkcja(t_full))
    plot(t_highlight, funkcja(t_highlight), 'k', 'LineWidth', 2)
    plot(xValue, fValue,'o')