?? fill_att.m
字號:
function str = fill_att(cdfid, varid, nvatts)% FILL_ATT fills a row of an array with an attribute of a variable%--------------------------------------------------------------------% Copyright (C) J. V. Mansbridge, CSIRO, january 23 1992% Revision $Revision: 1.3 $% CHANGE 1.2 92/03/10% function str = fill_att(cdfid, varid, nvatts)%% DESCRIPTION:% This function fills the ith row of an array named 'str', with the% the name of the ith attribute of the variable having id number% varid in the netcdf file with id number cdfid. nvatts is the% number of attributes. Each attribute 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.% varid: the id number of the variable under consideration.% nvatts: the number of attributes of the variable under consideration.%% OUTPUT:% str: the array that receives each attribute name as one of its rows.%% EXAMPLE:%%% CALLER: getcdf.m, getcdf_b.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_att.m,v $% @(#)fill_att.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 stored and become the number of columns% when the operation is done correctly.str = [];max_le = 25;new_max = 25;for i = 0:nvatts-1 [attnam, rcode] = ncmex('ncattname', cdfid, varid, i); if rcode == -1 error(['** ERROR ** ncattname: rcode = ' num2str(rcode)]) end le = length(attnam); if le > max_le | new_max > max_le new_max = max ([ le new_max ]); else str_tmp = [ attnam ]; 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 = 0:nvatts-1 [attnam, rcode] = ncmex('ncattname', cdfid, varid, i); if rcode == -1 error(['** ERROR ** nc:attname rcode = ' num2str(rcode)]) end le = length(attnam); str_tmp = [ attnam ]; 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 + -