Как записать данные из файла в Matlabе

vityaalina

Нужно прочитать\ записать матрицу в Matlabe. Лучше всего из excelя, но можно и из текстового файла.
Подскажите, как это сделать!

62408

Можно пользоваться, например, dlmread, если берёшь текстовик.
A = dlmread('a.txt');
С матрицей A работаешь.
Можно через открытие файла всё осуществить (open)
+ смотри здесь , например

CHYDO

help load

vityaalina

load только из мат-файла загружает..

vityaalina

спасибо. уже нашла и смотрю.
а из excelя никак нельзя?

CHYDO

load только из мат-файла загружает..
совсем необязательно. Пример:
  InMatrix = load( 'var_string.txt' ); 

читает произвольную табличку из файла var_string.txt и пихает ее в матрицу InMatrix

bububa

f=fopen('***.xls','rb');
fseek(f,0,1);
n="число строк";
n_tr="число столбцов";
fseek(f,0,-1);
D=zeros(n_tr,n);
for i=1:n_tr
D(i,:)=fread(f,n,'float32')';
i=i+1;
end;
fclose(f);

mab21

маза, из excel лучше всего через excellink (только этот вариант модно использовать только ручками). Про эту штуку написано в matlab-овской док-ции
устанавлаваешь соответсвующий плагин к экселю. Там появится кнопочка putmatrix, выделаяешь область в экселе и нажимаешь на эту кнопку, после чего вводишь имя переменной, которой в матлабе присвоится выделенная матрица (матлаб уже запущен). Очень удобно!

DANA1

у кого нить случалось что xlsread отказывался читать файлы с количеством строк большим 750? у меня он при большем числе строк выдает ошибку
? Unknown record size for cells starting at column 0. Try saving as Excel 98.
Error in ==> D:\matlab65\toolbox\matlab\iofun\private\biffparse.dll
Error in ==> D:\matlab65\toolbox\matlab\iofun\xlsread.m
On line 90 ==> [n, s] = biffparse(biffvector, names{1});
у кого есть идеи как с этим бороться

Evgewkin

у кого есть идеи как с этим бороться
Это известный баг. Ставь новый Matlab.
http://www.mathworks.com/support/solutions/data/1-...
Оставить комментарий
Имя или ник:
Комментарий: