Matlab cell2mat с разными типами данных - PullRequest
0 голосов
/ 15 февраля 2019

Когда я импортирую данные из базы данных, я получаю их как ячейку.Одна строка ячейки содержит двойные значения (например, 0,3421 0,5545 0,9199), а другая строка содержит только значения int32 (1 1 0).Когда я хочу преобразовать всю ячейку с помощью cell2mat, я получаю ошибку несоответствия.Если я использую cell2mat для каждой строки отдельно, я получаю одну матрицу как double и одну как int32.Есть ли функция, способная преобразовать всю ячейку в двойную матрицу?

РЕДАКТИРОВАТЬ: Я не знаю заранее, какая строка является int32, а какая двойной, так что это не обязательно строки 1 и 2. Там> 50 строк

1 Ответ

0 голосов
/ 15 февраля 2019

Вы можете использовать cellfun, чтобы привести все данные к двойникам перед использованием cell2mat:

a={int16(round(100*rand(100,1))), int32(round(100*rand(100,1)))}

b = cellfun(@double, a, 'uni', false);

cell2mat(b)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...