Why i am getting Nan?

1 visualización (últimos 30 días)
Tsvetan Terziev
Tsvetan Terziev el 7 de Mayo de 2019
Respondida: Walter Roberson el 7 de Mayo de 2019
I'm trying to download the weather forecast from a site.
close all
clear all
%%download weather forecast data from server
current_files=urlread('https://www.sinoptik.bg/sofia-bulgaria-100727011?location');
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)];
ta_data=urlread(ta_url);
%%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)')
nan.png
  1 comentario
Adam
Adam el 7 de Mayo de 2019
Getting NaN where? You create about 24 variables in that code.

Iniciar sesión para comentar.

Respuestas (2)

Cam Salzberger
Cam Salzberger el 7 de Mayo de 2019
Editada: Cam Salzberger el 7 de Mayo de 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

Walter Roberson
Walter Roberson el 7 de Mayo de 2019
There is no year in any line until after line 1800.

Categorías

Más información sobre Weather and Atmospheric Science en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by