2014-09-14 4 views
1

Я хочу иметь сетку с линиями в нем, как это:Изменение сетки сетки в MATLAB

enter image description here

В настоящее время я закодированы, чтобы получить сетку, как это:

enter image description here

Мне просто нужно добавить в него горизонтальные и вертикальные линии.

MyCode: 
[X,Y] = meshgrid(-1:0.1:1, -1:0.1:1); 
X = X(:); 
Y = Y(:); 
plot(X,Y,'b.'); 
xlabel('X'); % // Label the X and Y axes 
ylabel('Y'); 
title('Initial Grid'); 
+0

Ха ... Я знал, что я узнал, что код где-то :) http://stackoverflow.com/questions/25820119/drawing-2d-grid-in -matlab/25820207 # 25820207 – rayryeng

ответ

2

Чтобы нарисовать эти линии, самый простой подход состоит из двух циклов:

x = -1:0.1:1; 
y = -1:0.1:1; 
hold on 
for n = 1:numel(x); %// loop over vertical lines 
    plot([x(n) x(n)], [y(1) y(end)], 'k-'); %// change 'k-' to whatever you need 
end 
for n = 1:numel(y); %// loop over horizontal lines 
    plot([x(1) x(end)], [y(n) y(n)], 'k-'); %// change 'k-' to whatever you need 
end 

enter image description here


В качестве альтернативы, вы можете использовать grid; но тогда у вас нет контроля над типом линии. Вы получаете черные пунктирные линии:

x = -1:0.1:1; 
y = -1:0.1:1; 
figure 
set(gca,'xtick',x); 
set(gca,'ytick',y); 
axis([min(x) max(x) min(y) max(y)]) 
grid on 

enter image description here

Смежные вопросы