2017-01-06 2 views
0

Я genereated график в MATLAB, используя следующий код:смещение в оси х, используя бар функцию (Matlab)

epsilons = 0.1:0.1:1; 
RMS = zeros(length(epsilons)); 
%some data manipulations, changing the RMS to real values 
figure; 
bar(epsilons , RMS); 

как вы можете увидеть, epsilons содержит 10 значений: 0.1, 0.2, ..., 1

однако, используя функцию bar, я получаю смещение, как можно видеть на этом рисунке: enter image description here

любые идеи, как исправить это?

+1

Вы должны изменить значение 'epsilons' где-то. Пожалуйста, предоставьте фактический код, поскольку это явно неточно из-за того, что ширина вашей полосы не является значением по умолчанию. – Suever

ответ

2

Это похоже на то, что ваш RMS - это не вектор, а матрица с нулевыми (или NAN) значениями за пределами первого столбца. Итак, вам нужно просто отображать RMS первый столбец:

bar(epsilons , RMS(:,1)); 
+0

очевидно, что вы правы, мне действительно нужен вектор, а не матрица. Я исправил его до «RMS = нули (1, длина (эпсилон))». благодаря! – noamgot

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