How to convert polar meshgrid to Cartesian meshgrid?

9 views (last 30 days)
I prepared a Cartesian meshgrid (10x10) and then converted it to polar. After doing some calculations and filling all 100 elements of the matrix now I want to see the final picture back in Cartesian coordinates. So, I want to map every single index of that 10x10 matrix to its Cartesian counterpart. How can I do that?

Answers (1)

Jacob Mathew
Jacob Mathew on 3 Dec 2024 at 9:21
Hi Sachin,
You can utilize vectorized operations to achieve the transformations. A simple workflow is shown below:
% Creating a Cartesian Meshgrid
x = linspace(-5, 5, 10);
y = linspace(-5, 5, 10);
[X, Y] = meshgrid(x, y);
% Visualize the Original Cartesian Space
figure;
subplot(1, 2, 1);
pcolor(X, Y, zeros(size(X)));
shading flat;
colorbar;
xlabel('X');
ylabel('Y');
title('Original Cartesian Grid');
axis equal;
% Convert from Cartesian to Polar Coordinates
R = sqrt(X.^2 + Y.^2);
Theta = atan2(Y, X);
% Example calculation in Polar Coordinates
Z = sin(R) .* cos(Theta);
% Convert Polar Back to Cartesian
X_prime = R .* cos(Theta);
Y_prime = R .* sin(Theta);
% Visualize the Transformed Data
subplot(1, 2, 2);
pcolor(X_prime, Y_prime, Z);
shading interp;
colorbar;
xlabel('X');
ylabel('Y');
title('Transformed Data in Cartesian Coordinates');
axis equal;
If you have specific issues with your data or woflow, share the code in comment.

Categories

Find more on Polar Plots 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!