zoukankan      html  css  js  c++  java
  • matlab作图(子图+图像重叠显示)

    1、matlab中如何在一个图上显示多个图像,例如同时显示2*2个图像,则需使用subplot(m,n,p)命令,其中m和n表示m行n列,p表示第几个图像

    例:在一个图上显示函数 y = exp(-0.5*x)*sin(20*x)

                y = exp(-1.2*x)*sin(20*x)

                y = exp(-2*x)*sin(20*x)

                y = exp(-2.5*x)*sin(20*x)

    代码为:

    x = [0:0.01:5];
    y = exp(-0.5*x).*sin(20*x);
    subplot(2,2,1);
    plot(x,y),xlabel('x'),ylabel('exp(-0.5*x).*sin(20*x)'),axis([0 5 -1 1]);
    y = exp(-1.2*x).*sin(20*x);
    subplot(2,2,2);
    plot(x,y),xlabel('x'),ylabel('exp(-1.2*x).*sin(20*x)'),axis([0 5 -1 1]);
    y = exp(-2*x).*sin(20*x);
    subplot(2,2,3);
    plot(x,y),xlabel('x'),ylabel('exp(-2*x).*sin(20*x)'),axis([0 5 -1 1]);
    y = exp(-2.5*x).*sin(20*x);
    subplot(2,2,4);
    plot(x,y),xlabel('x'),ylabel('exp(-2.5*x).*sin(20*x)'),axis([0 5 -1 1]);

    以上代码也可以使用循环语句来实现。

    2、图像重叠显示,可使用hold on命令实现,另外可以使用linspace(a,b)linspace(a,b,n)命令实现在a到b之间均匀地取出100个点或n个点。

    例如在0到2*pi之间均匀地取出100个点可用 x = linspace(0, 2*pi) 实现。

    例:用下面命令实现在一个图形上绘制cos(x)的同时再绘制上sin(x)

    fplot(@(x)cos(x), [0 2*pi]), axis([-1 1 0 2*pi])      %或者用 x = linspace(0,2*pi);

    hold on                      %    plot(x,cos(x)), axis([0 2*pi -1 1]);

    fplot(@(x)sin(x), [0 2*pi]), axis([-1 1 0 2*pi])       %    hold on

                              %    plot(x,sin(x)), axis([0 2*pi -1 1]);

  • 相关阅读:
    第六届蓝桥杯JavaA组国(决)赛真题
    第六届蓝桥杯JavaA组国(决)赛真题
    第六届蓝桥杯JavaA组国(决)赛真题
    第六届蓝桥杯JavaA组国(决)赛真题
    C++ 实现 发送HTTP Get/Post请求 good
    Qt 窗口属性简介之Qt::WA_DeleteOnClose
    Qt 之 使用 https发送 HTTP请求(使用OPENSSL库)
    Delphi xe7 FireMonkey / Mobile (Android, iOS)生成 QR Code完整实例
    delphi android 录像(调用Java的功能)
    MVC 插件式开发
  • 原文地址:https://www.cnblogs.com/aixuexihs/p/10557401.html
Copyright © 2011-2022 走看看