Вычтите все элементы в массиве друг от друга последовательно - PullRequest
0 голосов
/ 05 октября 2018

Как говорится в вопросе: x = [1 2 3]

1 - 2 - 3 = -4 Как мне получить мой -4?Без цикла for.

diff не работает.Я не понимаю, как у Матлаба есть СУММА, но нет способа вычесть.

Ответы [ 2 ]

0 голосов
/ 06 октября 2018

Другая альтернатива - это использование скалярного произведения:

y = x*[1 ; -ones(numel(x)-1, 1)];

Здесь x подразумевается вектор строки.

Хотя, вероятно, это не лучшее решение в вашем случае, было бы неплохо сказать, если выхотите другой шаблон для суммирования, например, с весами - просто замените вектор справа на вектор весов.

0 голосов
/ 05 октября 2018

Это странная операция, я сомневаюсь, что для этого есть встроенная функция, но простой способ сделать это будет:

2*x(1)-sum(x)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...