【MATLAB】contour函数的使用(绘制等高线的深入讲解)

1 .语法:
 contour(Z)
 contour(X,Y,Z)
 contour(___,levels)

2.说明:
 1.contour(Z) 创建一个包含矩阵 Z 的等值线的等高线图,
  其中 Z 包含 x-y 平面上的高度值。
  MATLAB® 会自动选择要显示的等高线。
  Z 的行索引和列索引分别是平面中的 x 和 y 坐标。
 2.contour(X,Y,Z) 指定 Z 中各值的 x 和 y 坐标。
 
3 .示例:

x = -6:1:6;
y = -5:1:5;
[X,Y] = meshgrid(x,y)
Z=X.^2+Y.^2 %点乘代表对应为相乘,数组乘法而不是矩阵乘法

%每一行代表x的一个副本,length(y) x legnth(x)
X =
    -6    -5    -4    -3    -2    -1     0     1     2     3     4     5     6
    -6    -5    -4    -3    -2    -1     0     1     2     3     4     5     6
    -6    -5    -4    -3    -2    -1     0     1     2     3     4     5     6
    -6    -5    -4    -3    -2    -1     0     1     2     3     4     5     6
    -6    -5    -4    -3    -2    -1     0     1     2     3     4     5     6
    -6    -5    -4    -3    -2    -1     0     1     2     3     4     5     6
    -6    -5    -4    -3    -2    -1     0     1     2     3     4     5     6
    -6    -5    -4    -3    -2    -1     0     1     2     3     4     5     6
    -6    -5    -4    -3    -2    -1     0     1     2     3     4     5     6
    -6    -5    -4    -3    -2    -1     0     1     2     3     4     5     6
    -6    -5    -4    -3    -2    -1     0     1     2     3     4     5     6
    
%每一列代表y的一个副本,length(y) x legnth(x)
Y =
    -5    -5    -5    -5    -5    -5    -5    -5    -5    -5    -5    -5    -5
    -4    -4    -4    -4    -4    -4    -4    -4    -4    -4    -4    -4    -4
    -3    -3    -3    -3    -3    -3    -3    -3    -3    -3    -3    -3    -3
    -2    -2    -2    -2    -2    -2    -2    -2    -2    -2    -2    -2    -2
    -1    -1    -1    -1    -1    -1    -1    -1    -1    -1    -1    -1    -1
     0     0     0     0     0     0     0     0     0     0     0     0     0
     1     1     1     1     1     1     1     1     1     1     1     1     1
     2     2     2     2     2     2     2     2     2     2     2     2     2
     3     3     3     3     3     3     3     3     3     3     3     3     3
     4     4     4     4     4     4     4     4     4     4     4     4     4
     5     5     5     5     5     5     5     5     5     5     5     5     5
Z =
    61    50    41    34    29    26    25    26    29    34    41    50    61
    52    41    32    25    20    17    16    17    20    25    32    41    52
    45    34    25    18    13    10     9    10    13    18    25    34    45
    40    29    20    13     8     5     4     5     8    13    20    29    40
    37    26    17    10     5     2     1     2     5    10    17    26    37
    36    25    16     9     4     1     0     1     4     9    16    25    36
    37    26    17    10     5     2     1     2     5    10    17    26    37
    40    29    20    13     8     5     4     5     8    13    20    29    40
    45    34    25    18    13    10     9    10    13    18    25    34    45
    52    41    32    25    20    17    16    17    20    25    32    41    52
    61    50    41    34    29    26    25    26    29    34    41    50    61

在这里插入图片描述

x =0:1:6;
y = 0:1:5;
[X,Y] = meshgrid(x,y)
Z=X.^2+Y.^2
contour(X,Y,Z);

在这里插入图片描述
想要出来完整的圆形的等高线,需要坐标是对称的,否则出来的图将不完整

上面的图
我们是把x,y用meshgrid函数转换为网格矩阵,然后画图,思考能不能用for循环的形式?如何完成两者的相互转换?

x =-6:1:6;
y = -6:1:6;
for i=1:length(x)
    for j=1:length(y)
        m=x(i);
        n=y(j);
        z(i,j)=m.^2+n.^2;
   end
end
contour(x,y,z);

在这里插入图片描述
如果采用for循环的形式,有一点需要注意,就是length(x)和length(y)一定要相等。

如果用三层for循环,如何求x^2+y^2+z^2并画出等高线图呢?

x =-6:1:6;
y = -6:1:6;
z = -6:1:6;
for i=1:length(x)
    for j=1:length(y)
        for k=1:length(z)
        m=x(i);
        n=y(j);
        l=z(k);
        c(i,j)=m.^2+n.^2+l.^2;
        end
    end
end
contour(x,y,c);

在这里插入图片描述
思考一下能不能改成用meshgrid函数来做?不可以

x =-6:1:6;
y = -6:1:6;
z = -6:1:6;
[X,Y,Z]=meshgrid(x,y,z);
c=X.^2+Y.^2+Z.^2
contour(X,Y,c);

看一下工作区变量:

>> whos
  Name       Size               Bytes  Class     Attributes

  X         13x13x13            17576  double              
  Y         13x13x13            17576  double              
  Z         13x13x13            17576  double              
  c         13x13x13            17576  double              
  x          1x13                 104  double              
  y          1x13                 104  double              
  z          1x13                 104  double    

由工作区变量可以看出,不能画出等高线图,所以如果想使用三维循环变量就使用for循环,并且要保证每个循环变来量的长度相同。

已标记关键词 清除标记
<p style="font-size:14px;color:#333333;"> <span style="color:#000000;">1、课程简介</span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;">Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。</span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#FF0000;">       <span style="color:#000000;">在本套课程中,我们将全面的讲解Spring Cloud技术栈, 从环境的部署到技术的应用,再到项目实战,让我们不仅是学习框架技术的使用,而且可以学习到使用Spring Cloud如何解决实际的问题。</span></span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;">Spring Cloud各个组件相互配合,合作支持了一套完整的微服务架构。</span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;">- 注册中心负责服务的注册与发现,很好将各服务连接起来</span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;">- 断路器负责监控服务之间的调用情况,连续多次失败进行熔断保护。</span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;">- API网关负责转发所有对外的请求和服务</span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;">- 配置中心提供了统一的配置信息管理服务,可以实时的通知各个服务获取最新的配置信息</span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;">- 链路追踪技术可以将所有的请求数据记录下来,方便我们进行后续分析</span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;">- 各个组件又提供了功能完善的dashboard监控平台,可以方便的监控各组件的运行状况</span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;">2、适应人群</span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;">有一定的Java基础,并且要有一定的web开发基础。</span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;">3、课程亮点</span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;">       系统的学习Spring Cloud技术栈,由浅入深的讲解微服务技术。涵盖了基础知识,原理剖析,组件使用,源码分析,优劣分析,替换方案等,以案例的形式讲解微服务中的种种问题和解决方案</span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;"><span>l<span style="font-size:9px;">  </span></span><span>微服务的基础知识</span></span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;"><span>n<span style="font-size:9px;">  </span></span><span>软件架构的发展史</span></span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;"><span>n<span style="font-size:9px;">  </span></span><span>微服务的核心知识(CAP,RPC等)</span></span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;"><span>l<span style="font-size:9px;">  </span></span><span>注册中心</span></span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;"><span>n<span style="font-size:9px;">  </span></span><span>Eureka搭建配置服务注册</span></span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;"><span>n<span style="font-size:9px;">  </span></span><span>Eureka服务端高可用集群</span></span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;"><span>n<span style="font-size:9px;">  </span></span><span>Eureka的原理和源码导读</span></span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;"><span>n<span style="font-size:9px;">  </span></span><span>Eureka替换方案Consul</span></span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;"><span>n<span style="font-size:9px;">  </span></span><span>Consul下载安装&服务注册&高可用</span></span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;"><span>l<span style="font-size:9px;">  </span></span><span>服务发现与服务调用</span></span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;"><span>n<span style="font-size:9px;">  </span></span><span>Ribbon负载均衡基本使用&源码分析</span></span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;"><span>n<span style="font-size:9px;">  </span></span><span>Feign的使用与源码分析</span></span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;"><span>n<span style="font-size:9px;">  </span></span><span>Hystrix熔断(雪崩效应,Hystrix使用与原理分析)</span></span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;"><span>n<span style="font-size:9px;">  </span></span><span>Hystrix替换方案Sentinel</span></span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;"><span>l<span style="font-size:9px;">  </span></span><span>微服务网关</span></span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;"><span>n<span style="font-size:9px;">  </span></span><span>Zuul网关使用&原理分析&源码分析</span></span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;"><span>n<span style="font-size:9px;">  </span></span><span>Zuul 1.x 版本的不足与替换方案</span></span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;"><span>n<span style="font-size:9px;">  </span></span><span>SpringCloud Gateway深入剖析</span></span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;"><span>l<span style="font-size:9px;">  </span></span><span>链路追踪</span></span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;"><span>n<span style="font-size:9px;">  </span></span><span>链路追踪的基础知识</span></span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;"><span>n<span style="font-size:9px;">  </span></span><span>Sleuth的介绍与使用</span></span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;"><span>n<span style="font-size:9px;">  </span></span><span>Sleuth与Zipkin的整合开发</span></span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;"><span>l<span style="font-size:9px;">  </span></span><span>配置中心</span></span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;"><span>n<span style="font-size:9px;">  </span></span><span>SpringClond Config与bus 开发配置中心</span></span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;"><span>n<span style="font-size:9px;">  </span></span><span>开源配置中心Apollo</span></span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;">4、主讲内容</span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;">章节一:</span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;">1.<span style="font-size:9px;">     </span>微服务基础知识</span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;">2.<span style="font-size:9px;">     </span>SpringCloud概述</span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;">3.<span style="font-size:9px;">     </span>服务注册中心Eureka</span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;">4.<span style="font-size:9px;">     </span>Eureka的替换方案Consul</span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;">章节二:</span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;">1.<span style="font-size:9px;">     </span>Ribbon实现客户端负载均衡</span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;">2.<span style="font-size:9px;">     </span>基于Feign的微服务调用</span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;">3.<span style="font-size:9px;">     </span>微服务熔断技术Hystrix</span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;">4.<span style="font-size:9px;">     </span>Hystrix的替换方案Sentinel</span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;">章节三:</span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;">1.<span style="font-size:9px;">     </span>微服务网关Zuul的基本使用</span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;">2.<span style="font-size:9px;">     </span>Zuul1.x 版本的不足和替换方案</span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;">3.<span style="font-size:9px;">     </span>深入SpringCloud Gateway</span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;">4.<span style="font-size:9px;">     </span>链路追踪Sleuth与Zipkin</span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;">章节四:</span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;">1.<span style="font-size:9px;">     </span>SpringCloud Config的使用</span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;">2.<span style="font-size:9px;">     </span>SpringCloud Config结合SpringCloud Bus完成动态配置更新</span> </p> <p style="font-size:14px;color:#333333;"> <span style="color:#000000;">3.<span style="font-size:9px;">     </span>开源配置中心Apollo</span> </p>
相关推荐
©️2020 CSDN 皮肤主题: 酷酷鲨 设计师:CSDN官方博客 返回首页