⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 savebnm.m

📁 交互小波分析及其一致性分析
💻 M
字号:
function varargout=savebnm(fname,varargin);
% a compact binary format for saving a matrix. (using float)
%
%
% savebnm(fname,M1[,M2,M3,...]);
%
% Can save multidimensional matrices containing: Nans,Imaginary numbers and Inf
%
% see loadbnm
%
% Aslak Grinsted 2004 april
%


% -------------------------------------------------------------------------
%   Copyright (C) 2002-2004, Aslak Grinsted
%   This software may be used, copied, or redistributed as long as it is not
%   sold and this copyright notice is reproduced on each copy made.  This
%   routine is provided as is without any express or implied warranties
%   whatsoever.

% TODO: save inputnames also


if (length(strfind(fname,'.'))==0)
    fname=[fname '.bnm'];
end

for ii=1:length(varargin) %validate arguments
    if ~isnumeric(varargin{ii})
        error('BNM format only supports numeric data!');
    end
end

[fid,message]=fopen(fname,'w','ieee-le');
if (fid<0)
    message=strrep(message,'Sorry. No help in figuring out the problem . . .','');
    error(['Could not open the specified file for writing. ' message ' file=' fname])
end

fwrite(fid,'BNM Matrix File');
version=2;

fwrite(fid,[version length(varargin)],'int16');

for ii=1:length(varargin)
    %[ii ftell(fid)]
    %M=varargin{ii};
    sz=size(varargin{ii});
    fwrite(fid,[length(sz) isreal(varargin{ii})],'int16');
    fwrite(fid,sz,'uint32');
    fwrite(fid,varargin{ii},'float'); 
    if ~isreal(varargin{ii})
        fwrite(fid,imag(varargin{ii}),'float'); 
    end
end
fclose(fid);



function savestring(fid,s);
if ~ischar(s)|(size(s,1)~=1)
    error('not a string')
end
fwrite(fid,length(s),'uint32');
fwrite(fid,s);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -