?? naemodel copy.m
字號:
function A = naemodel(classname,var,param,solverset)% naemodel.m A nonlinear algebraic equation model (naemodel) object% constructor method. Called as%% A = naemodel(classname,var,param,solverset)%% INPUT PARAMETERS% classname : a string of module class name% var : a MATLAB assocarray object for the variables% param : a MATLAB assocarray object for the parameters% solverset : a MATLAB assocarray with the following keys% nmax : max Newton iterations (default = 10)% lsmax : max line search iterations (default = 10)% jup : iterations performed before jacobian is% updated (default = 1)% nkvec : number of Krylov vectors to be used% in newtonkrylov.m (default = 10)% vmin : lower bound on variable values after update% (default = [])% vmax : upper bound on variable values after update% (default = [])% plot : if set to 1, plots solutions at each iteration% (default = 0)%% OBJECTS RETURNED% A : an naemodel object with data fields% A.var : variable names and values% A.param : parameter names and values% A.id : double value% A.solverset : parameters for the various solvers% A.resid : residual value cell array% A.residflag : 1 if the current residual is valid% 0 if any state or parameter was reset% Copyright (c) by Raymond A. Adomaitis, 1998-2005if nargin < 3 param = assocarray; endif nargin < 2 var = assocarray; end if nargin < 1 error('wrong input') endif ~isa(var,'assocarray') error('var must be an associative array (assocarray)') endif ~isa(param,'assocarray') error('param must be an associative array (assocarray)') endif ~isa(classname,'char') error('classname must be a char/string')end % RAA 5/12/04% vmin = var;% vmax = vmin;% vkey = keys(vmin);% if ~( length(vkey) == 1 & isempty(vkey{1}) )% for i = 1:length(vkey)% vmin = setval(vmin,-1e99+0*getval(vmin,vkey{i}),vkey{i});% vmax = setval(vmax, 1e99+0*getval(vmax,vkey{i}),vkey{i});% end% endif nargin < 4 vmin = []; vmax = []; solverset = assocarray({'nmax',10,'lsmax',10,'jup',1,'nkvec',10,'plot',0,... 'vmin',vmin,'vmax',vmax}); endif ~isa(solverset,'assocarray') error('solverset must be an associative array (assocarray)') endsolverset = setval(solverset,vmin,'vmin');solverset = setval(solverset,vmax,'vmax');B = solver(classname,var,param,solverset);A = class(struct([]),'naemodel',B);
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -