Read equations from a text file and create a cell array in MATLAB
이전 댓글 표시
Hello everybody! I have a text file with 8000 equations and I want to create a cell array of 8000x1 for the equations as strings. I have considered textscan for this purpose, but all the equations doesn't have same number of variables and hence I cannot specify the number of columns. How do I go about it? Example:
equations.txt:
1. a=b+c
2. d=e+f+g+h
3. y=2+x*z
댓글 수: 4
Ameer Hamza
2018년 5월 7일
Do you want to only load them as a string? or to also convert them to function handles?
Tiasa Ghosh
2018년 5월 7일
Walter Roberson
2018년 5월 7일
Are the line numbers present in the file? If they are do you want them read in or discarded?
Tiasa Ghosh
2018년 5월 7일
채택된 답변
추가 답변 (1개)
Ameer Hamza
2018년 5월 7일
편집: Ameer Hamza
2018년 5월 7일
The following lines will read the lines from the text file and return a cell array of function handles
f = fopen('test.txt');
q = textscan(f, '%s');
fclose(f);
funHandles = cell(1, length(q{1}));
for i=1:length(q{1})
splitAtEqualSign = strsplit(q{1}{i}, '=');
rhs = splitAtEqualSign{2};
funHandles{i} = matlabFunction(str2sym(rhs));
end
댓글 수: 3
Tiasa Ghosh
2018년 5월 7일
Ameer Hamza
2018년 5월 7일
편집: Ameer Hamza
2018년 5월 7일
Then don't run for loop. q{1} contain cell array of strings.
Ameer Hamza
2018년 5월 7일
Since you mentioned that line numbers are not present. I have updated the answer.
카테고리
도움말 센터 및 File Exchange에서 Text Files에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!