How to read vector from .RTF file into MATLAB?

8 ビュー (過去 30 日間)
Anders
Anders 2014 年 1 月 31 日
回答済み: Anders 2014 年 1 月 31 日
Hi MATLAB Central,
I have a very simply question - I would like to read a single row vector (called "cells_QC") from an .rtf file into MATLAB. My RTF file contains only something like:
cells_QC = [2,4,5,6,8,10,12,14,15,16,17,18,19,20,21;];
In retrospect, I shouldn't have saved these vectors in .rtf. But now I have to parse through a bunch of folders and read them in. I attempted to use functions fopen, load and fscanf, but when read they just give a single number.
I would really appreciate any help with how to read this into MATLAB as a vector.
Thanks in advance,
Anders

採用された回答

Anders
Anders 2014 年 1 月 31 日
After reading around, I actually found a solution. This might be not very elegant, but it works fine. I am just posting this in cases anyone else is interested. For "RTF_file path", give the file path for the RTF file.
fid = fopen(RTF_file_path);
%get each line in the file and run WHILE loop until you read the line with
%'cells_QC'
tline = fgetl(fid);
while ischar(tline)
desired_line = strfind(tline, 'cells_QC');
%If the desired line is found break the loop
if desired_line
break;
end
tline = fgetl(fid);
end
%Find beginning and end of the row_vector
vector_left = find(tline == '['); vector_right = find(tline == ']');
vector = tline(vector_left:vector_right);
%Convert from string to vector
cells_QC = str2num(vector);

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeString Parsing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by