📄 fill_var.m
字号:
function str = fill_var(cdfid, nvars)% FILL_VAR fills a row of an array with the name of a variable%--------------------------------------------------------------------% Copyright (C) J. V. Mansbridge, CSIRO, january 24 1992% Revision $Revision: 1.3 $% CHANGE 1.2 92/03/10% function str = fill_var(cdfid, nvars)%% DESCRIPTION:% This function fills the ith row of an array named 'str', with the% the name of the ith variable in the netcdf file with id number% cdfid. nvars is the number of variables. Each name is initially% allowed up to 25 letters but the number of columns in 'str' will% be expanded if necessary.% % INPUT:% cdfid: the id number of the netCDF file under consideration.% ndims: the number of variables of the netCDF file under consideration.%% OUTPUT:% str: the array that receives each variable name as one of its rows.%% EXAMPLE:%%% CALLER: getcdf.m% CALLEE: ncmex.mex%% AUTHOR: J. V. Mansbridge, CSIRO%---------------------------------------------------------------------% Copyright (C), J.V. Mansbridge, % Commonwealth Scientific and Industrial Research Organisation% Revision $Revision: 1.3 $% Author $Author: mansbrid $% Date $Date: 2000/05/01 07:22:17 $% RCSfile $RCSfile: fill_var.m,v $% @(#)fill_var.m 1.2 92/03/10% %--------------------------------------------------------------------% First try to fill each row of str with the relevant name. If any% name has more than max_le characters then the number of characters% in the longest name will be stores and become the number of columns% when the operation is done correctly.str = [];max_le = 25;new_max = 25;for i = 0:nvars - 1 [varnam, vartyp, nvdims, vdims, nvatts, rcode] = ... ncmex('ncvarinq', cdfid, i); if rcode == -1 error(['** ERROR ** ncvarinq: rcode = ' num2str(rcode)]) end le = length(varnam); if le > max_le | new_max > max_le new_max = max ([ le new_max ]); else str_tmp = [ varnam ]; while le < max_le str_tmp = [ str_tmp ' ' ]; le = le + 1; end str = [ str ; str_tmp ]; endend% If any name is more than max_le characters long then store the names% correctly in str now that we know the length of the longest name.if new_max > max_le str = []; max_le = new_max; for i = 1:nvars [varnam, vartyp, nvdims, vdims, nvatts, rcode] = ... ncmex('ncvarinq', cdfid, i); if rcode == -1 error(['** ERROR ** ncvarinq: rcode = ' num2str(rcode)]) end le = length(varnam); str_tmp = [ varnam ]; while le < max_le str_tmp = [ str_tmp ' ' ]; le = le + 1; end str = [ str ; str_tmp ]; endend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -