MATLAB — Изменение значений галочек при построении матрицы

#image #matlab #plot

#изображение #matlab #построение

Вопрос:

В настоящее время оси отмечены галочками со значениями, представляющими их индекс в матрице. Я хочу перемаркировать их, чтобы они соответствовали точкам в моей сетке mesh. Существует взаимно однозначное соответствие, так что это отображение действительно правдоподобно. Как я могу этого добиться?

 [x z] = meshgrid(-10:.25:10,-10:.25:10);
B = zeros(81,81);
for i=1:81
    for j=1:81
        [theta,phi,r] = cart2sph(x(i,j),0,z(i,j));
        Px = (1/16)*(r.^4).*exp(-r).*(sin(pi/2-phi).^2).*(cos(theta).^2);
        B(i,j)=Px;
    end
end

subplot(3,3,1);
imagesc(B);
  

Рисунок 1: Оси с нежелательными метками.

Ответ №1:

Просто добавьте аргументы в imagesc() , как показано ниже. Вы можете указать диапазоны x и y.

 x_range = [-10:.25:10];
z_range = x_range;
[x z] = meshgrid(-10:.25:10,-10:.25:10);
B = zeros(81,81);
for i=1:81
    for j=1:81
        [theta,phi,r] = cart2sph(x(i,j),0,z(i,j));
        Px = (1/16)*(r.^4).*exp(-r).*(sin(pi/2-phi).^2).*(cos(theta).^2);
        B(i,j)=Px;
    end
end

subplot(3,3,1);
imagesc(x_range,z_range,B);