Представьте Я массив пустой ячейки, как это:Выбор элементов ячейки с использованием логической матрицы
dim = [100,200];
x = cell(dim);
И я хочу, чтобы заменить диагональные элементы x
с 'a'
(строкой). Это то, что я сделал:
mask = logical(eye(dim));
x{mask} = {'a'};
Однако, я получаю следующее сообщение об ошибке:
The right hand side of this assignment has too few values to satisfy the left hand side
Error in test (line 28)
x{mask} = {'a'};
Я также попытался:
mask_2 = find(mask == true);
x{mask_2} = {'a'};
Но я получаю ту же ошибку. Есть ли способ решить это? Я хочу, чтобы сценарий был максимально эффективным.
x (маска) отлично работает. Спасибо. – mat
Очень хороший ответ. Я не думаю, что список, разделенный запятыми, можно строго рассматривать как тип данных. Но вы абсолютно правы, что многие «странности» Матлаба имеют больше смысла, когда вы понимаете, что такое список, разделенный запятой, и где они используются. –