Taking gradient of solution and plotting results in very weird and unsmooth graphs?
8 views (last 30 days)
Show older comments
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 Comments
Answers (1)
Ravi Kumar
on 8 Mar 2018
I would suggest you use the evaluateGradient function directly instead of interpolating the solution and then finding its gradients.
0 Comments
See Also
Categories
Find more on Geometry and Mesh in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!