У меня есть матрица, где некоторые значения имеют -1
как признак того, что произошла ошибка. Обычно я бы просто использовал ylim([0 100])
, чтобы не показывать эти значения на моем графике, но при использовании линейного графика соединение все равно будет падать до точки. Мне нужна диаграмма, состоящая из строк, а не графика рассеяния. Есть ли простой способ игнорировать отрицательные значения при построении линии и подключать только положительные значения при использовании функции plot в MATLAB?Как игнорировать значения, которые являются отрицательными при построении графика линии с помощью Matlab?
Я написал небольшую примерную программу, которая ведет себя аналогично, но способ, которым я пользуюсь, кажется немного «слишком сложным», и я хочу знать, есть ли более простой способ достичь этого. Он отлично работает, когда я помещаю значения в NaN
, и теперь значения x
и y
имеют одинаковую сумму. Однако удаление или сортировка значений из вектора приведет к различному количеству значений x
и y
.
Я надеялся на модификацию или флаг или что-то в этом роде.
x = 2*rand(10) - rand(10)
xx = 10:10:100;
figure;
for i=1:length(x)
for j=1:length(x(i,:))
if x(i,j) < 0
x(i,j) = NaN;
end
end
end
plot(xx,x)
Обратите внимание, что это всего лишь пример, весь код будет слишком большой, чтобы опубликовать его здесь.
При наличии без соответствующих x
-величины (так что функция участок просто использует 1,2,3...
и так далее для соответствующих значений y
), это может быть достигнуто путем использования
plot(x(x>0))
В этом случае соответствующие значения разные, в реальном коде они измеряются данными, здесь я просто использую 10-й шаг для упрощения.
x = 2*rand(10) - rand(10)
xx = 10:10:100;
plot(xx,x(x>0))
Приведенный выше код будет зависеть от сообщения "Векторы должны быть одинаковой длины".
У вас есть такой вектор, который вы хотите построить и содержит отрицательные значения, которые хотите удалить? –
Я не хочу удалять отрицательные числа, я хочу, чтобы они не отображались в сюжете, так что при использовании линейного графика линия не соединяется с этим значением. – Kev1n91
Я просто хочу быть уверен, что правильно понимаю. Вы хотите построить вектор без его отрицательных значений? –