# How to obtain Curl and Divergence of a matrix?

52 views (last 30 days)
Simone A. on 8 May 2023
Answered: Suraj on 22 May 2023
Dear all,
I have got a matrix (let's call it M, M=100x100).
I am trying to obtain both divergence and curl.
So far, I managed to obtain the divergence of the vector field (which seem correct), by the following steps:
div = divergence(FX,FY);
Now, I would like to obtain the curl of M. I tried to use the builtin 'curl' function but I run into different errors, and I am not really understanding what inputs it needs.

Suraj on 22 May 2023
Hi Simone,
The curl function in MATLAB is used to calculate the curl of a two- or three-dimensional vector field. In order to use this function on a 2D array (i.e. a matrix), you would need to generate the x and y components of the vector field first, just as you did when computing the divergence.
% Generate a 2D vector field represented by a 100x100 matrix
M = rand(100);
% Compute the gradients of the matrix to get the x and y components of the vector field
% Calculate the curl of the vector field
[CZ, Cav] = curl(FX,FY);
In the above example, curl assumes a default grid of sample points for the given vector field. The output CZ represents the z-component of the curl, and Cav represents the angular velocity of the curl.
Another way to use the curl method is to specify the matrices X and Y, which define the coordinates for FX and FY, that can be produced by meshgrid. Below is an example for the same –
% Generate a 2D vector field represented by a 100x100 matrix
M = rand(100);
x = linspace(-1, 1, 100);
y = linspace(-1, 1, 100);
[X, Y] = meshgrid(x,y);
% Compute the gradients of the matrix to get the x and y components of the vector field
% Calculate the curl of the vector field
[CZ, C] = curl(X, Y, FX,FY);
Please refer to the documentation for a better understanding of how curl can be used - https://www.mathworks.com/help/matlab/ref/curl.html .
Hope this helps.
Regards,
Suraj

### Categories

Find more on Programming in Help Center and File Exchange

R2022b

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!