Как отфильтровать массив с помощью анонимной функции в Matlab? - PullRequest
2 голосов
/ 09 марта 2011

Я хочу написать функцию, предпочтительно анонимную, которая фильтрует массив. Трудно сказать словами, но это так:

f = @(x) { if (x > 1) x+1 }; 
a = [ 1, 2, 3];
f(a) % 
==> [ 1 3 4]

Ключевые моменты, которые я хочу:

  • хочу, чтобы функция получила номер или строка
  • но когда дан массив, функция будет применена к каждый элемент в массиве и возвращает другой массив.

Это похоже на работу функции log ():

>> log(1) 
ans =
      0 
>> log([1,2,3])
ans =
      0    0.6931    1.0986

Спасибо

1 Ответ

6 голосов
/ 09 марта 2011

Вы могли бы просто сделать это:

f = @(x) x + (x > 1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...