Ограничить значения в Matlab - PullRequest
3 голосов
/ 28 февраля 2012

Если у меня есть простой массив в Matlab, скажите:

a = [0 1 2 3 4 5 6 0 0]

Как мне ограничить значения в этом массиве (если, например, я хочу, чтобы максимальное значение было 1, чтобы получить:

a = [0 1 1 1 1 1 1 0 0]

Какой самый простой и эффективный способ сделать это?

Ответы [ 3 ]

6 голосов
/ 28 февраля 2012
a(a>1) = 1;

Это будет делать то, что вы просите ... вы можете следовать той же схеме для других ограничений.

Редактировать: комментарий правильный, исправлен.

3 голосов
/ 28 февраля 2012
a > 0

или

min(a, 1)

(Проверено в октаве.)

2 голосов
/ 28 февраля 2012

Попробуйте:

arrayfun(@(x) min(1,x),a)

Для максимального значения и замените max (val, x) на минимальное

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...