home *** CD-ROM | disk | FTP | other *** search
- % function [data,rowpoint,indv,err] = vunpck(mat)
- %
- % Unpacks a VARYING matrix. The values of MAT are
- % placed in the variable DATA, stacked one on top of
- % another. The value of ROWPOINT(i) points to the
- % row of DATA which corresponds to the first row of
- % the i'th value of MAT. INDV is a column vector with
- % the INDEPENDENT VARIABLE values. ERR normally is 0,
- % but equals 1 if mat is a SYSTEM matrix.
- %
- % See also: GETIV, MINFO, PCK, UNPCK, VPCK, XTRACT and XTRACTI.
-
- function [data,rowpoint,indv,err] = vunpck(mat)
-
- if nargin ~= 1
- disp('usage: [data,rowpoint,indv,err] = vunpck(mat)')
- return
- end
-
- err = 0;
- [type,rows,cols,num] = minfo(mat);
- if type == 'vary'
- indv = mat(1:num,cols+1);
- rowpoint = rows*(0:num-1) + 1;
- colpoint = cols;
- data = mat(1:num*rows,1:cols);
- elseif type == 'cons'
- data = mat;
- rowpoint = rows;
- indv = [];
- else
- data = [];
- rowpoint = [];
- indv = [];
- err = 1;
- end
-
- %
- % Copyright MUSYN INC 1991, All Rights Reserved
-