# Why i am getting Nan?

4 views (last 30 days)
Tsvetan Terziev on 7 May 2019
Answered: Walter Roberson on 7 May 2019
close all
clear all
relev_files=strfind(current_files,'FPTO51.0_r1101_TA.csv');
%for most recent file use last index in relev_files
ta_url=['https://www.sinoptik.bg/sofia-bulgaria-100727011?location',current_files(relev_files(1:end)-21:relev_files(1:end)+20)];
% ta_url=['http://dd.weatheroffice.ec.gc.ca/meteocode/ont/csv/',current_files(relev_files(1:end)-21:relev_files(1:end)+20)];
%%put forecast data into vectors
clc
C = [strsplit(ta_data, '\n')]' ;
D = char(C(2:end-1));
for I = 1:numel(D,1)
E = strsplit(D(I,:));
year(I)=str2double(char(E(1,1)));
month(I) = str2double(char(E(1,2)));
F =char( E(1,3));
G = strsplit(F, 'T');
day(I) = str2double(char(G(1,1)));
H = char(G(1,1));
J = strsplit(H, ':');
hour(I) = str2double(char(J(1,1)));
min(I) = str2double(char(J(1,2)));
K = J{1,1};
L = strsplit(K, 'Z');
sec(I) = str2double(char(L(1,1)));
M = L{1,1};
N = strsplit(M, ',');
value(I) = str2double(char(N(1,1)));
end
%F = strsplit(D(1,:), 'T')
data=[year' month' day' hour' min' sec' value'];
figure
t = datetime(year, month, day, hour, min, sec);
plot(t, value, '*')
hold on
plot(t, value, '-k', 'Linewidth', 2)
axis tight, grid minor
xlabel('Time')
ylabel('Temperature (°C)')

#### 1 Comment

Getting NaN where? You create about 24 variables in that code.

Cam Salzberger on 7 May 2019
Edited: Cam Salzberger on 7 May 2019
Any time str2double is unable to translate a particular input into a number, it returns NaN. That is probably where the issue is occuring, so consider checking the inputs more carefully. Also, numel generally takes just one input. I think you meant to use size(D, 1).
-Cam