Получить строковые данные в матлаб = get string data from excel matlab - одновременное получение численных и строковых данных

О чём это мы

пусть у нас есть файл (таблица эксель) = D:/Dannie.xlsx
содержимое - что-то вроде того =
матлаб фкн вгу строковые данные строки
то есть - есть и строковые и численные данные,

Давайте разберёмся с тем - как их забрать их эксель-файла - дабы иметь возможность эти данные обрабатывать.

Решение

будем использовать функцию xlsread =
Считаем все данные ,раскидав их по трём типам -

  1. числа
  2. текст
  3. и обобщённый формат (raw)

это делается так =

 [num,txt,raw] = xlsread('D:/Dannie.xlsx');

а теперь давайте ка заполним только текстовый массив и только из столбца B (это столбец под номером 2 на картинке выше) =

 [~,txt,~] = xlsread('D:/Dannie.xlsx', B2:B10);

выполним команду выше кликните пару раз на переменную (не знаю как это корректно назвать в матлабе - я не профессионал - ну что-то вроде переменной-массива) - txt из блока Workspace - вот что получил я =
матлаб фкн вгу

да, кстати вызов этой функции (xlsread ) возможен в следующих форматах:

num = xlsread('filename')
num = xlsread('filename', -1)
num = xlsread('filename', sheet)
num = xlsread('filename', 'range')
num = xlsread('filename', sheet, 'range')
num = xlsread('filename', sheet, 'range', 'basic')
num = xlsread('filename', ..., functionhandle)
[num, txt] = xlsread('filename', ...)
[num, txt, raw] = xlsread('filename', ...)
[num, txt, raw, X] = xlsread('filename', ..., functionhandle)
xlsread filename sheet range basic

подробнее здесь

да - я могу по аналогии на очередном шаге выполнения скрипта в матлабе считать номера и первого столбца по девятый=

[num,~,~] = xlsread('D:/Dannie.xlsx', 'A2:A10');

после этого num =

     1
     2
     3
     4
     5
     6
     7
     8
     9

(см. исходную таблицу)

а теперь - как сохранять эти данные в разные переменные - ведь нам придётся читать из разных столбцов - это просто =
вот я двумя командами сохраняю данные из стандартных переменных txt и num по другими именами (чтобы потом иметь возможность продолжить читать из других столбцов и запоминать по аналогии) =

 myarray=num;
 mytxtarray=txt;

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

>> mytxtarray=txt

mytxtarray = 

    'Коминтерновский'
    'Советский'
    'Левобережный'
    'Центральный'
    'Железнодорожный'
    'Ленинский'
    'Коминтерновский'
    'Центральный'
    'Железнодорожный'

Ну вот собственно и всё)))

Привожу здесь историю моих команд (может она окажется полезной
- там были ошибки и даже одна попытка создания массива ячеек (cell)))))
=

>> [num,txt,raw] = xlsread('D:/Dannie.xlsx');
>> [txt,txt,txt] = xlsread('D:/Dannie.xlsx');
>>  [~,txt,~] = xlsread('D:/Dannie.xlsx', B2:B10);
Undefined function or variable 'B2'.
 
>> [~,txt,~] = xlsread('D:/Dannie.xlsx', 22:210);
Error using xlsread (line 139)
Sheet argument must be a string or an integer.
 
>> [~,txt,~] = xlsread('D:/Dannie.xlsx', 'B2:B10');
>> [~,txt,~] = xlsread('D:/Dannie.xlsx', 'B2:B10');
>> a=txt;
>> [num,~,~] = xlsread('D:/Dannie.xlsx', 'A2:A10');
>> C = cell(dim)
Undefined function or variable 'dim'.
 
>> C = cell(12)

C = 

    []    []    []    []    []    []    []    []    []    []    []    []
    []    []    []    []    []    []    []    []    []    []    []    []
    []    []    []    []    []    []    []    []    []    []    []    []
    []    []    []    []    []    []    []    []    []    []    []    []
    []    []    []    []    []    []    []    []    []    []    []    []
    []    []    []    []    []    []    []    []    []    []    []    []
    []    []    []    []    []    []    []    []    []    []    []    []
    []    []    []    []    []    []    []    []    []    []    []    []
    []    []    []    []    []    []    []    []    []    []    []    []
    []    []    []    []    []    []    []    []    []    []    []    []
    []    []    []    []    []    []    []    []    []    []    []    []
    []    []    []    []    []    []    []    []    []    []    []    []

>> a=txt;
>> [num,~,~] = xlsread('D:/Dannie.xlsx', 'A2:A10');
>> Untitled
Undefined function or variable 'B2'.

Error in Untitled (line 1)
xlsread('D:/Dannie.xlsx', B2:B10); 
>> Untitled
Undefined function or variable 'B2'.

Error in Untitled (line 1)
xlsread('D:/Dannie.xlsx', B2:B10); 
>> Untitled
Undefined function or variable 'B2'.

Error in Untitled (line 1)
xlsread('D:/Dannie.xlsx', B2:B10); 
>> Untitled
Undefined function or variable 'B2'.

Error in Untitled (line 1)
xlsread('D:/Dannie.xlsx', B2:B10); 
>> Untitled
Undefined function or variable 'B2'.

Error in Untitled (line 1)
xlsread('D:/Dannie.xlsx', B2:B10); 
>> Untitled
Undefined function or variable 'B2'.

Error in Untitled (line 1)
xlsread('D:/Dannie.xlsx', B2:B10); 
>> a=txt;
>> [~,txt,~] = xlsread('D:/Dannie.xlsx', 'B2:B10');
>> a=txt;
>> a=txt;
>> h=txt;
>> a=txt;
>> a=num

a =

     1
     2
     3
     4
     5
     6
     7
     8
     9

>> a=txt

a = 

    'Коминтерновский'
    'Советский'
    'Левобережный'
    'Центральный'
    'Железнодорожный'
    'Ленинский'
    'Коминтерновский'
    'Центральный'
    'Железнодорожный'

>> a=num;
>> a=txt;
>> myarray=num;
>> mytxtarray=txt;
>> 

полезные ссылки:

http://www.mathworks.com/matlabcentral/n...
http://stackoverflow.com/questions/10156...
В результате окно моего матлаба выглядело как-то так:

матлаб строки фкн вгу