- #1
dRic2
Gold Member
- 883
- 225
Hi, I used to use MATLAB for this kind of thing, but now my pc broke and I need to run some scripts. I have a .txt file structured like this
10 -2.34454
12 -2.34566
14 -2.34677
... ...
and I want to store the data in two variables: the first is the "counting" (10, 12, ...) and the second is the value (-2.34454, ...). So I wrote the following script, but I run in the following problem
The problem is that while I get my nice vector count_num = [10 12 14 ...], the other vector is [NaN, NaN, ...]. I also tried to add disp(value) to see if the string is acquired correctly and it is! The problem is the conversion! str2num also doesn't work.
Any help would be highly appreciated.
Ric
10 -2.34454
12 -2.34566
14 -2.34677
... ...
and I want to store the data in two variables: the first is the "counting" (10, 12, ...) and the second is the value (-2.34454, ...). So I wrote the following script, but I run in the following problem
Code:
function [out1, out2] = read(fid)
i = 1;
while true
currentline = fgetl(fid);
if (currentline == -1)
break;
end
pos = find(currentline == ' ');
for j=1:pos
count(j) = currentline(j);
end
for j=(pos+1):(length(currentline))
value(j) = currentline(j);
end
count_num(i) = str2num(count); % <--------- THIS WORKS
value_num(i) = str2double(value); % <-------- THIS DOES NOT WORK !
i++;
end
out1 = count_num;
out2 = value_num;
end
The problem is that while I get my nice vector count_num = [10 12 14 ...], the other vector is [NaN, NaN, ...]. I also tried to add disp(value) to see if the string is acquired correctly and it is! The problem is the conversion! str2num also doesn't work.
Any help would be highly appreciated.
Ric