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]);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM