Похожие вопросы

Среднее по месяцам в пределах нескольких диапазонов дат excel
Как найти среднее время из массива в PowerShell
Как использовать условный массив с несколькими условиями для вычисления процентилей?
Макрос Word: Как заменить строки в тексте на основе таблицы из 2 столбцов?
Создание" временных " формул массива в Excel
Записать импортируемый массив в файл в Bash?
Проверить, если элемент в массиве в bash
Соответствие индексу Excel проверка нескольких столбцов
Bash-хранение значения ключа в переменных, объявленных в ассоциативном массиве
Мне понадобится формула, показывающая количество, итоги и подытоги для набора данных из разных листов
Bash ассоциативный массив перестановка ключей
массив ячеек строк в структуре matlab
Как выделить границы массива в Excel?
Как посчитать количество элементов в массиве в Ansible?
Подсчет уникальных значений в массиве VBA с пользовательскими функциями

массив ячеек строк в структуре matlab

мне нужно создать структуру matlab как таковую ds=struct('name',{{'my_name_is'},{'matlab_thining_hair'}}), который хранится в виде массива структуры 1x2 с именем Поля. Вызов ds.name генерирует выходной:

ds.name
ans = 'my_name_is'
ans = 'matlab_thining_hair'

обратите внимание на одинарные кавычки в выводе. Они очень важны. Тем не менее, мне нужно создать вышеупомянутую структуру, используя следующую переменную: X = [1x46 char] [1x47 char] т. е. ячейка 1x2, которая, как я считаю, на самом деле является массивом строк. Помимо прочего, я пробовал следующее:

Y = cell2struct(X, 'name', 1)'

что приводит к массиву структуры 1x2 с именем поля, однако вызов Y генерирует вывод:

Y.name
ans = my_name_is
ans = matlab_thining_hair

обратите внимание, что одинарные кавычки в выходных данных отсутствуют, и хотя Y и ds являются массивами структуры 1x2 с именем поля, значения полей не форматируются одинаково, а структуры также различаются по размеру байтов. По существу, мне нужна структура с полями массивов ячеек, где по существу каждый массив ячеек состоит из уникального массива char. Я в недоумении, как форматировать значения полей как массивы символов? Любая помощь будет принята с благодарностью.

5
задан Canadian Luke
источник

1 ответов

нестыковка в вашем примере является то, что каждый элемент вашего оригинальный пример ДС.имя ячейки, содержащей символ (например, {'Меня зовут'}), если каждый элемент X является символ (например, 'мое имя'). Если вы измените тип каждого элемента X с char на ячейку, содержащую char, то вы должны получить поведение, которое вы ищете.

Это показано в примере ниже.

Х2={{'my_name_is'},{'matlab_thinning_hair'}};

Y = cell2struct (X2, 'имя', 1);

имя Ю.

ans =

'my_name_is'

ans =

'matlab_thinning_hair'

вы могли бы достичь этого для вашей переменной X путем индексирования через элементы и проведения:

X2{1}={X{1}};

X2{2}={X{2}}

справка matlab здесь очень полезно на эту тему.

1
отвечен Chogg 2013-01-14 11:22:34
источник

Другие вопросы array cells matlab