在matlab中组合两个图像(contourf改变绘图的范围)
Combining two images in matlab (contourf changes the range of the plot)
我写了下面的代码来显示一个简单的矢量场及其大小。我想合并两张图片,但第一张是在我不想要的间隔内绘制的,当我输入 hold on 时,第二张图片显示在第一张图片的非常小的区域中!但我希望它们在相同的区域显示。有人可以帮忙吗?
clear all;
close all;
[x,y] = meshgrid(-3:0.1:3,-3:0.1:3);
Idontwantthis = (x.^2+y.^2)<1;
data= sqrt((x./(x.^2+y.^2).^(3/2)).^2+(y./(x.^2+y.^2).^(3/2)).^2);
data(Idontwantthis)=NaN;
contourf(data,20);
u = (10000*x./(x.^2+y.^2).^(3/2));
v = (10000*y./(x.^2+y.^2).^(3/2));
figure
quiver(x,y,u,v)
代码来自
您在使用 contourf 时没有提及位置,因此它被绘制成 w.r.t 到索引。您必须提及位置,以便您可以使用 hold on。
[x,y] = meshgrid(-3:0.1:3,-3:0.1:3);
Idontwantthis = (x.^2+y.^2)<1;
data= sqrt((x./(x.^2+y.^2).^(3/2)).^2+(y./(x.^2+y.^2).^(3/2)).^2);
data(Idontwantthis)=NaN;
contourf(x,y,data,20);
u = (10000*x./(x.^2+y.^2).^(3/2));
v = (10000*y./(x.^2+y.^2).^(3/2));
u(Idontwantthis)=NaN;
v(Idontwantthis)=NaN;
% figure
hold on
quiver(x,y,u,v)
我写了下面的代码来显示一个简单的矢量场及其大小。我想合并两张图片,但第一张是在我不想要的间隔内绘制的,当我输入 hold on 时,第二张图片显示在第一张图片的非常小的区域中!但我希望它们在相同的区域显示。有人可以帮忙吗?
clear all;
close all;
[x,y] = meshgrid(-3:0.1:3,-3:0.1:3);
Idontwantthis = (x.^2+y.^2)<1;
data= sqrt((x./(x.^2+y.^2).^(3/2)).^2+(y./(x.^2+y.^2).^(3/2)).^2);
data(Idontwantthis)=NaN;
contourf(data,20);
u = (10000*x./(x.^2+y.^2).^(3/2));
v = (10000*y./(x.^2+y.^2).^(3/2));
figure
quiver(x,y,u,v)
代码来自
您在使用 contourf 时没有提及位置,因此它被绘制成 w.r.t 到索引。您必须提及位置,以便您可以使用 hold on。
[x,y] = meshgrid(-3:0.1:3,-3:0.1:3);
Idontwantthis = (x.^2+y.^2)<1;
data= sqrt((x./(x.^2+y.^2).^(3/2)).^2+(y./(x.^2+y.^2).^(3/2)).^2);
data(Idontwantthis)=NaN;
contourf(x,y,data,20);
u = (10000*x./(x.^2+y.^2).^(3/2));
v = (10000*y./(x.^2+y.^2).^(3/2));
u(Idontwantthis)=NaN;
v(Idontwantthis)=NaN;
% figure
hold on
quiver(x,y,u,v)