fid = fopen('example.txt');
sample=[]; %empty matrix count=1;
tline=fgetl(fid); while ischar(tline) disp(tline) sample(count)=tline; count=count+1; tline=fgetl(fid); end
fclose(fid);
I am trying to run this while loop and save each value consecutively in the vector "sample". "sample" should end with one column and an unknown amount of rows of strings.
I am getting the error 'Subscripted assignment dimension mismatch.' Is it because I'm starting with an empty vector?? Is it because each row is a string?? Please help.

 채택된 답변

Magdy Saleh
Magdy Saleh 2018년 7월 16일

0 개 추천

It might be easier here to use a cell array as such
fid = fopen('example.txt');
sample={}; %empty matrix count=1;
j = 1
tline=fgetl(fid);
while ischar(tline)
disp(tline);
sample{j} = tline
tline=fgetl(fid);
j = j+1
end
fclose(fid);

댓글 수: 1

Magdy Saleh
Magdy Saleh 2018년 7월 16일
This is because you are trying to save a matrix (2D vector), which requires each vector to have the same number of characters. A cell array, or a vector of vectors, gives you the freedom to have them with different lengths.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

제품

질문:

2018년 7월 16일

댓글:

2018년 7월 16일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by