Я предполагаю, что значения в вашем массиве ячеек raw
являются строками (или символьными массивами). Поскольку эти строки имеют различную длину, требуемая конкатенация не будет работать, как указано в сообщении об ошибке.
Вы можете использовать функцию str2num
в Octave для преобразования строк в числовые значения. Это не будет работать из коробки, так как у вас также есть запятые в ваших строках. Кажется, это десятичные разделители. Вам необходимо заменить эти запятые, например, используя метод Octave strrep
. С помощью метода cellfun
Октавы вышеупомянутые функции могут применяться ко всем элементам массива ячеек.
Вот мое решение:
raw = {
'-358,506', '26,992';
'-358,758', '26,993';
'-359,010', '26,992';
'-0,018', '26,993'
}
data = cellfun(@(x)str2num(x), strrep(raw, ',', '.'))
В результате:
raw =
{
[1,1] = -358,506
[2,1] = -358,758
[3,1] = -359,010
[4,1] = -0,018
[1,2] = 26,992
[2,2] = 26,993
[3,2] = 26,992
[4,2] = 26,993
}
data =
-358.506000 26.992000
-358.758000 26.993000
-359.010000 26.992000
-0.018000 26.993000
Надеюсь, это поможет!