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

 Akzeptierte Antwort

KSSV
KSSV am 13 Okt. 2020
Bearbeitet: KSSV am 14 Okt. 2020

0 Stimmen

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 Kommentare

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?
KSSV
KSSV am 14 Okt. 2020
Use colorbar.
Thanks for your help, it works

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by