2017-06-02 189 views
0

我在下面的代码中写了一个代码来显示一个简单的矢量场和它的大小。我想合并两张图片,但第一张图片是在我不想要的时间间隔内绘制的,当我按住时,第二张图片会显示在第一张图片的非常小的区域中!但我希望他们能在同一个地区展出。谁能帮忙?在matlab中结合了两个图像(contourf改变了图的范围)

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) 

的代码是从here

+0

这段代码很熟悉....... –

+0

是的。我试图将你的答案概括为一个问题。应该问一个许可?! @AnderBiguri如果是的话,我可以问你或删除问题 –

+0

那么,只需添加一个链接,无论你得到的代码,不只是这个时间 –

回答

1

同时使用contourf你没有提的位置,所以它是越来越绘制w.r.t到指数。你必须提及位置,以便你可以使用。

[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) 
+0

谢谢你的答案。但它们似乎仍然不匹配,因为它有一个白色区域,上面有箭头。 –

+0

根据你给出的数据...图像是正确的...你期待什么? –

+0

我期望在载体存在的区域,有颜色 –