Load text file with open braket ( )
조회 수: 6 (최근 30일)
이전 댓글 표시
Dear all,
I have a txt file in the format like:
(70.0362+32052.7j)
(-1.16529e-12+29239.2j)
(-1.42109e-13+26859.3j)
...
Then I used the following code:
fid = fopen('ImpedanceMatrix1.txt','r');
A = textscan(fid,'%s');
fclose(fid);
A = A{:};
However, it doesn't remove the brackets in the variable. Could you please suggest me how to do that. Thanks.
댓글 수: 3
Stephen23
2018년 3월 22일
편집: Stephen23
2018년 3월 22일
@Shan Chu: I did not write that you should use a different function. I wrote that you should import numeric data using a numeric format, not a string format: these are clearly explained in the textscan documentation. Currently you use '%s', which imports data as a string (a char vector), but instead simply import your data using %f, which will be much more efficient than what you do now. Check my answer to see how simple this is.
채택된 답변
추가 답변 (1개)
Stephen23
2018년 3월 22일
편집: Stephen23
2018년 3월 22일
It is much more efficient to import the data using a numeric format (rather than as a string and doing post-processing as you are doing now). My test file is attached (you did not provide a sample file).
[fid,msg] = fopen('temp5.txt','rt');
assert(fid>=3,msg)
C = textscan(fid,'(%f)');
fclose(fid);
Giving:
>> C{1}
ans =
7.0036e+001 + 3.2053e+004i
-1.1653e-012 + 2.9239e+004i
-1.4211e-013 + 2.6859e+004i
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Characters and Strings에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!