氣象中的常用程式碼

樱花飞%追我路發表於2024-03-13

目錄
  • 畫圖
    • 橫座標新增月份
      • Python
      • Matlab
    • 空間對映
      • 標準化

畫圖

橫座標新增月份

Python

import matplotlib.pyplot as plt
import pandas as pd
import numpy as np

# 準備時間和溫度資料
start_date = pd.to_datetime('1996-12-01') # the next date
end_date = pd.to_datetime('1998-12-01') # the current data, so 36
time_index = pd.date_range(start_date, end_date, freq='M')
temperature_data = np.random.uniform(0, 40, len(time_index))  # 這裡使用隨機溫度資料,您應該替換為您的實際資料
print("shape:",temperature_data.shape)
# 建立時間序列圖
plt.figure(figsize=(12, 6))
plt.plot(time_index, temperature_data, marker='o', linestyle='-')
plt.title('Temperature-Time-Series')
plt.xlabel('Time')
plt.ylabel('Temperature')
plt.xticks(rotation=45)  # 旋轉x軸標籤以包含月份
plt.grid(True)
plt.show()

Matlab

startYear = 2023;startMonth=1;endYear=2023;endMonth=12;
time_index = datetime(startYear,startMonth, 1):calmonths(1):datetime(endYear,endMonth, 1);
plot(time_index,rand(length(time_index),1));

空間對映

標準化

To = 1:10;        % 實際觀測資料
Tm = 30:-1:21;    % 模型資料
% 標準化To和Tm序列
standardized_To = (To - mean(To)) / std(To);
standardized_Tm = (Tm - mean(Tm)) / std(Tm);

% 獲取原始To中最後一個點在標準化後的To中的位置
relative_position = (To(5) - mean(To)) / std(To);

% 根據相對位置在標準化後的Tm中找到對應的值
% 使用unique確保樣本點的唯一性
[unique_standardized_Tm, unique_idx] = unique(standardized_Tm);
corresponding_Tm_value = interp1(unique_standardized_Tm, Tm(unique_idx), relative_position);

disp('To序列:');
disp(To);
disp('對應的Tm序列:');
disp(corresponding_Tm_value);

相關文章