Ignore:
Timestamp:
04/20/10 14:56:38 (15 years ago)
Author:
jschierm
Message:

QMU with Dakota: updated all Dakota variable/response class definitions to allow construction of multiple simultaneous instances.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/m/classes/normal_uncertain.m

    r3095 r3577  
    6666
    6767                otherwise
    68                     nuv.descriptor=varargin{1};
    69                     nuv.mean      =varargin{2};
    70                     nuv.stddev    =varargin{3};
     68                    asizec=num2cell(array_size(varargin{1:min(nargin,5)}));
     69                    nuv(asizec{:})=normal_uncertain;
     70                    clear asizec
     71                   
     72                    if ischar(varargin{1})
     73                        varargin{1}=cellstr(varargin{1});
     74                    end
     75                    for i=1:numel(nuv)
     76                        if (numel(varargin{1}) > 1)
     77                            nuv(i).descriptor=varargin{1}{i};
     78                        else
     79                            nuv(i).descriptor=[char(varargin{1}) string_dim(nuv,i)];
     80                        end
     81                        if (numel(varargin{2}) > 1)
     82                            nuv(i).mean      =varargin{2}(i);
     83                        else
     84                            nuv(i).mean      =varargin{2};
     85                        end
     86                        if (numel(varargin{3}) > 1)
     87                            nuv(i).stddev    =varargin{3}(i);
     88                        else
     89                            nuv(i).stddev    =varargin{3};
     90                        end
     91                    end
    7192
    7293                    if (nargin >= 4)
    73                         nuv.lower     =varargin{4};
     94                        for i=1:numel(nuv)
     95                            if (numel(varargin{4}) > 1)
     96                                nuv(i).lower     =varargin{4}(i);
     97                            else
     98                                nuv(i).lower     =varargin{4};
     99                            end
     100                        end
    74101                        if (nargin >= 5)
    75                             nuv.upper     =varargin{5};
     102                            for i=1:numel(nuv)
     103                                if (numel(varargin{5}) > 1)
     104                                    nuv(i).upper     =varargin{5}(i);
     105                                else
     106                                    nuv(i).upper     =varargin{5};
     107                                end
     108                            end
    76109                            if (nargin > 5)
    77110                                warning('normal_uncertain:extra_arg',...
Note: See TracChangeset for help on using the changeset viewer.