Taking gradient of solution and plotting results in very weird and unsmooth graphs?
9 次查看(过去 30 天)
显示 更早的评论
Hello,
So I am interpolating a PDE solution to a meshgrid, and then taking the gradient of this.
When I plot the resulting gradient as a contour plot, I am getting extremely weird graphs in attachment (attached).
The gradient should be smooth (it is a gradient of a conservative potential field).
Any ideas what I am doing wrong?? Here is my pseudo code:
%interpolate PDE result
[X,Y,Z] = meshgrid(-(diam-1):diam,-(diam-1):diam,-(height-1):height);
V = interpolateSolution(result,X,Y,Z);
V = reshape(V,size(X));
%Calculate gradient
[Ex,Ey,Ez] = gradient(V);
Ex = -Ex;
Ey = -Ey;
Ez = -Ez;
%Slice and plot z slice vectors
sliceEx = Ex(xslice,:,:);
figure, contourf(sliceEx,50)
0 个评论
回答(1 个)
Ravi Kumar
2018-3-8
I would suggest you use the evaluateGradient function directly instead of interpolating the solution and then finding its gradients.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Geometry and Mesh 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!