2010-09-27 39 views
2

我想直接從天氣未經研磨的天氣數據讀入Matlab。對於給定的站點,您可以選擇以逗號分隔的格式輸出數據。我怎樣才能寫出一個Matlab函數,將信息讀入Matlab?我不想下載該文件,而是從URL中讀取它。使用URL將數據讀入Matlab

例如,這裏是一些數據的URL。是否有一些Matlab函數將URL作爲輸入並保存它在其中找到的數據?

回答

5

函數URLREAD是你正在尋找的。例如,使用上面的URL提供以下輸出:

>> str = urlread('http://www.wunderground.com/weatherstation/WXDailyHistory.asp?ID=MC9780&format=1'); 

str = 


Time,TemperatureF,DewpointF,PressureIn,WindDirection,WindDirectionDegrees,WindSpeedMPH,WindSpeedGustMPH,Humidity,HourlyPrecipIn,Conditions,Clouds,dailyrainin,SoftwareType<br> 
2010-09-27 00:09:00,56.0,52.0,30.05,NNE,25,0.0,3.0,86,0.00,,,0.00,, 
<br> 
2010-09-27 00:17:00,56.0,52.0,30.05,NNE,25,0.0,3.0,86,0.00,,,0.00,, 
<br> 
2010-09-27 00:28:00,56.0,52.0,30.04,NNE,30,2.0,5.0,85,0.00,,,0.00,, 
<br> 
... 

現在您只需解析字符串輸出以獲取所需信息。

如果您希望從URL中讀取並將其保存到文件而不是將其作爲字符串變量加載,則可以使用函數URLWRITE

+0

CDF解析可以通過Matlab來處理:http://www.mathworks.com/help/techdoc/ref/netcdf.html – rwong 2010-09-27 19:40:58

+0

@rwong,謹慎地詳細說明一下吧?我從來沒有聽說過 – Elpezmuerto 2010-09-27 19:49:54

+1

+1之前的netcdf:答案是正確的。但Mathworks的部分功能名稱有多麼可怕的選擇! – 2010-09-27 20:28:05