FNL资料的变量说明

查了一顿也没找到fnl数据到底包含多少气象数据,这是用wgrib从fnl数据里面读出来的,自己整理的。希望哪位大侠给指导下,fnl数据。 1 PRES=Pressure 气压 2 HGT=Geopotential height [gpm] 位势高度 3 TMP=Temp.[K] 温度 4 VVEL=Pressure vertical velocit

-

 

 

查了一顿也没找到fnl数据到底包含多少气象数据,这是用wgrib从fnl数据里面读出来的,自己整理的。希望哪位大侠给指导下,fnl数据。

 

 1 PRES=Pressure 气压

  2 HGT=Geopotential height [gpm]  位势高度

  3 TMP=Temp. [K]  温度

  4 VVEL=Pressure vertical velocity [Pa/s]  气压垂直速度

  5 RH=Relative humidity [%]  相对湿度

  6 ABSV=Absolute vorticity [/s]  绝对涡度

  7 O3MR=Ozone mixing ratio [kg/kg] 臭氧混合比

  8 CLWMR=Cloud water [kg/kg]  云水

  9 5WAVH=5-wavegeopotential height [gpm]

 10 UGRD=u wind [m/s]   纬向风

 11 VGRD=v wind [m/s]   经向风

 12 SPFH=Specific humidity [kg/kg] 比湿

 13 PWAT=Precipitable water [kg/m^2] 降雨量

 14 VWSH=Vertical speed shear [1/s]  垂向风切变

 15 LFTX=Surface lifted index [K]  地面举升指数

 16 CAPE=Convective Avail. Pot. Energy [J/kg]  对流可用位能

 17 CIN=Convective inhibition [J/kg]  对流抑制能

 18 4LFTX=Best (4-layer) lifted index [K]

 19 PRMSL=Pressure reduced to MSL [Pa]

 20 POT=Potential temp. [K   位温

 21 TOZNE=Total ozone [Dobson]  总臭氧

 22 CWAT=Cloud water [kg/m^2]   云水

 23 SOILW=Volumetric soil moisture [fraction]

 24 WEASD=Accum. snow [kg/m^2] 雪深

 25 LAND=Land cover (land=1;sea=0) [fraction]土地标示

 26 ICEC=Ice concentration (ice=1;no ice=0) [fraction] 冰密集度

 27 HPBL=Planetary boundary layer height

 

­ 行星边界层高度

 28TCDC=Total cloud cover [%]   总云水

 29 GPA=Geopotential height anomaly [gpm] 位势高度异常

 30 5WAVA=5-wave geopot. height anomaly [gpm]

 

 

grads处理多个ctl

(2010-07-29 15:02:41)

标签:

杂谈 

 

先生成一个ctl

grib1:

C:\ProgramFiles\PCGrADS\win32>grib2ctl grib_file > grib_file.ctl

or

gs>!grib2ctl grib_file >grib_file.ctl

grib2:

 

For analyses:

 

$ g2ctl -O grib2_file>grib2_file.ctl

$ gribmap -O -i grib2_file.ctl

$ grads

Landscape mode? (no for portrait):

ga-> open grib2_file.ctl

 

For forecasts:

 

 

$ g2ctl grib2_file>grib2_file.ctl

$ gribmap -i grib2_file.ctl

$ grads

Landscape mode? (no forportrait):

ga->open grib2_file.ctl

 

 

用grads处理多个相同格式的数据时若单个单个处理非常麻烦,当文件非常多的时候是单个处理是不实际的。下面介绍一种方法;

 

   第一步,在这种情况下可以重新写一个ctl描述文件,其文件变量都和已知的ctl相同,若原来的n文件只是时间不同,那么新描述文件的时间维数是所有原文件的时间的和。同样,若其他维数不同时也用同样的方法处理。

   第二步,在第一行之后添加一行: options template 表示多个时间序列原始数据文件想用一个描述文件统一地描述。这些原数据的原文件名由dset定义的形势命名文件名。

   第三步,修改dset 的文件名。原路径不变,把文件名用%表示。其中:

   %y2  代表两位数年

   %y4  代表四位数年

   %m1  代表一位或者两位数的月

   %m2  代表两位数月(用0补齐1位数)

   %mc  3个字符月份的缩写

   %d1  1或2位天

   %d2  两位天

   %h1  1或者2位时

   %h2  2位时

例如:

   原文件其中之一的文件名为gdas2006050812f00,且所有文件只有天和时的变化

   那么新描述文件的文件名为:gdas200605%d2%h2f00

 

   另外如果源文件里有index项的话,需要修改其idx的文件名,假设改成fnl.idx。并用在dos下用gribmap函数生成一个新的idx文件。gribmap-e-i fnl.ctl(加绝对路径)

openfnl.ctl就可以打开所有文件。

<think>是的,MATLAB可以用于WRF模型输出与FNL再分析数据的有效性验证。MATLAB具有强大的数据处理和可视化功能,并且支持NetCDF和GRIB格式的读取(需要安装相应的工具箱或使用第三方函数)。下面我将提供一个完整的MATLAB解决方案,包括数据读取、插值、指标计算和可视化。 ## MATLAB解决方案代码 ```matlab % WRF模型输出与FNL再分析数据有效性验证 % 验证变量:500hPa位势高度 %% 步骤1: 读取WRF输出文件 wrf_file = 'C:\path\to\your\wrfout_d01_2020-06-01_00:00:00'; % 使用ncinfo和ncread读取NetCDF文件 wrf_info = ncinfo(wrf_file); % 尝试读取位势高度变量 if ismember('geopotential', {wrf_info.Variables.Name}) wrf_z = ncread(wrf_file, 'geopotential'); elseif ismember('PH', {wrf_info.Variables.Name}) && ismember('PHB', {wrf_info.Variables.Name}) wrf_ph = ncread(wrf_file, 'PH'); wrf_phb = ncread(wrf_file, 'PHB'); wrf_z = wrf_ph + wrf_phb; else error('未找到位势高度变量'); end % 转换为位势米 wrf_z = wrf_z / 9.8; % 读取经纬度 if ismember('XLAT', {wrf_info.Variables.Name}) && ismember('XLONG', {wrf_info.Variables.Name}) wrf_lat = ncread(wrf_file, 'XLAT'); wrf_lon = ncread(wrf_file, 'XLONG'); % 取第一个时次和第一个垂直层 wrf_lat = squeeze(wrf_lat(:,:,1)); wrf_lon = squeeze(wrf_lon(:,:,1)); elseif ismember('lat', {wrf_info.Variables.Name}) && ismember('lon', {wrf_info.Variables.Name}) wrf_lat = ncread(wrf_file, 'lat'); wrf_lon = ncread(wrf_file, 'lon'); else error('未找到经纬度变量'); end % 取第一个时次和第一个垂直层(假设数据维度为[经度, 纬度, 垂直层, 时间]) wrf_z = squeeze(wrf_z(:,:,1,1)); %% 步骤2: 读取FNL再分析数据(GRIB格式) % 需要安装NCTOOLBOX或使用MATLAB的映射工具箱 % 这里使用nctoolbox读取GRIB文件(先安装:https://github.com/nctoolbox/nctoolbox) fnl_file = 'C:\path\to\your\fnl_20200601_00_00.grib2'; % 初始化nctoolbox setup_nctoolbox(); % 打开GRIB文件 ds = ncgeodataset(fnl_file); % 查看变量列表 variables = ds.variables; % 选择500hPa位势高度 if ismember('Geopotential_height_isobaric', {variables}) var_name = 'Geopotential_height_isobaric'; elseif ismember('HGT_500mb', {variables}) var_name = 'HGT_500mb'; else error('未找到位势高度变量'); end % 读取数据 fnl_z = ds.data(var_name); % 单位:米,无需转换 fnl_time = ds.data('time'); fnl_lat = ds.data('lat'); fnl_lon = ds.data('lon'); % 注意:FNL数据可能是三维的(时间, 纬度, 经度),取第一个时次 if ndims(fnl_z) == 3 fnl_z = squeeze(fnl_z(1,:,:)); end %% 步骤3: 将WRF数据插值到FNL网格 % 创建FNL网格 [FNL_LON, FNL_LAT] = meshgrid(fnl_lon, fnl_lat); % 使用scatteredInterpolant进行插值(由于WRF网格可能不规则) % 注意:WRF网格是二维的,但需要展平为一维点集 wrf_lon_flat = wrf_lon(:); wrf_lat_flat = wrf_lat(:); wrf_z_flat = wrf_z(:); % 移除NaN值 valid_idx = ~isnan(wrf_z_flat); wrf_lon_flat = wrf_lon_flat(valid_idx); wrf_lat_flat = wrf_lat_flat(valid_idx); wrf_z_flat = wrf_z_flat(valid_idx); % 创建插值函数 F = scatteredInterpolant(wrf_lon_flat, wrf_lat_flat, wrf_z_flat, 'linear', 'none'); % 执行插值 wrf_z_interp = F(FNL_LON, FNL_LAT); %% 步骤4: 计算验证指标 % 确保两个数组大小相同 assert(all(size(wrf_z_interp) == size(fnl_z)), '网格大小不匹配'); % 计算差异 diff = wrf_z_interp - fnl_z; % 移除NaN值 valid_mask = ~isnan(diff); diff_valid = diff(valid_mask); wrf_valid = wrf_z_interp(valid_mask); fnl_valid = fnl_z(valid_mask); % 计算指标 mean_bias = mean(diff_valid); rmse = sqrt(mean(diff_valid.^2)); correlation = corrcoef(wrf_valid, fnl_valid); correlation = correlation(1,2); % 显示结果 fprintf('验证结果 (500hPa位势高度):\n'); fprintf('平均偏差: %.2f m\n', mean_bias); fprintf('均方根误差: %.2f m\n', rmse); fprintf('相关系数: %.4f\n', correlation); %% 步骤5: 可视化 figure('Position', [100, 100, 1200, 800]) % 子图1: WRF原始数据 subplot(2,2,1) contourf(wrf_lon, wrf_lat, wrf_z, 20, 'LineColor', 'none') colorbar title('WRF模拟结果 (500hPa位势高度)') xlabel('经度') ylabel('纬度') % 子图2: FNL再分析数据 subplot(2,2,2) contourf(FNL_LON, FNL_LAT, fnl_z, 20, 'LineColor', 'none') colorbar title('FNL再分析数据 (500hPa位势高度)') xlabel('经度') ylabel('纬度') % 子图3: 插值后的WRF数据 subplot(2,2,3) contourf(FNL_LON, FNL_LAT, wrf_z_interp, 20, 'LineColor', 'none') colorbar title('插值后的WRF数据 (FNL网格)') xlabel('经度') ylabel('纬度') % 子图4: 差异图 subplot(2,2,4) contourf(FNL_LON, FNL_LAT, diff, 20, 'LineColor', 'none') colorbar title('WRF - FNL 差异') xlabel('经度') ylabel('纬度') % 添加统计信息 annotation('textbox', [0.15, 0.05, 0.3, 0.1], 'String', ... sprintf('平均偏差: %.2f m\n均方根误差: %.2f m\n相关系数: %.4f', ... mean_bias, rmse, correlation), ... 'FitBoxToText', 'on', 'BackgroundColor', 'white'); % 保存图像 saveas(gcf, 'wrf_fnl_comparison.png'); ``` ## 代码解释 ### 1. WRF数据读取 - 使用MATLAB内置的`ncinfo`和`ncread`函数读取NetCDF格式的WRF输出 - 自动检测位势高度变量(`geopotential`或`PH+PHB`) - 提取经纬度网格(考虑WRF的曲面网格特性) ### 2. FNL数据读取 - 使用`nctoolbox`工具箱读取GRIB2文件(需要提前安装) - 自动检测500hPa位势高度变量(不同数据源可能名称不同) - 处理时间维度(取第一个时次) ### 3. 数据插值 - 使用`scatteredInterpolant`处理非结构化的WRF网格 - 将WRF的二维网格展平为一维点集进行插值 - 线性插值方法,外推点设为NaN ### 4. 验证指标计算 - 计算三个核心指标: - 平均偏差(Mean Bias) - 均方根误差(RMSE) - 相关系数(Correlation Coefficient) - 处理NaN值,确保计算基于有效数据点 ### 5. 可视化 - 四合一对比图: - WRF原始数据 - FNL再分析数据 - 插值后的WRF数据(在FNL网格上) - WRF与FNL差异图 - 在图像底部添加统计指标文本框 - 自动保存高质量PNG图像 ## 依赖项说明 1. **MATLAB必需工具箱**: - Mapping Toolbox(可选,用于高级地理绘图) - Statistics and Machine Learning Toolbox(用于`corrcoef`函数) 2. **第三方工具**: - NCTOOLBOX:用于读取GRIB文件 - 安装方法: ```matlab gitclone('https://github.com/nctoolbox/nctoolbox'); cd nctoolbox; setup_nctoolbox; ``` 3. **替代方案(如果不想用NCTOOLBOX)**: - 使用wgrib2命令行工具将GRIB转换为NetCDF,然后用MATLAB读取: ```matlab system('wgrib2 fnl.grib2 -netcdf fnl.nc'); fnl_z = ncread('fnl.nc', 'z'); ``` ## 常见问题解决方案 1. **内存不足**: - 使用单精度读取数据:`ncread(..., 'precision', 'single')` - 分块处理大型文件 2. **时间维度处理**: - 在WRF读取时指定时间索引:`wrf_z = squeeze(wrf_z(:,:,1,time_idx))` - 在FNL数据中匹配时间:`fnl_z = squeeze(fnl_z(time_idx,:,:))` 3. **投影转换**: - 如果WRF使用非经纬度投影(如Lambert投影),需先转换为经纬度坐标: ```matlab % 假设变量XLAT_M和XLONG_M包含中心点坐标 wrf_lat = ncread(wrf_file, 'XLAT_M'); wrf_lon = ncread(wrf_file, 'XLONG_M'); ``` §§相关问题§§: 1. 如何在MATLAB中处理WRF输出的不同投影? 2. 对于降水验证,应该使用哪些统计指标? 3. 如何自动化批量处理多个WRF和FNL文件? 4. 在没有Mapping Toolbox的情况下,如何绘制地理坐标数据?</think># MATLAB中的WRF模型有效性验证方案 MATLAB是一个强大的工具,完全可以用于WRF模型输出与FNL再分析数据的有效性验证。下面我将提供一个完整的MATLAB解决方案,包括数据读取、插值、指标计算和可视化。 ## 完整MATLAB代码 ```matlab % WRF模型输出与FNL再分析数据有效性验证 % 验证变量:500hPa位势高度 %% 步骤1: 读取WRF输出文件 wrf_file = 'C:\path\to\your\wrfout_d01_2020-06-01_00:00:00'; % 使用ncinfo和ncread读取NetCDF文件 wrf_info = ncinfo(wrf_file); % 尝试读取位势高度变量 if ismember('geopotential', {wrf_info.Variables.Name}) wrf_z = ncread(wrf_file, 'geopotential'); elseif ismember('PH', {wrf_info.Variables.Name}) && ismember('PHB', {wrf_info.Variables.Name}) wrf_ph = ncread(wrf_file, 'PH'); wrf_phb = ncread(wrf_file, 'PHB'); wrf_z = wrf_ph + wrf_phb; else error('未找到位势高度变量'); end % 转换为位势米 wrf_z = wrf_z / 9.8; % 读取经纬度 if ismember('XLAT', {wrf_info.Variables.Name}) && ismember('XLONG', {wrf_info.Variables.Name}) wrf_lat = ncread(wrf_file, 'XLAT'); wrf_lon = ncread(wrf_file, 'XLONG'); % 取第一个时次和第一个垂直层 wrf_lat = squeeze(wrf_lat(:,:,1)); wrf_lon = squeeze(wrf_lon(:,:,1)); elseif ismember('lat', {wrf_info.Variables.Name}) && ismember('lon', {wrf_info.Variables.Name}) wrf_lat = ncread(wrf_file, 'lat'); wrf_lon = ncread(wrf_file, 'lon'); else error('未找到经纬度变量'); end % 取第一个时次和第一个垂直层(假设数据维度为[经度, 纬度, 垂直层, 时间]) wrf_z = squeeze(wrf_z(:,:,1,1)); %% 步骤2: 读取FNL再分析数据(GRIB格式) % 需要安装NCTOOLBOX或使用MATLAB的映射工具箱 % 这里使用nctoolbox读取GRIB文件(先安装:https://github.com/nctoolbox/nctoolbox) fnl_file = 'C:\path\to\your\fnl_20200601_00_00.grib2'; % 初始化nctoolbox setup_nctoolbox(); % 打开GRIB文件 ds = ncgeodataset(fnl_file); % 查看变量列表 variables = ds.variables; % 选择500hPa位势高度 if ismember('Geopotential_height_isobaric', {variables}) var_name = 'Geopotential_height_isobaric'; elseif ismember('HGT_500mb', {variables}) var_name = 'HGT_500mb'; else error('未找到位势高度变量'); end % 读取数据 fnl_z = ds.data(var_name); % 单位:米,无需转换 fnl_time = ds.data('time'); fnl_lat = ds.data('lat'); fnl_lon = ds.data('lon'); % 注意:FNL数据可能是三维的(时间, 纬度, 经度),取第一个时次 if ndims(fnl_z) == 3 fnl_z = squeeze(fnl_z(1,:,:)); end %% 步骤3: 将WRF数据插值到FNL网格 % 创建FNL网格 [FNL_LON, FNL_LAT] = meshgrid(fnl_lon, fnl_lat); % 使用scatteredInterpolant进行插值(由于WRF网格可能不规则) % 注意:WRF网格是二维的,但需要展平为一维点集 wrf_lon_flat = wrf_lon(:); wrf_lat_flat = wrf_lat(:); wrf_z_flat = wrf_z(:); % 移除NaN值 valid_idx = ~isnan(wrf_z_flat); wrf_lon_flat = wrf_lon_flat(valid_idx); wrf_lat_flat = wrf_lat_flat(valid_idx); wrf_z_flat = wrf_z_flat(valid_idx); % 创建插值函数 F = scatteredInterpolant(wrf_lon_flat, wrf_lat_flat, wrf_z_flat, 'linear', 'none'); % 执行插值 wrf_z_interp = F(FNL_LON, FNL_LAT); %% 步骤4: 计算验证指标 % 确保两个数组大小相同 assert(all(size(wrf_z_interp) == size(fnl_z)), '网格大小不匹配'); % 计算差异 diff = wrf_z_interp - fnl_z; % 移除NaN值 valid_mask = ~isnan(diff); diff_valid = diff(valid_mask); wrf_valid = wrf_z_interp(valid_mask); fnl_valid = fnl_z(valid_mask); % 计算指标 mean_bias = mean(diff_valid); rmse = sqrt(mean(diff_valid.^2)); correlation = corrcoef(wrf_valid, fnl_valid); correlation = correlation(1,2); % 显示结果 fprintf('验证结果 (500hPa位势高度):\n'); fprintf('平均偏差: %.2f m\n', mean_bias); fprintf('均方根误差: %.2f m\n', rmse); fprintf('相关系数: %.4f\n', correlation); %% 步骤5: 可视化 figure('Position', [100, 100, 1200, 800]) % 子图1: WRF原始数据 subplot(2,2,1) contourf(wrf_lon, wrf_lat, wrf_z, 20, 'LineColor', 'none') colorbar title('WRF模拟结果 (500hPa位势高度)') xlabel('经度') ylabel('纬度') % 子图2: FNL再分析数据 subplot(2,2,2) contourf(FNL_LON, FNL_LAT, fnl_z, 20, 'LineColor', 'none') colorbar title('FNL再分析数据 (500hPa位势高度)') xlabel('经度') ylabel('纬度') % 子图3: 插值后的WRF数据 subplot(2,2,3) contourf(FNL_LON, FNL_LAT, wrf_z_interp, 20, 'LineColor', 'none') colorbar title('插值后的WRF数据 (FNL网格)') xlabel('经度') ylabel('纬度') % 子图4: 差异图 subplot(2,2,4) contourf(FNL_LON, FNL_LAT, diff, 20, 'LineColor', 'none') colorbar title('WRF - FNL 差异') xlabel('经度') ylabel('纬度') % 添加统计信息 annotation('textbox', [0.15, 0.05, 0.3, 0.1], 'String', ... sprintf('平均偏差: %.2f m\n均方根误差: %.2f m\n相关系数: %.4f', ... mean_bias, rmse, correlation), ... 'FitBoxToText', 'on', 'BackgroundColor', 'white'); % 保存图像 saveas(gcf, 'wrf_fnl_comparison.png'); ``` ## 代码解释 ### 1. WRF数据读取 - 使用MATLAB内置的`ncinfo`和`ncread`函数读取NetCDF格式的WRF输出 - 自动检测位势高度变量(`geopotential`或`PH+PHB`) - 提取经纬度网格(考虑WRF的曲面网格特性) ### 2. FNL数据读取 - 使用`nctoolbox`工具箱读取GRIB2文件(需要提前安装) - 自动检测500hPa位势高度变量(不同数据源可能名称不同) - 处理时间维度(取第一个时次) ### 3. 数据插值 - 使用`scatteredInterpolant`处理非结构化的WRF网格 - 将WRF的二维网格展平为一维点集进行插值 - 线性插值方法,外推点设为NaN ### 4. 验证指标计算 - 计算三个核心指标: - 平均偏差(Mean Bias) - 均方根误差(RMSE) - 相关系数(Correlation Coefficient) - 处理NaN值,确保计算基于有效数据点 ### 5. 可视化 - 四合一对比图: - WRF原始数据 - FNL再分析数据 - 插值后的WRF数据(在FNL网格上) - WRF与FNL差异图 - 在图像底部添加统计指标文本框 - 自动保存高质量PNG图像 ## 替代方案:不使用第三方工具箱 如果不希望安装`nctoolbox`,可以使用MATLAB的映射工具箱或wgrib2命令行工具: ### 使用映射工具箱读取GRIB文件 ```matlab % 使用映射工具箱读取GRIB文件 if ~isempty(which('gribread')) % 读取GRIB文件 grib_struct = gribread(fnl_file); % 查找500hPa位势高度字段 is_500hPa = false; for i = 1:length(grib_struct) if isfield(grib_struct(i), 'parameterCategory') && ... isfield(grib_struct(i), 'parameterNumber') && ... grib_struct(i).parameterCategory == 3 && ... grib_struct(i).parameterNumber == 5 is_500hPa = true; break; end end if is_500hPa fnl_z = grib_struct(i).values; fnl_lat = grib_struct(i).latitudes; fnl_lon = grib_struct(i).longitudes; else error('未找到500hPa位势高度数据'); end else error('未找到gribread函数,请安装Mapping Toolbox'); end ``` ### 使用wgrib2命令行工具 ```matlab % 使用wgrib2将GRIB转换为NetCDF [status, cmdout] = system('wgrib2 --version'); if status == 0 % 转换GRIB到NetCDF system('wgrib2 fnl.grib2 -netcdf fnl.nc'); % 读取NetCDF文件 fnl_info = ncinfo('fnl.nc'); fnl_z = ncread('fnl.nc', 'z'); fnl_lat = ncread('fnl.nc', 'latitude'); fnl_lon = ncread('fnl.nc', 'longitude'); else error('wgrib2未安装或不在系统路径中'); end ``` ## MATLAB的优势 1. **内置科学计算功能**: - 强大的矩阵运算能力 - 丰富的统计分析函数 - 多种插值算法支持 2. **专业可视化**: - 高质量2D/3D绘图 - 地理空间数据可视化 - 交互式图形界面 3. **工具集成**: - 并行计算工具箱(加速大数据处理) - 机器学习工具箱(高级验证方法) - 优化工具箱(参数调优) 4. **自动化与批处理**: - 脚本化处理流程 - 定时任务调度 - 报告自动生成 ## 使用建议 1. **数据预处理**: ```matlab % 处理缺失值 wrf_z(wrf_z < -1000) = NaN; fnl_z(fnl_z < -1000) = NaN; % 平滑处理 wrf_z_smoothed = imgaussfilt(wrf_z, 1); ``` 2. **高级验证指标**: ```matlab % 空间相关性 spatial_corr = corr2(wrf_z_interp, fnl_z); % 分数技巧得分 clim = mean(fnl_z(:)); % 气候平均值 mse_ref = mean((fnl_z(:) - clim).^2); fss = 1 - (rmse^2 / mse_ref); ``` 3. **时间序列验证**: ```matlab % 对多个时间步进行循环验证 time_steps = 1:size(wrf_z, 4); metrics = struct('bias', [], 'rmse', [], 'corr', []); for t = time_steps % 读取当前时间步的数据 current_wrf = squeeze(wrf_z(:,:,1,t)); % ... 执行插值和计算 ... metrics.bias(t) = mean_bias; metrics.rmse(t) = rmse; metrics.corr(t) = correlation; end % 绘制时间序列 figure; plot(time_steps, [metrics.bias; metrics.rmse]); legend('平均偏差', '均方根误差'); xlabel('时间步'); ylabel('值'); title('时间序列验证'); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值