CURL函数matlab的问题

时间:2015-09-24 17:17:02

标签: matlab

我的问题与矢量场的卷曲有关。我无法找到为什么我的代码与分析解决方案相比会产生不同的结果。我对这个问题有任何帮助表示感谢。

这是代码:

N=20;
[X,Y]=meshgrid(linspace(-4,4,N),linspace(-4,4,N)); 
u =Y*X.^2+3*Y.^2;
v =2*X.*Y+X.^2;
% analitic curl
CURL=-X.^2+2*X-4*Y;
subplot(2,1,1),contourf(X,Y,CURL),colorbar
% using  matlab function (curl)
[cur,va]=curl(X,Y,u,v);
subplot(2,1,2),contourf(X,Y,cur),colorbar

1 个答案:

答案 0 :(得分:2)

在您的代码中

array_column()

这是一个问题:您在u =Y*X.^2+3*Y.^2; Y之间应用矩阵乘法。改变它应该有很多帮助:

X.^2

出于这个原因,我建议使用非对称输入(至少在开发/调试阶段),例如20x21网格。这样就可以在很早的时候发现许多这样的错误。

结果: PHP Implementation of array_column()