matlab将⼆值图像与原图重叠_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);
用subplot函数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]);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论