How to make a heat map using three variables?

Hey,
I have an equation calculating the concentration depending on 2 variables (r and theta). I want to make a plot of r vs. theta that shows the concentration at certain points (e.g. for the axis x => r, y=> theta, z => concentration).
I used the following code to calculate the values and generate a matrix A containing the concentration at different r and theta values.
c_1 = 0.5;
R = 10^(-3);
N = 100;
theta = linspace(0,pi/2,N);
r = linspace(0,R,N);
for i = 1:1:N
for j = 1:1:N
A(i,j) = c_1 .* (r(i)./R) .* cos(theta(j));
end
end
The matrix A has (of course) the dimensions N x N. But I don't really know how to make a nice plot for this. Can anyone help me?
Kind regards,
Danny

 Accepted Answer

KSSV
KSSV on 13 Oct 2020
Edited: KSSV on 14 Oct 2020
c_1 = 0.5;
R = 10^(-3);
N = 100;
theta = linspace(0,pi/2,N);
r = linspace(0,R,N);
[r,theta] = meshgrid(r,theta) ;
A = c_1*(r/R).*cos(theta);
pcolor(r,theta,A)
shading interp
colorbar

3 Comments

Thanks, that was what i was looking for. Is there some kind of "thermometer" possible on the side that links color to a concentration value?
Use colorbar.
Thanks for your help, it works

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!