Минус каждое значение данных - PullRequest
1 голос
/ 18 ноября 2011

У меня есть сортировка данных,

A = [2 4 6 8 10]

B = [1 2 3 4 5 6 7 8 9 10]

Как написать программу, которая может вычитать каждое значение A из всех значений B.

Чтобы лучше понять,

Возьмите A = 2, вычтите из всех B = [1 2 3 4 5 6 7 8 9 10],
, затем возьмите A = 4, вычтите из всех B = [1 2 3 4 5 6 7 8 9 10]
и так далее ...

1 Ответ

5 голосов
/ 18 ноября 2011

Если вы хотите создать новый массив C, содержащий в строке i результат B-A(i), вы используете bsxfun:

A = [2 4 6 8 10];

B = [1 2 3 4 5 6 7 8 9 10];

C = bsxfun(@minus,B,A') %'# 
C =
    -1     0     1     2     3     4     5     6     7     8
    -3    -2    -1     0     1     2     3     4     5     6
    -5    -4    -3    -2    -1     0     1     2     3     4
    -7    -6    -5    -4    -3    -2    -1     0     1     2
    -9    -8    -7    -6    -5    -4    -3    -2    -1     0

Если вы хотите создать новый массив C, который содержит результат B-A(1)-A(2)-..., вы пишете

C = B-sum(A)

C =
   -29   -28   -27   -26   -25   -24   -23   -22   -21   -20
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...