Nano Hash - криптовалюты, майнинг, программирование

Как изменить несколько векторов на основе условия для любого вектора?

У меня есть два вектора в MATLAB:

AA = [1 2 3 5 6 7 100 1 4 5];
BB = [1 100 3 4 5 8 9 10 11 12];

Обе одинаковой длины.

Если число 100 появляется в любом векторе, я хочу заменить его на 0 и соответствующее число в другой матрице (даже если это не 100) на 0.

Желаемый результат:

AA = [1 0 3 6 7 0 1 4 5];
BB = [1 0 3 4 5 0 9 10 11 12];

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

CC = [AA' BB'];
% logical rules here

Ответы:


1

Используйте логический оператор | (ИЛИ), чтобы получить индексы:

AA = [1 2 3 5 6 7 100 1 4 5];
BB = [1 100 3 4 5 8 9 10 11 12];

ind = AA == 100 | BB == 100;
AA(ind) = 0
BB(ind) = 0
07.11.2019

2

Если бы вы создали матрицу из векторов, вы могли бы выполнить логическую индексацию с помощью any. Это гибко, если у вас на самом деле более двух векторов:

C = [AA; BB]; % Each row is one of the original vectors
C( :, any(C == 100, 1)) = 0;

% C = [ 1     0     3     5     6     7     0     1     4     5
%       1     0     3     4     5     8     0    10    11    12 ]
07.11.2019
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..