• MATLAB绘图合集:fcontour绘制隐函数等高线图


    本文主要介绍隐函数等高线图的绘制。

    说明

    fcontour(f) 根据 x 和 y 的默认区间 [-5 5] 和 z 的固定级别值绘制 z = f(x,y) 函数的等高线。

    fcontour(f,xyinterval) 将在指定区间绘图。要对 x 和 y 使用相同的区间,请将 xyinterval 指定为 [min max] 形式的二元素向量。要使用不同的区间,请指定 [xmin xmax ymin ymax] 形式的四元素向量。

    fcontour(___,LineSpec) 设置等高线的线型和颜色。例如,'-r' 指定红色线条。在前面的任何输入参数组合之后使用此选项。

    fcontour(___,Name,Value) 使用一个或多个名称-值对组参数指定线条属性。

    fcontour(ax,___) 将图形绘制到 ax 指定的坐标区中,而不是当前坐标区中。

    fc = fcontour(___) 返回 FunctionContour 对象。

    例子

     绘制函数的等高线

    指定绘图区间作为 fcontour 的第二个参数。在相同坐标区的不同区间绘制多个输入时,坐标轴范围会调整以显示所有数据。

    1. fcontour(@(x,y) erf(x) + cos(y),[-5 0 -5 5])
    2. hold on
    3. fcontour(@(x,y) sin(x) + cos(y),[0 5 -5 5])
    4. hold off
    5. grid on

    更改线型和线宽 

    以线宽为 2 的虚线绘制 x^2−y^2 的等高线。

    1. f = @(x,y) x.^2 - y.^2;
    2. fcontour(f,'--','LineWidth',2)

    绘制多个等高线图

    使用 hold on 在相同的坐标区上绘制 sin(x)+cos(y) 和 x−y。

    1. fcontour(@(x,y) sin(x)+cos(y))
    2. hold on
    3. fcontour(@(x,y) x-y)
    4. hold off

    创建后修改等高线图

    绘制 e−(x/3)2−(y/3)2+e−(x+2)2−(y+2)2 的等高线。将函数等高线对象指定给变量。

    1. f = @(x,y) exp(-(x/3).^2-(y/3).^2) + exp(-(x+2).^2-(y+2).^2);
    2. fc = fcontour(f)

     通过使用圆点表示法设置函数等高线对象的属性,可以将线宽更改为 1,将线型更改为虚线。通过设置 LevelList 属性,可以显示靠近 0 和 1 的等高线。添加颜色栏。

    1. fc.LineWidth = 1;
    2. fc.LineStyle = '--';
    3. fc.LevelList = [1 0.9 0.8 0.2 0.1];
    4. colorbar

    填充等高线之间的区域 

    通过填充下列方程的等高线之间的区域,创建看起来像日落的绘图:

    erf((y+2)3)−e(−0.65((x−2)2+(y−2)2)).

    1. f = @(x,y) erf((y+2).^3) - exp(-0.65*((x-2).^2+(y-2).^2));
    2. fcontour(f,'Fill','on');

    添加标题和轴标签以及格式化刻度 

    绘制 xsin(y)−ycos(x)。显示网格线、添加标题、添加轴标签。

    1. fcontour(@(x,y) x.*sin(y) - y.*cos(x), [-2*pi 2*pi], 'LineWidth', 2);
    2. grid on
    3. title({'xsin(y) - ycos(x)','-2\pi < x < 2\pi and -2\pi < y < 2\pi'})
    4. xlabel('x')
    5. ylabel('y')

    通过设置坐标区对象的 XTickLabel 和 XTick 属性设置 x 轴刻度值和关联的标签。使用 gca 访问坐标区对象。按照同样的方式设置 y 轴刻度值和关联的标签。

    1. ax = gca;
    2. ax.XTick = ax.XLim(1):pi/2:ax.XLim(2);
    3. ax.XTickLabel = {'-2\pi','-3\pi/2','-\pi','-\pi/2','0',...
    4. '\pi/2','\pi','3\pi/2','2\pi'};
    5. ax.YTick = ax.YLim(1):pi/2:ax.YLim(2);
    6. ax.YTickLabel = {'-2\pi','-3\pi/2','-\pi','-\pi/2','0',...
    7. '\pi/2','\pi','3\pi/2','2\pi'};

  • 相关阅读:
    免费的Git图形界面工具sourceTree介绍
    图片怎么压缩到100k以下?
    LeetCode155:最小栈,最简单的中等难度题,时间击败100%,内存也低于官方
    kafka 高水位
    华为数通方向HCIP-DataCom H12-831题库(单选题:261-280)
    Error: EPERM: operation not permitted, renameXXX
    手写RPC框架-第五天 支持HTTP协议
    07、Metasploit渗透测试框架的基本使用
    coctx_swap.S源码阅读
    48.集群节点维护—滚动升级-1
  • 原文地址:https://blog.csdn.net/YINTENAXIONGNAIER/article/details/128148260